Using OptaPlanner for a large scale optimization - VRPPD with destination time windows

2.3k Views Asked by At

I am new to transportation optimization and OptaPlanner, but I need to tackle a problem where approximately 1,400 vehicles need to pick up from 9000 locations and deliver to 500 destinations at certain times. My goal is to develop a transportation plan that utilizes a vehicle to pick up for multiple destinations and to use multiple vehicles for destinations. The Bicycle messenger/ TSPPD with OptaPlanner question appears to suggest the structure that may accommodate my needs.

I'm new to java, but not new to programming - I've programmed in C, C++ and SQL in the past. I've also looked at jsprit and I'm looking for the best path. Drools is appealing because it appears to provide a cohesive way to organize the ever changing constraints. I’ve started on a time/distance matrix – and that should be ready soon.

Any comments, thoughts or suggestions are greatly appreciated! I just want to get started in a good direction, if there is one.

2

There are 2 best solutions below

0
On

Could you find a solution with OptaPlanner already? I assume you did, thus if you are still interested in comparing your results ("I am looking for the best path") then this might be interesting. If not, you are probably better off sticking with the mature software OptaPlanner.

Otherwise, look at jsprit again. I developed it further. It can now deal with Pickups and Deliveries and Multiple Depots/Vehicle start locations. However, your problem is quite large given the nature of the underlying VRP. I would recommend you to sample your problem first, i.e. make your experiments with a 1 or 10 percent sample and find the best algorithm configuration. Probably, then you can adjust your constraints to make your problem easier to handle and better scale with problem size.

You mentioned the Bicycle messenger example as a good point to start from. I implemented it. So have look at this and start from there. If you have questions, do not hesitate to contact me. And please let me know your comparison.

0
On

You can use the Clark&Wright saving algorithm but it's not an exact solver.