| Filename | Latest commit message | Latest commit date |
|---|---|---|
Auftrag: alle Markdown-Dateien lesen, jeden Fachbegriff, jede Abkuerzung, jeden
Algorithmus- und Bibliotheksnamen extrahieren, das Glossar vollstaendig neu
aufsetzen.
Die Begriffsliste wurde geerntet, nicht erfunden. Grundlage sind die 219
{idx:}-Marken des Buchs - die bereits kuratierte Begriffsliste des Autors. 92
davon hatten einen Glossareintrag, 143 nicht. Dazu Abkuerzungen und
Bibliotheken aus dem Fliesstext ohne Indexmarke: GIL, GLOP, MIQP, MSE, MAPE,
DTO, Solver-Status, NumPy, SciPy, pandas, scikit-learn, yfinance, pydantic,
pymoo, Matplotlib, Plotly.
Auch die Querverweise sind gemessen: Fuer jeden Indexbegriff wurde die erste
Fundstelle bestimmt und daraus der umgebende {#sec:}-Abschnitt abgeleitet.
Damit steht am Ende jedes Eintrags ein {ref:}, das der Build zur richtigen
Nummer aufloest - eine harte "siehe Kapitel 5" haette gegen die Grundregel des
Projekts verstossen.
Zwei Funde beim Gegenpruefen:
* 23 Eintraege haetten auf sich selbst verwiesen. Ihr Begriff ist im ganzen
Buch nur im Glossar mit {idx:} markiert - die "erste Fundstelle" war also
diese Datei. Im PDF stand dann "-> Anhang E" mitten in Anhang E.
* Die erste Fundstelle ist nicht immer die erklaerende. "Schattenpreis"
landete beim LP-Schnellstart statt beim Abschnitt ueber Dualitaet. Fuer alle
92 Altbestandseintraege gelten jetzt die von Hand gesetzten Ziele der
Vorgaengerfassung; der Erzeuger bricht ab, wenn ein Verweis ins Glossar
selbst zeigt.
Zwei Formatfragen entschied die Probe am echten Build:
* "## A" als Buchstabengruppe funktioniert und wird NICHT nummeriert -
ABSCHNITT_RE verlangt ein {#sec:}-Label, das hier fehlt.
* Pandoc-Definitionslisten ueberleben den Bau nicht: reflow_markdown() zieht
die ":"-Fortsetzungszeile in den Begriffsabsatz, der Doppelpunkt bleibt
sichtbar stehen. Die Absatzform rendert sauber in HTML und PDF.
Der Beleg, dass die Schreibweisen stimmen: Das Stichwortregister waechst von
219 auf 220 Hauptbegriffe - genau ein neuer Begriff (Solver-Status). Alle
uebrigen 218 Indexmarken trafen buchstabengetreu auf bestehende Eintraege.
Nebenbei: Die 25 Buchstabenueberschriften waeren als 25 Treffer in den
Suchindex geraten und bei jedem eingetippten Buchstaben oben gestanden.
_erfasse_suchindex() ueberspringt jetzt einbuchstabige Ueberschriften; der
Index bleibt bei 631 Eintraegen.
PDF von 759 auf 772 Seiten. Veroeffentlicht: 4 Dateien uebertragen, alle
dreizehn HTTP-Proben richtig, 234 Eintraege auf dem Server gegengeprueft.
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 | ||
| extract_programme_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