This repository aims to provide the sample code to any beginner to learn how to use different programming languages and optimization solvers to build well-known combinatorial optimization models.
In addition, this repository provides a framework to make different solvers (SCIP, gurobi) have same modeling interface in python.
Our tutorial is based on Linux Ubuntu except Cplex is based on Windows 11 and Visual Studio 2022. If you are Windows user, you can use following steps to install WSL (Windows Subsystem for Linux).
- Control Panel -> Programs -> Turn Windows features on or off.
- Check "Virtual Machine Platform", "Windows Hypervisor Platform" (Option), "Windows Subsystem for Linux".
- Restart laptop.
- Open Powershell as Administrator, enter the "wsl --install".
wsl --install
- Open Microsoft Store, install "Unbuntu" then open it. (Choose LTS version)
- Create the user account and password.
- Install basic packages
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
- Bin Packing
- Multiple Knapsack
- Set Covering
- Graph Coloring
- Matching
- Maximum Clique
- Shortest Path
- TSP (DFS, MTZ)
- Maximum Flow
- Minimum Cost Flow
keep developing...
In each folder, there is a installation guidline for each solver in different programming laugues.
- C#
- C++
- Python
- C++
- Python
- Julia
- Python
- Minizinc IDE
Still developing... and welcome to contribute this repository!