Skip to content

Repository files navigation

Collection of GAMSPy models for SOAK PhD day tutorial

What is this?

This repository contains multiple GAMSPy models which I plan to show partially explain step by step on Oct. 23rd 2024 during a 1.5h GAMSPy tutorial presented on the PhD day of the SOAK conference. This conference is organized by the SOAF (Svenska Operationsanalysföreningen).

Table of contents (model repository)

    1. Interactive warmup (introductionary examples)
    • 1.1. 1_hellogams.py - hello GAMSPy "minimize free variable x s.t. x==23"
    • 1.2. 2_simplemip.py - bit less trivial MIP taken from Dr. Alireza Soroudi
    • 1.3. 3_knapsack.py - binary knapsack problem
    1. Technical workouts
    • 2.0. 0_modeldataseparation.py - separation of model formulation and instance input data
    • 2.1. 1_condfiltering.py - conditional filtering
    • 2.2. 2_lagandlead.py - special operators (lag, lead, card, ord)
    • 2.3. 3_infeasibilities.py - investigate infeasibilities
    1. Intermediate examples (getting more dangerous)
    • 3.1. 2_scheduling.py - machine scheduling problem (one stage jobs, unrelated machines, minimize makespan) with Gantt chart (horizontal bars) visualization
    • 3.2. 3_tsp.py - minimalistic TSP showing the effect of toggling subtour elimination constraints with visualization as directed graph
    1. TSP for Hittaut
    • 4.1. collect_data.py - fetches required exogenous data for model
    • 4.2. tsp-hittaut.py - contains actual TSP model and map solution visualization

Setup virtual environment

Get Python interpreter >=3.8

Only install gamspy: pip install gamspy

Get extra packages for data processing and visualization:

pip install virtualenv
virtualenv venv
# Windows
./venv/Scripts/activate
# Linux
source venv/bin/activate
pip install -r requirements.txt

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages