Pickup delivery with the constraint of number of staff

Hello

I want to modelize a problem of Pickup/Delivery of children for instance, with staff member needed to take care of the child.
Let’s say with the rule :
if vehicle has 2 agents affected, capacity is 1 child
if vehicle has 3 agents affected , capacity is 2 children
if vehicle has 4 agents affected , capacity is 3 children

The vehicles have also ‘normal’ capacity (the number of children who can go inside)
For instance with 3 type of vehicles : vehicle capacity 1 , vehicle capacity 2, vehicle capacity 3.

The game is to affect agents to vehicles in order to have the maximum of childrens transported.
The agents are distributed among vehicles (with the constraint : sum(vehicle_agents) <= nb_agents)

If I have 6 agents.
I can take 3 vehicles use for a transportation of 1 child. 3 * 2 agents.
For instance (I give just one combination with the vehicle vehicle type 2 use only to transport 1 child)
Vehicle 1 - capacity type vehicle 3 - 2 agent = Vehicle 1 - real capacity 1 = P->D, P->D…
Vehicle 2 - capacity type vehicle 2 - 2 agent = Vehicle 2 - real capacity 1 = P->D, P->D…
Vehicle 3 - capacity type vehicle 1 - 2 agent = Vehicle 3 - real capacity 1 = P->D, P->D…
Or
I can take 1 vehicles use for a transportation of 3 childs (4 agents). And 1 vehicle for the transpotation of 1 child (2 agents)
For instance
Vehicle 1 - capacity type vehicle 3 - 4 agent = Vehicle 1 - real capacity 3 = P->D, P->P->P-> D->D->D …
Vehicle 2 - capacity type vehicle 2 - 2 agent = Vehicle 2 - real capacity 1 = P->D, P->P-> D->D…

   Plus all the combinations of agents dispatched along vehicles types, giving 5 agents used,
   Etc......

At the end I want to select the combination where the maximum of pickup/delivery are done

Any suggestions or help would be greatly appreciated
Thanks by advance
Stéphane

Powered by Discourse