Hello,
I want to use or-tools to solve a service vehicle routing problem. I've reviewed the documentation and examples and it looks like it can handle most of the constraints we have however our problem includes a few additional constraints including:
1) multiple time windows (up to 3) for each customer location
2) certain vehicles have certain characteristics that are required by certain service orders, and
3) vehicles can "replenish" their capacity (i.e., unload) during the day at various sites (not always the depot) and then service more orders
Can or-tools handle these types of constraints (e.g., using Dimensions or some other mechanism)? If so, can you provide a brief, general description of how to handle each one?
Also, we want the solver to determine the best selection of approximately 120 orders from several hundred (or a few thousand) candidates to meet our objectives. What might the solution time be for a problem of this size on a "fairly powerful" machine? Can it be solved in < 30 sec? What size machine might be required? Note: for the last question I understand the problem characteristics (e.g., number and width of time windows, etc) and computation power impact the solution time but I'm just trying to get an order of magnitude answer.
Thanks in advance for your help with these questions.
Doug
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Here is a more detailed problem statement for those who are interested
Briefly, we are trying to solve a service vehicle routing and scheduling problem with the following constraints:
Service Vehicle characteristics / constraints:
Multiple vehicles being dispatched from several depots (we can solve each depot separately if necessary), return to depot each evening, single shift
Different Vehicle Types (some services require specific vehicle types)
Different capacity for each vehicle, different route start time, driving and duty times, etc
"Specialties" such as certain types of product, small size to fit in tight spaces, clean vs dirty, etc
Ability to "replenish" their capacity (i.e., unload) during the day at various sites (not always the depot) and then service more orders (<= very important!)
Service Order characteristics / constraints:
Priority: some orders must be serviced on the route date
Required Vehicle Type
Different service types, service times and volumes for each order (there are about 6 service types, some vehicles are constrained to perform only certain services)
Multiple time windows (up to 3) for each order (<= very important!)
Some services can't be mixed together on the same vehicle (i.e., can be matched to vehicle specialties)
Some orders may require more than one vehicle resource (i.e., 2 or more vehicles must meet at the customer site simultaneously to perform the service) (<= can relax this and satisfy after optimization)
Objective:
Minimize costs while also maximizing loaded miles and ensure priority orders are serviced
Problem Size:
Could be as many as 10 vehicles and about 3000 candidate orders of which only about 100 can be served on any given day
Other:
We have the OD matrix for travel time / distance
Also eventually we would like to run the model for demands covering several days or weeks and have it build the globally optimal routes over all days but this not a hard requirement in the beginning