operations_research/Operations_Research_mit_Python_Version_04
Repository files (latest commit first)
Filename Latest commit message Latest commit date
dschlueter b7af2f1d9a Version 04 als eigenes Repository
Erster Commit des Strangs "Optimierte Entscheidungsfindung mit Python"
(Version 04). Die Historie der 71 Commits bis zur Trennung bleibt im
uebergeordneten Repository OR_mit_Python liegen, das ab jetzt nur noch
Version_03 (eingefroren) verwaltet und Version_04/ ignoriert.

Bewusst kein "git subtree split": Der Pfad Version_04/ existiert erst seit
der Verzeichnistrennung, ein Split braechte daher nur 7 der 41 einschlaegigen
Commits - eine Teilhistorie, die vollstaendig aussieht und es nicht ist.

Stand: 5 Teile, 23 Kapitel, 5 Anhaenge, 292 Abschnitte, 703 Querverweise,
325 Indexmarken, 73 Beispielprogramme, 32 SVGs, 4 Plotly-Figuren,
25 Notebooks, PDF mit 715 Seiten.

Zusaetzlich in diesem Commit:

* pyproject.toml mit Abhaengigkeitsgruppen finance, large-scale, api,
  figures, dev, empfehlungen. Die abgedruckte requirements.txt bleibt
  unveraendert daneben bestehen. ortools steht in der Grundausstattung,
  highspy erst in [large-scale] - so kann der HiGHS-Symbolkonflikt bei der
  schlanken Installation gar nicht erst auftreten.

* Dabei zwei Funde: graphviz wird von erzeuge_architektur_diagramme.py
  importiert, fehlt aber in requirements.txt (jetzt in [figures]); pymoo
  steht in requirements.txt, wird aber von keinem Programm importiert,
  sondern nur im Kapitel Metaheuristiken empfohlen (jetzt in
  [empfehlungen]).

* NEUER_TITEL.md nach Kritik_und_Verbesserungsvorschlaege/ verschoben - es
  ist die Vorlage des Titelblatts, kein Bestandteil des Werks. Die beiden
  Fundstellen in PROGRESS.md und erzeuge_titelseite.py nachgezogen.

* PROGRESS.md nannte noch den Untertitel der ersten Fassung; auf den
  tatsaechlichen aus erzeuge_titelseite.py korrigiert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 01:20:09 +02:00
..
00_Vorwort_und_Lesehilfe.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
01_Notation_und_Abkuerzungen.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
10_Einfuehrung_OR.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
11_Mathematisches_Fundament.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
12_Python_Oekosystem.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
13_Vom_Wunsch_zum_Modell.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
20_Lineare_Programmierung.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
21_MILP.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
22_CP_SAT.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
23_Graphen_Fluesse_Touren.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
24_Metaheuristiken.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
25_Spaltengenerierung.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
30_QP_und_NLP.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
31_Unsicherheit.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
32_Dynamische_Programmierung.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
33_Mehrziel_und_Pareto.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
34_Predict_then_Optimize.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
35_Strukturbruecke.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
36_Supply_Chain_Energie.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
40_Finanzdaten.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
41_Markowitz.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
42_CVaR.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
43_Handelsmaschine.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
50_Praxis.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
51_Testing_und_Deployment.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
59_Projektwerkstatt.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
90_Anhang_Loesungen.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
91_Anhang_Modellierungsmuster.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
92_Anhang_Fehlerdiagnose.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
93_Anhang_Spickzettel.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
94_Anhang_Glossar_und_Literatur.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
build_version_04.py Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
extract_programme_04.py Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
README.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +02:00
README_Programme.md Version 04 als eigenes Repository 2026-09-08 01:20:09 +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, Lernpfade, Verzeichnis der Beispielprogramme, Setup, wie die Lernelemente funktionieren
01_Notation_und_Abkuerzungen.md Alle Symbole und Abkürzungen, ausgeschrieben und erklärt

Teil I — Grundlagen

Datei Kapitel
10_Einfuehrung_OR.md 1 — Einführung in Operations Research
11_Mathematisches_Fundament.md 2 — Vektoren, Matrizen, Konvexität
12_Python_Oekosystem.md 3 — Das Python-Ökosystem für OR

Teil II — Deterministische Kernverfahren

Datei Kapitel
20_Lineare_Programmierung.md 4 — Lineare Programmierung, Simplex, Dualität
21_MILP.md 5 — Gemischt-ganzzahlige Optimierung
22_CP_SAT.md 6 — Constraint Programming mit CP-SAT
23_Graphen_Fluesse_Touren.md 7 — Graphen, Flüsse, Tourenplanung

Teil III — Nichtlinearität, Unsicherheit, Dynamik

Datei Kapitel
30_QP_und_NLP.md 8 — Quadratische und nichtlineare Optimierung, KKT
31_Unsicherheit.md 9 — Monte-Carlo, stochastische und robuste Optimierung
32_Dynamische_Programmierung.md 10 — Dynamische Programmierung, Bellman

Teil IV — Operations Research an den Finanzmärkten

Datei Kapitel
40_Finanzdaten.md 11 — Finanzdaten, Kovarianz, Shrinkage
41_Markowitz.md 12 — Markowitz-Portfoliotheorie
42_CVaR.md 13 — Tail-Risiko, CVaR, Transaktionskosten
43_Handelsmaschine.md 14 — Die vollständige Handelsmaschine

Teil V — Praxis

Datei Kapitel
50_Praxis.md 15 — Praxisfallen und produktiver Einsatz
59_Projektwerkstatt.md Projektwerkstatt: 8 eigene Anwendungen

Anhang

Datei Inhalt
90_Anhang_Loesungen.md Lösungen zu allen Übungsaufgaben und Selbsttests
91_Anhang_Modellierungsmuster.md Musterkatalog: 24 wiederkehrende Modellierungstricks
92_Anhang_Fehlerdiagnose.md Diagnose-Handbuch für Solver-Probleme
94_Anhang_Glossar_und_Literatur.md Glossar, Literatur

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 OR_mit_Python/Version_04   # Wurzel der Version 04
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_03.py --pdf     # zusätzlich PDF über pandoc + xelatex
python3 .../build_version_03.py --html    # zusätzlich Single-Page-HTML
python3 .../build_version_03.py --check   # nur Konsistenzprüfung, schreibt nichts

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: 8. September 2026