An open API service indexing awesome lists of open source software.

https://github.com/raffadndm/operations-research-2

Algorithms of integer linear programming applied to TSP and written report about them.
https://github.com/raffadndm/operations-research-2

c cplex linear-integer-programming tsplib

Last synced: 7 months ago
JSON representation

Algorithms of integer linear programming applied to TSP and written report about them.

Awesome Lists containing this project

README

          

# Operations-Research-2
### Algorithms of integer linear programming applied to TSP problem
- CPLEX
- Exact solvers.
- Compact solvers.
1. [Gavish Graves solver.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/gg_solver.h)
2. [MTZ solver.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/mtz_solver.h)
- Non compact solvers.
1. [Loop solver.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/loop_solver.h)
2. [Heuristic Loop solver.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/loop_solver.h)
3. [Lazy Constraint callback.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/bc_solver.h)
4. [Lazy Constraint callback + Heuristic callback (Patching).](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/bc_solver.h)
5. [Generic callback.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/bc_solver.h)
6. [Generic callback (Patching).](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/bc_solver.h)
- Math-heuristic solvers.
1. [Hard Fixing.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/bc_solver.h)
2. [Soft fixing.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/bc_solver.h)
- Heuristic solvers.
- Construction algorithm.
1. [Nearest Neighborhood.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/heuristic.h)
2. [Insertion.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/heuristic.h)
3. [GASP variants of previous algorithms.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/heuristic.h)
- Refinement algorithm.
1. [Greedy Refinement (2-opt).](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/heuristic.h)
- Meta-heuristich algorithm.
1. [Multi-start variations (using multithreading).](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/heuristic.h)
2. [Hybrid Variable Neighborhood Search (VNS).](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/heuristic.h)
3. [Reactive Tabu Search.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/heuristic.h)
4. [Simulating anealing.](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/heuristic.h)
5. [Genetic algorithms (using multithreading).](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/TSP/TSP/heuristic.h)

### Report about used techniques
All the previous implemented algorithms and the used CPLEX functions are explained in the [report](https://github.com/RaffaDNDM/Operational-Research-2/blob/master/Report/Report.pdf).
In the same file you can find also the explanation of tsp instances format in TSPlib dataset, used in training and test phases. In the report, there is also the explanation of Gnuplot tool, used to show results of algorithm and python programs used to keep input instances and generate performance profile of several algorithms.

### Documentation
If you want to compile the documentation, you need to type on terminal:

cd TSP\TSP
doxygen Doxyfile

If you don't have doxygen program, you can install it following this [link.](https://www.doxygen.nl/download.html)

### Authors
The project was developed by [CristiFab](https://github.com/CristiFab) and [RaffaDNDM](https://github.com/RaffaDNDM).