About

This software suite implements a basic roll out approach for the Solomon set of vehicle routing problems. It uses as it's base heuristic the generalized nearest neighbors algorithm.

There are a set of base objects that are very obviously objects and a set of algorithms and grouped functions.

I have tried to isolate all of the points of interest into just a few places.

How to

Data

Original problem sets defined by Solomon are found in data/raw

Solutions of the rollout and objects from various stages of the process are found in data/interim

Results for the hyperparameter optimization and other experiments, such as profiling and time tests are found in data/processed

Code outline

src/data/make_dataset.py is the main file for converting the raw Solomon problems into our basic Python Solomon Problem object.

src/demo contains two files for completing time trials of the code. The Problem_builder.py will create new partially randomized customer sets from existing customer sets and time_trial.py will run a lengthy time trial experiment and generate plots and tables.

src/main/Algorithms/GridSearch.py supplies a number of different hyper-parameter optimizations.

There is a very basic grid search using a Latin Hypercube, a random search (need bibliography page), and a shadow cost search. ( there's gotta be a better name than shadow cost search)