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.
- Host: GitHub
- URL: https://github.com/raffadndm/operations-research-2
- Owner: RaffaDNDM
- Created: 2020-03-13T10:14:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-01-07T11:53:48.000Z (almost 5 years ago)
- Last Synced: 2025-02-14T18:49:56.727Z (9 months ago)
- Topics: c, cplex, linear-integer-programming, tsplib
- Language: C
- Homepage:
- Size: 323 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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).