grzegorz-siekaniec / branch-and-price-gurobi

Repository contains implementation of Branch and Prive for classical General Assignment Problem problem using Python and Gurobi solver.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

branch-and-price

Repository contains implementation of Branch-And-Price for Generalized Assignment Problem using Python and Gurobi solver.

Implementation is not intendent to be fast but rather descriptive.

See https://grzegorz-siekaniec.github.io/bits-of-this-bits-of-that/2021/solving-generalized-assignment-problem-using-branch-and-price.html for more details.

How to run

In order to run application.

  1. Create Python virtual environment:
    python -m venv venv_branch_and_price
    
    Activate it - specifics depend on your operating system. For example on Linux with bash execute the following:
    source ./venv_branch_and_price/bin/activate
    
    Install all requierements:
    pip install -r /branch-and-price/src/requirements.txt
    
  2. Go to directory branch-and-price.
  3. Depending on method you want to choose to solve the problem, select different argument option:
    • to solve the problem using standalone model, execute:

      python src/main.py --method standalone small_example
      
    • to solve the problem using Branch-And-Price, execute:

      python src/main.py --method branch_and_price small_example
      
    • to solve the problem using both methods, execute::

      python src/main.py small_example
      
    At the end you will also see a B&P tree and in working directory you will have plenty of LPs files containing every model that was solved.

About

Repository contains implementation of Branch and Prive for classical General Assignment Problem problem using Python and Gurobi solver.

License:MIT License


Languages

Language:Python 100.0%