Concrete VRP
Hi everyone,
I am working on a logistics optimization problem and would like some input on the best modeling approach.
Problem Overview:
The goal is to schedule concrete deliveries involving four main entities: Central Hubs, Mixer Trucks, Pumps, and Clients.
The Workflow:
Loading: A Mixer loads at a Central Hub (central has its settings , for example can make 1 m3/s).
Outbound: The Mixer travels to the Client site.
Synchronization: At the Client site, the Mixer must "dock" with a Pump. Unloading cannot begin until both the Mixer and the Pump are present.
Unloading: The Mixer unloads into the Pump (Client site capacity = 1 Mixer at a time).
Return: The Mixer returns to the Central Hub for the next load/visit.
Key Constraints:
Mixer Serialization: A single Mixer cannot overlap its own activities (Load -> Travel -> Unload -> Return). It must return to Central before its next load.
Central/Client Bottlenecks: Only one Mixer can load at a Central bay at a time, and only one Mixer can unload at a Client dock at a time (No overlap).
Pump Commitment (Hierarchical): This is the most complex part. A Pump is assigned to a Client for a sequence of Visits (V1, V2, ... Vn). The Pump cannot "break" its commitment to Client A to serve Client B until all requested visits for Client A are completed.
what is best implementation for this ?
who should be planningVaribale and who should be ShadowVariable ?
how to avoid overlap at Central and at Client ?
how to avoid overlap of two Clients has same Pump ?
Posted Apr 22, 2026, 2:53 PM UTC