I have to solve a vehicle routing problem for production level application .
Problem Statement :-
Vehicle has :-
- Type
- Capacity
- Fleet Time
- cost = fixed cost + variable cost
- Variable cost is added if we are using vehicle after Fleet Time.
Pickup Point :-
- Load to be picked . We have to pick all the load
- Time Slot in which we can pickup.
- Time Spent to pick the load.
Destination Point :-
- Vehicle must reach in that Time Slot only .
- Time Spent to unload.
Vehicle can come back to starting point again or go to destination point directly .
Destination Point will be at distance from Pickup points . So multiple small Vehicles can meet at single point(Can be starting point or We will define define the point always) and then feed its shipments to Larger vehicle .
Larger vehicle can directly go to destination point .
We can also run Larger vehicle in first place only . It will pickup the load from all the points . Then go to destination point .
It would be good if i am getting the no. of vehicles also as part of routing output .
I am new to this area . Can jsprit or optaplanner provide solution for this ?