I'm modeling a VRP (pickup&delivery) in which nodes can be visited by multiple vehicles.
Multiple vehicles can also be used to fulfill one customer order.
e.g. a customer order contains 40 palettes. In case we've got a number of vehicles with a maximum load of 30 palettes,
at least 2 vehicles will have to be used to fulfill the order.
I've got a dvar "z" which decides how many items (palettes) of a certain customer order will be handled by a truck.
dvar int z[Orders][Camions];
cumulFunction load[k in Camions] = step(0,0)- sum (d in Deliveries) stepAtStart(visit[k][d.destination], z[d][k])+ sum (d in Deliveries) stepAtEnd(visit[k][d.from], z[d][k]);
Now I'd like to have a function that describes the load of a vehicle over time. At first I thought it would be possible to do this with a cumulFunction, but the stepAtStart/stepAtEnd functions don't accept a dvar as second argument. How should I go about this?
I'd be most thankful if you could help me out.