operations_research/Operations_Research_mit_Python_Version_04
Repository files (latest commit first)
Filename Latest commit message Latest commit date
dschlueter 81ddb02d5c Vorwort-Signatur (Köln, Datum + Dieter Schlüter) und Versionsnummer v<Std>.<Min> im Stand-Datum
- Vorwort endet mit „Köln, im <aktueller Monat> <Jahr>“ und rechtsbuendigem
  Autornamen (LaTeX flushright + HTML text-align:right)
- Stand-Datum auf Titelseite und Website um Versionsnummer erweitert:
  „Stand: 10. September 2026  v16.09“ — v<Stunde>.<Minute> macht jeden
  Uebersetzungslauf unterscheidbar
- erzeuge_titelseite.py: datum_string() um Versionsnummer erweitert
- build_version_04.py: aktuelles_datum() um Versionsnummer erweitert,
  README_RE-Regex fuer Versionsnummer angepasst
- neues Platzhalter-System {vorwort_datum} analog zu {datum}
2026-09-10 16:12:42 +02:00
..
00_Vorwort_und_Lesehilfe.md Vorwort-Signatur (Köln, Datum + Dieter Schlüter) und Versionsnummer v<Std>.<Min> im Stand-Datum 2026-09-10 16:12:42 +02:00
01_Notation_und_Abkuerzungen.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
10_Einfuehrung_OR.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
11_Mathematisches_Fundament.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
12_Python_Oekosystem.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
13_Vom_Wunsch_zum_Modell.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
19_Synthese_Grundlagen.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
20_Lineare_Programmierung.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
21_MILP.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
22_CP_SAT.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
23_Graphen_Fluesse_Touren.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
24_Metaheuristiken.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
25_Spaltengenerierung.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
29_Synthese_Kernverfahren.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
30_QP_und_NLP.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
31_Unsicherheit.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
32_Dynamische_Programmierung.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
33_Mehrziel_und_Pareto.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
34_Predict_then_Optimize.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
35_Strukturbruecke.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
36_Supply_Chain_Energie.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
39_Synthese_Nichtlinear.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
40_Finanzdaten.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
41_Markowitz.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
42_CVaR.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
43_Handelsmaschine.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
49_Synthese_Anwendungen.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
50_Praxis.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
51_Testing_und_Deployment.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
52_Synthese_Praxis.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
59_Projektwerkstatt.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
90_Anhang_Loesungen.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
91_Anhang_Modellierungsmuster.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
92_Anhang_Fehlerdiagnose.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
93_Anhang_Spickzettel.md Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
94_Anhang_Glossar.md Glossar von 92 auf 234 Eintraege 2026-09-08 21:17:20 +02:00
95_Anhang_Literatur.md Literaturverzeichnis: alle Eintraege gegen Crossref geprueft 2026-09-08 21:58:16 +02:00
build_version_04.py Vorwort-Signatur (Köln, Datum + Dieter Schlüter) und Versionsnummer v<Std>.<Min> im Stand-Datum 2026-09-10 16:12:42 +02:00
erzeuge_glossar_04.py Build-Kommando fuer das Glossar: erzeuge_glossar_04.py 2026-09-08 21:28:53 +02:00
erzeuge_stichwortregister_04.py Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
extract_programme_04.py Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
glossar_eintraege_04.py Build-Kommando fuer das Glossar: erzeuge_glossar_04.py 2026-09-08 21:28:53 +02:00
NEUER_TITEL.md neue Titelseite 2026-09-09 08:33:01 +02:00
README.md Vorwort-Signatur (Köln, Datum + Dieter Schlüter) und Versionsnummer v<Std>.<Min> im Stand-Datum 2026-09-10 16:12:42 +02:00
README_Programme.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
titeltexte_04.py Stichwortregister: automatische Markierung aller Glossarbegriffe (988 statt 456 Marker) 2026-09-10 00:07:01 +02:00
veroeffentliche_04.py veroeffentliche_04.py: leserliche Ausgabe, 404-Probe entfernt 2026-09-08 20:04:53 +02:00

Optimierte Entscheidungsfindung mit Python

Wegweiser durch diese Ausgabe. Dieses Kompendium verfolgt einen klaren Anspruch: Kursteilnehmerinnen und Kursteilnehmer sollen den Text nicht nur lesen, sondern damit arbeiten, üben und eigene Anwendungen bauen können.


Was dieses Kompendium bietet

Merkmal Umfang Warum
Formel-Lesehilfen bei jeder nicht-trivialen Formel Nicht jede/r liest Formelsprache flüssig
Handrechnungen Simplex, Big-M, Dualität, Bellman, CVaR Verstehen kommt vor Programmieren
Zeile-für-Zeile-Code-Erklärungen alle Kernprogramme Code lesen lernen, nicht nur ausführen
Erwartete Programmausgaben alle Programme Selbstkontrolle: „Läuft es bei mir richtig?“
~130 Übungsaufgaben mit Lösungen jedes Kapitel Aktives Üben statt passives Lesen
Selbsttests jedes Kapitel Schnelle Wissenskontrolle
Codebeispiele durchgängig lauffähig u. a. Rucksack, Zuordnung, Job-Shop, Monte-Carlo, robuste Optimierung, Min-Cost-Flow Theorie und Code gehören zusammen
Notations- und Abkürzungsverzeichnis 01_Notation_und_Abkuerzungen.md Jede Abkürzung genau einmal sauber eingeführt
Projektwerkstatt 59_Projektwerkstatt.md 8 vollständige Projektaufträge für eigene Anwendungen
Modellierungsmuster-Katalog 91_Anhang_Modellierungsmuster.md Nachschlagewerk: „Wie modelliere ich X?“
Fehlerdiagnose-Handbuch 92_Anhang_Fehlerdiagnose.md Was tun, wenn der Solver INFEASIBLE meldet?

Aufbau der Dateien

Der Text ist auf mehrere Dateien verteilt, damit er handhabbar bleibt. Die Nummern-Präfixe legen die Lesereihenfolge fest.

Vorspann

Datei Inhalt
00_Vorwort_und_Lesehilfe.md Vorwort & Lesehilfe
01_Notation_und_Abkuerzungen.md Notation & Abkürzungen

Teil I: Grundlagen des Operations Research

Datei Kapitel
10_Einfuehrung_OR.md Kapitel 1 — Einführung in Operations Research — Vom Ursprung zur mathematischen Entscheidungsfindung
11_Mathematisches_Fundament.md Kapitel 2 — Das mathematische Fundament — Vektoren, Matrizen, Konvexität{idx:Konvexität}
12_Python_Oekosystem.md Kapitel 3 — Das Python-Ökosystem für OR — Solver, Bindings und Modellierungsschichten
13_Vom_Wunsch_zum_Modell.md Kapitel 4 — Vom Management-Wunsch zum Modell
19_Synthese_Grundlagen.md Synthese Teil I

Teil II: Die Kernverfahren der deterministischen Optimierung

Datei Kapitel
20_Lineare_Programmierung.md Kapitel 5 — Lineare Programmierung — Simplex, Dualität und Schattenpreise
21_MILP.md Kapitel 6 — Gemischt-ganzzahlige Optimierung — Diskrete Entscheidungen und Branch-and-Bound{idx:Branch-and-Bound}
22_CP_SAT.md Kapitel 7 — Constraint Programming mit CP-SAT{idx:CP-SAT} — Logik, Scheduling und Zuweisung
23_Graphen_Fluesse_Touren.md Kapitel 8 — Graphen, Flüsse und Touren — Min-Cost-Flow, Matching und VRP
24_Metaheuristiken.md Kapitel 9 — Metaheuristiken — wenn der exakte Solver aussteigt
25_Spaltengenerierung.md Kapitel 10 — Spaltengenerierung — das Modell umbauen statt die Lösung raten
29_Synthese_Kernverfahren.md Synthese Teil II

Teil III: Nichtlinearität, Unsicherheit und mehrperiodige Dynamik

Datei Kapitel
30_QP_und_NLP.md Kapitel 11 — Quadratische und nichtlineare Optimierung — KKT, Lagrange, Konvexität
31_Unsicherheit.md Kapitel 12 — Optimierung unter Unsicherheit — Monte-Carlo, Stochastik, Robustheit
32_Dynamische_Programmierung.md Kapitel 13 — Dynamische Programmierung — Die Bellman-Gleichung{idx:Bellman-Gleichung} und Order-Execution
33_Mehrziel_und_Pareto.md Kapitel 14 — Mehrere Ziele — Pareto-Fronten statt Gewichte
34_Predict_then_Optimize.md Kapitel 15 — Predict-then-Optimize{idx:Predict-then-Optimize} — die bessere Prognose, die schlechtere Entscheidung
39_Synthese_Nichtlinear.md Synthese Teil III

Teil IV: Anwendungen — Energiewirtschaft und Finanzmärkte

Datei Kapitel
35_Strukturbruecke.md Kapitel 16 — Die Strukturbrücke — dieselbe Mathematik, zwei Welten
36_Supply_Chain_Energie.md Kapitel 17 — Supply-Chain und Energieeinsatz unter Unsicherheit
40_Finanzdaten.md Kapitel 18 — Finanzdaten-Modellierung — Renditen, Kovarianz und Shrinkage
41_Markowitz.md Kapitel 19 — Die moderne Portfoliotheorie nach Markowitz
42_CVaR.md Kapitel 20 — Tail-Risiko, CVaR und Transaktionskosten{idx:Transaktionskosten}
43_Handelsmaschine.md Kapitel 21 — Die vollständige quantitative Handelsmaschine
49_Synthese_Anwendungen.md Synthese Teil IV

Teil V: Praxis

Datei Kapitel
50_Praxis.md Kapitel 22 — Praxisfallen und der Weg zum produktiven Einsatz
51_Testing_und_Deployment.md Kapitel 23 — Testen, Messen, Ausliefern
52_Synthese_Praxis.md Synthese Teil V
59_Projektwerkstatt.md Projektwerkstatt

Anhang

Datei Inhalt
90_Anhang_Loesungen.md Anhang A — Lösungen zu allen Übungsaufgaben
91_Anhang_Modellierungsmuster.md Anhang B — Katalog der Modellierungsmuster
92_Anhang_Fehlerdiagnose.md Anhang C — Fehlerdiagnose-Handbuch
93_Anhang_Spickzettel.md Anhang D — Spickzettel der Solver
94_Anhang_Glossar.md Anhang E — Glossar
95_Anhang_Literatur.md Anhang F — Literaturverzeichnis

Eine Einzeldatei erzeugen

Wer lieber ein einziges Dokument möchte (z. B. zum Drucken oder für die PDF-Erzeugung), baut es aus den Einzeldateien:

cd Version_04   # das Wurzelverzeichnis des Repositorys
python3 Operations_Research_mit_Python_Version_04/build_version_04.py

Das Skript erzeugt Operations_Research_mit_Python_Version_04.md im übergeordneten Verzeichnis — in derselben Reihenfolge wie oben, mit Titelblock, automatisch gesetztem Inhaltsverzeichnis-Platzhalter und entfernten unnötigen Zeilenumbrüchen innerhalb von Absätzen. Optionen:

python3 .../build_version_04.py --pdf     # zusätzlich PDF über pandoc + xelatex
python3 .../build_version_04.py --html    # zusätzlich die Website OR_HTML_04/
python3 .../build_version_04.py --check   # nur Konsistenzprüfung, schreibt nichts

--html erzeugt die mehrseitige Website mit Suche, Stichwortverzeichnis und Notebook-Downloads; das Gesamtdokument auf einer Seite liegt darin als gesamtdokument.html.


Empfohlene Reihenfolge für Kursteilnehmer

Vollständiger Lehrgang (empfohlen, ca. 100140 Stunden): Vorwort → Notation → alle Kapitel der Reihe nach → Projektwerkstatt. Jedes Kapitel endet mit Übungsaufgaben — bearbeiten Sie diese, bevor Sie weiterlesen.

Schnellpfad Planung & Disposition (ca. 25 Stunden): Einführung, Fundament, Vom Wunsch zum Modell, LP, MILP, CP-SAT → Projekt P1 oder P2.

Schnellpfad Logistik (ca. 25 Stunden): Einführung, Fundament, LP, MILP, Graphen → Projekt P3.

Schnellpfad Quantitative Finance (ca. 30 Stunden): Einführung, Fundament, QP/NLP, Finanzdaten, Markowitz, CVaR, Handelsmaschine → Projekt P6 oder P7.

(Ohne Kapitelnummern — die verschieben sich beim Einfügen neuer Kapitel. Die maßgebliche, immer aktuelle Fassung der Lernpfade steht im Vorwort.)

Details zu den Lernpfaden stehen in 00_Vorwort_und_Lesehilfe.md.


Autor / Herausgeber: Dieter Schlüter · Stand: 10. September 2026 v16.09