Multi-object Optimize Vehicle rescheduling problem

There have some yards in a field. Every vehicle starts from a yard to complete some freight task, if each task has a small amount (less than the vehicle capacity), in order to improve the utilization of the vehicle, a vehicle can be arranged to several tasks. The Multi-object Optimize Vehicle Rescheduling Problem (MOVRP) is how to schedule the vehicle route to satisfy the needs of each task and the total shortest distance.

Let yard is D, every vehicle capacity is q, and have n freight tasks, the freight volume of task i is gi <q (i = 1, ..., n), and the time needed to complete ( loading or unloading) is Ti, the task i is needed to complete in a certain time range [ai, bi], where ai is the task i was allowed the earliest start time, bi is the task i was allowed the latest start time, dij is the distance between task i and task j.

Please solve this problem using any two optimization algorithm(GA, PSO,ACO,ANN, etc.)Submit report and source code.