This is an algorithm that seeks to get the optimum solutions for the VRPTW.
In this state, it just builds a constructive solution with Solomon Insertion I1 heuristic (1987).
I'm currently working on the MDVRPTW, but to solve MDVRPTW I need to solve the VRPTW too! I plan to come back for this algorithm after I finish my research on the MDVRPTW. See ya! =)
Table of Contents
The Vehicle Routing Problem is a known hard-to-solve combinatorial problem (NP-hard). In this project, we seek to solve the Vehicle Routing Problem with Time Windows (VRPTW).
First, you need a VRPTW problem instance, which you can get on VRP Libraries. We will list some libraries in which you can get them. We have the "instances" folder Solomon VRPTW instances with 25 clients that can be used as an example, but You can get instances with any amount of clients.
You can also make your instance, but it needs to follow Solomon's standards.
Python 3.6 or higher is required.
- Get the dependencies
python -m pip install -r requirements.txt
- Run the project
python main.py <FLAGS>
Here we describe the algorithm parameters.
main.py:
(obrigatory)
--instance: path to the VRPTW instance.
--N: number of clients
(optional)
--[no]toy: run with a toy instance.
(default: False)
- Example of usage:
python3 main.py --instance ./instances/solomon_25/C101.txt --N 25 python main.py --toy
Israel P. - israelpereira55@gmail.com
Project Link: https://github.com/israelpereira55/MDVRPTW
[1] Solomon, Marius M. "Algorithms for the vehicle routing and scheduling problems with time window constraints." Operations research 35.2 (1987): 254-265.
[2] Cordeau, Jean-François, Gilbert Laporte, and Anne Mercier. "A unified tabu search heuristic for vehicle routing problems with time windows." Journal of the Operational research society 52.8 (2001): 928-936.