I’m sorry, this is not a specific question. As I’m new to Jsprit I need some conceptional help on how to start solving a problem.
My example:
I started with only have one vehicle with start and end position. There are several pickup positions with priorities and only one depot position for delivery. The vehicle should drive 1 day, then 2 days break than another day with given begin/end- time for each day. The start/end- Positions are defined per day (1 and 4). The vehicle can return to its end position on the 1st day including a load, but on the 4th day the last position should be the depot to unload (and return empty).
I want to pickup as many items as possible based on the priority and the vehicles 2d load constraint, if there are too much pickups they will be ignored. The vehicle can return to the depot for unloads several times per day. I also thought of altering the pickup priorities before starting on day 4.
- Any ideas?
- Is there a benefit/difference between defining pickups and deliveries separately instead of using shipments?
- I thought of defining 2 vehicles instead of defining a break, but I do not want to unload on the first day. I read this can be done using 2 drivers, looking at the API and the drivers settings I do not know how. https://discuss.graphhopper.com/t/3-questions-endlocation-and-multiple-vehicles/414/8 The Driver class has a home property but this is a string, breaks can only be defined on a vehicle.
- Should I run the solver twice and remove pickups already in my first route before running it for the 4th day? + merge the results afterwards?
- How to implement a constraint to only onload if the load accedes 85%?
- How to implement a constraint that the last position on the 4th day should be the depot before returning to the end- position (even <85% if all pickups are done)?