Skip to content

DRealHammer/MOPTA

Repository files navigation

MOPTA 2025 Transavia Retraining Scheduling Problem

This is my solution for the MOPTA Competition 2025. The problem is about retraining Boeing crews to new Airbus planes. As there are a lot of specifications and restrictions, this requires a modeling approach of some sort. With this submission, there is not only an optimal result via SCIP in terms of minimizing the cost, but also an interactive Dashboard for live editing and exporting data from the optimization suite via Streamlit. For further interpretation, there are also some graphs, that display the core information of the solution found. Solutions are stored in the live session until reload.

Live Demo

At this time, you can also try out the live demo for this on http://mopta.hammercore.de.

Installation on x86 Architecture

Setup

# create a virtual environment
python -m venv .venv

# activate the env
source .venv/bin/activate

# install dependencies
pip install -r requirements.txt

Run Application

# run on port 80 in the background
streamlit run main.py --server.port 80 &

If you want to stop the server

fg

and press CTRL + C

Running in Docker

If you want to create a container for this application, you can roughly follow the steps outlined for ARM. You can also remove the forced amd architecture in the Dockerfile in the FROM statement.

Advice: The optimization algorithm benefits a lot from running on multicore machines. Consider specifying a --cpus 4 statement, to give your container more CPU acces at runtime.

🛠 Build & Run on ARM Architecture

Install Dependencies

# Install Docker
sudo apt install docker

Install QEMU for multi-architecture support

sudo apt install -y qemu-user-static

Set Up Buildx

# Create and use multi-architecture builder
docker buildx create --name multiarch --use

Build Docker Image

# Build for AMD64 architecture (from ARM host)
docker buildx build --platform linux/amd64 -t mopta --load --no-cache .

Run Container

# Start container with AMD64 emulation
docker run --platform=linux/amd64 -p 80:8501 -d mopta

Disclaimer: I do not guarantee that the solutions created by the software are always accurate and should in every case be double checked for plausibilty before any decision is made.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors