Repository for the Data Mining project course Simonato Nicolò - Russo Riccardo - Gandini Lorenzo
The project consisted of a logistic company whose drivers didn't follow the routes they were given. Our task was to create new routes and assign them to the drivers to satisfy their preferences to reduce the deviation as much as possible.
- File "DM Project 23-24.docx.pdf" to see the full project
- File "DM23_Russo_Gandini_Simonato.pdf" to see the Final report
To run the program, follow these steps:
-
If you want to change the standard and actual routes, insert the new routes in the "/data" folder with the correct format (standardX.json / actualX.json) where X is an integer. You can also use the existing ones.
-
In "src/Functions/set_dataset.py," set the variable "dataset" to the desired dataset number (X).
-
OPTIONAL: In the src/Main.py script, there are three variables: city_weight, merch_weight, quantity_weight. They represent the importance assigned to passing through cities in the standard routes, the importance of delivering predefined products, and the quantity to be delivered, respectively. These weights are pre-set to 55%, 30%, and 15% (These weights alterate the result in the distance function). However, they can be changed based on user preferences.
-
Run "src/Main.py".
-
The results will be stored in 'results/'. With names : For point 1 --> results/recStandardX.json For point 2 --> results/driverX.json For point 3 --> results/perfectRouteX.json