| Filename | Latest commit message | Latest commit date |
|---|---|---|
Der Erzeuger lag als Wegwerfskript ausserhalb des Repositorys - genau die
Falle, die in diesem Projekt schon zweimal zugeschnappt ist (web_04/,
titeltexte_04.py): eine Quelle, die nicht dort liegt, wo gearbeitet wird.
python3 Operations_Research_mit_Python_Version_04/erzeuge_glossar_04.py
python3 .../erzeuge_glossar_04.py --check # nur pruefen
Die 234 Eintraege stehen in glossar_eintraege_04.py als Viertupel
(Anzeigename, Indexmarke, Definition, Verweisziel). Das Verweisziel ist
eingefroren, nicht berechnet: Die erste Fundstelle eines Begriffs ist oft
nicht die erklaerende - "Schattenpreis" faellt erstmals im LP-Schnellstart,
erklaert wird er im Abschnitt ueber Dualitaet. Ein Automatismus haette diese
Entscheidung jedes Mal neu und jedes Mal gleich falsch getroffen.
Drei Pruefungen, alle gegen das Buch statt gegen eine Annahme:
* Jede Indexmarke muss im Buchtext buchstabengetreu vorkommen - sonst
entstuende ein zweiter Registereintrag fuer dasselbe Konzept.
* Jedes {ref:}-Ziel muss existieren.
* Kein Verweis darf auf das Glossar selbst zeigen.
Dazu die Handaenderungs-Erkennung nach dem Muster von
spiegle_statische_assets(): Ist 94_Anhang_Glossar.md neuer als ihre Quelle und
weicht ab, bricht der Lauf ab und nennt die Quelle, statt die Arbeit still zu
ueberschreiben. build_version_04.py --check ruft den Erzeuger mit auf, damit
eine veraltete Fassung nicht erst auffaellt, wenn ihn jemand zufaellig startet.
Ein Zwischenfall beim Einbau hat die Pruefung verbessert: Die erste Fassung
meldete 24 angebliche Tippfehler. Es waren keine - es sind die Begriffe, die
im ganzen Buch NUR im Glossar indexiert sind (Rebalancing, Volatilitaet,
Solver-Status ...). Automatisch ist das von einem Tippfehler nicht zu
unterscheiden, also stehen sie jetzt ausdruecklich in NUR_IM_GLOSSAR.
Der Beleg, dass der Erzeuger die Handarbeit exakt trifft: Er schreibt die
vorhandene Datei byte-identisch neu. Beide Waechter gegengeprueft - mit einer
Handaenderung an der .md und mit einem Tippfehler in einer Indexmarke.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
||
| .. | ||
| 00_Vorwort_und_Lesehilfe.md | ||
| 01_Notation_und_Abkuerzungen.md | ||
| 10_Einfuehrung_OR.md | ||
| 11_Mathematisches_Fundament.md | ||
| 12_Python_Oekosystem.md | ||
| 13_Vom_Wunsch_zum_Modell.md | ||
| 19_Synthese_Grundlagen.md | ||
| 20_Lineare_Programmierung.md | ||
| 21_MILP.md | ||
| 22_CP_SAT.md | ||
| 23_Graphen_Fluesse_Touren.md | ||
| 24_Metaheuristiken.md | ||
| 25_Spaltengenerierung.md | ||
| 29_Synthese_Kernverfahren.md | ||
| 30_QP_und_NLP.md | ||
| 31_Unsicherheit.md | ||
| 32_Dynamische_Programmierung.md | ||
| 33_Mehrziel_und_Pareto.md | ||
| 34_Predict_then_Optimize.md | ||
| 35_Strukturbruecke.md | ||
| 36_Supply_Chain_Energie.md | ||
| 39_Synthese_Nichtlinear.md | ||
| 40_Finanzdaten.md | ||
| 41_Markowitz.md | ||
| 42_CVaR.md | ||
| 43_Handelsmaschine.md | ||
| 49_Synthese_Anwendungen.md | ||
| 50_Praxis.md | ||
| 51_Testing_und_Deployment.md | ||
| 52_Synthese_Praxis.md | ||
| 59_Projektwerkstatt.md | ||
| 90_Anhang_Loesungen.md | ||
| 91_Anhang_Modellierungsmuster.md | ||
| 92_Anhang_Fehlerdiagnose.md | ||
| 93_Anhang_Spickzettel.md | ||
| 94_Anhang_Glossar.md | ||
| 95_Anhang_Literatur.md | ||
| build_version_04.py | ||
| erzeuge_glossar_04.py | ||
| extract_programme_04.py | ||
| glossar_eintraege_04.py | ||
| README.md | ||
| README_Programme.md | ||
| titeltexte_04.py | ||
| veroeffentliche_04.py | ||
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 |
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 |
22_CP_SAT.md |
Kapitel 7 — Constraint Programming mit 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 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 — 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 |
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. 100–140 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