2026-03-17 12:00:21 +01:00
2026-03-17 11:57:51 +01:00
2026-03-17 12:00:21 +01:00
2026-03-17 12:00:21 +01:00
2026-03-17 11:52:27 +01:00
2026-03-17 11:58:47 +01:00
2026-03-17 12:00:21 +01:00
2026-03-17 12:00:21 +01:00
2026-03-17 12:00:21 +01:00

POC1: Braunkohle Supply Chain Modellierung

Überblick

Dieser POC modelliert eine Braunkohle Supply Chain mit Pyomo zur Optimierung von Produktions-, Transport- und Distributionsprozessen.

Projektstruktur

POC1/
├── src/                    # Quellcode
│   └── preprocessing/
│       └── exploration_preprocess.py  # Notebook-exportiertes Preprocessing
├── data/                   # Daten
│   ├── input/              # Eingabe-Parameter (Excel)
│   └── processed/          # Vorverarbeitete Parquet-Dateien
├── models/                 # Modell-Definitionen
│   └── README.md
├── notebooks/              # Jupyter Notebooks für Analyse
├── latex/                  # Latex-Export/Artefakte
├── requirements.txt       # Python Dependencies
├── pyproject.toml         # Projektmetadaten
└── setup.py               # Setup-Skript

Installation

pip install -r requirements.txt

Verwendung

# Preprocessing-Skript ausführen
python src/preprocessing/exploration_preprocess.py

Modell-Hinweise

  • Bergbauwoche: Wochenstart Samstag (SaFr) über Datum+2TageShift.
  • IIS-Debug: Bei Infeasibility schreibt Gurobi eine results/iis.ilp mit lesbaren Constraint-Namen.
  • 3-Tage-Regel: no_three_in_a_row ist aktuell auf <= 3 gelockert (Debug).

Aktuelle Änderungen (Modell & Output)

  • Tages/ Wochen/ Monatsabweichungen basieren auf Lieferungen (x), nicht auf Bunkerabfluss.
  • Mischungsverhältnisse (min/max + Ziel) werden auf Lieferungen angewendet (nicht auf Bunkerbestand).
  • Zusätzliche weiche MidZielAbweichung für Mix (linear) ist aktiv.
  • B3BunkerMix: weiche Zielmischung auf B3Bunkerbestand (stark gewichtet), um Welzow im Bunker zu vermeiden.
  • StreckenPenalties/Bonuses wurden wieder entfernt (nur Mix/AbweichungsPenalties aktiv).
  • ExcelOutput:
    • Sheet1 bleibt unverändert, mit_Bunkerbestand enthält Bunkerzufluss und Bunkerbestand.
    • Neue Sheet Kohlemischverhältnis mit Zielwerten + empirischem Mix (Lieferung) + Bunkermix.
    • Empirischer Mix wird rot/grün markiert, Gruppenfarben nur bis Spalte F.

Webapp-Prototyp

Backend (FastAPI):

uv run python -m uvicorn webapp.backend.main:app --reload

Frontend (React/Vite):

cd webapp/frontend
npm install
npm run dev

cd webapp/frontend npm run dev

Optional: eigene Input/Output-Pfade beim Preprocessing via Umgebungsvariablen: POC1_INPUT_XLSX, POC1_OUTPUT_DIR.

Abhängigkeiten

  • Pyomo (Optimierungsmodellierung)
  • Pandas (Datenverarbeitung)
  • NumPy (Numerische Berechnungen)
  • Matplotlib/Plotly (Visualisierung)
Description
No description provided
Readme 553 KiB
Languages
Python 43.7%
Jupyter Notebook 34%
JavaScript 10.7%
TeX 9.3%
CSS 1.9%
Other 0.3%