Setzt Paket 5 aus Verbesserungen_02.md um (den Teil, der nicht zurueckgestellt wurde). Fuenf neue Dateien 19_/29_/39_/49_/52_Synthese_*.md, je eine am Ende eines Teils, mit eigener Website-Seite ueber SONDERSEITEN - sie tragen bewusst keine "# Kapitel:"-Ueberschrift, weil sie keine Kapitel sind, sondern der Rueckblick auf einen Teil. Der Entwurf musste sich abgrenzen: Die Teil-Einleitungen haben bereits Entscheidungsdiagramme. Eine zweite Matrix am Teil-Ende waere eine Dopplung gewesen. Die Synthesen leisten deshalb, was eine Einleitung nicht kann - den Vergleich ueber die Kapitel hinweg (Verfahren nebeneinander, mit der Spalte "wo es aufhoert"), eine Tabelle "was dieser Teil gemessen hat" (Behauptung gegen Messung gegen Fundstelle) und drei Fehler, die der Teil verhindert. Zitiert wird ausschliesslich, was im Buch tatsaechlich gerechnet wird. Drei Funde beim Einbau: * Teil III sagte "die drei Kapitel dieses Teils", hat aber fuenf. Phase 3 hatte Mehrziel und Predict-then-Optimize hinzugefuegt, die Einleitung blieb stehen. * 50_Praxis.md verwies auf die Projektwerkstatt mit "acht eigene Anwendungen" - sie hat elf. * Und der eigentliche Fund: Die Lesekette der Quelldateien fuehrte an ACHT Kapiteln vorbei. 12_Python_Oekosystem zeigte direkt auf 20_Lineare_Programmierung, 23_Graphen direkt auf 30_QP, 32_Dynamische direkt auf 40_Finanzdaten, 50_Praxis direkt auf die Projektwerkstatt. Wer der Kette folgte, uebersprang acht von 23 Kapiteln - darunter Metaheuristiken, Spaltengenerierung, Strukturbruecke, Supply-Chain und das ganze Testing-Kapitel. Zehn weitere Dateien hatten gar keine Navigationszeile. Zur Reichweite, damit sie nicht ueberschaetzt wird: Diese Zeilen stehen nur in den Quelldateien. entferne_navigation() streicht sie aus dem Gesamtdokument, und die Website baut ihre Vor/Zurueck-Knoepfe selbst aus DATEIEN. PDF und Website waren nie betroffen - wohl aber jeder, der die Markdown-Dateien im Repository liest, und das wird nach der Veroeffentlichung der Normalfall sein. Die Kette ist jetzt ueber alle 35 Uebergaenge geschlossen, und --check bewacht sie: Fehlt eine Zeile oder zeigt sie an der in DATEIEN folgenden Datei vorbei, ist der Lauf rot. Gegengetestet mit beiden Bruchformen. Stand: 36 Dateien, 296 Abschnitte, 815 Querverweise, 328 Indexmarken, 76 Programme (unveraendert), 33 pytest-Tests, PDF 758 Seiten. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
146 lines
31 KiB
HTML
146 lines
31 KiB
HTML
<!doctype html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<title>Start · Optimierte Entscheidungsfindung mit Python</title>
|
||
<script>
|
||
(function () {
|
||
try {
|
||
var t = localStorage.getItem("or-theme");
|
||
if (t) document.documentElement.setAttribute("data-theme", t);
|
||
} catch (e) {}
|
||
})();
|
||
</script>
|
||
<link rel="stylesheet" href="assets/highlight.css" />
|
||
<link rel="stylesheet" href="katex/katex.min.css" />
|
||
<script defer="" src="katex/katex.min.js"></script>
|
||
<script>document.addEventListener("DOMContentLoaded", function () {
|
||
var mathElements = document.getElementsByClassName("math");
|
||
var macros = [];
|
||
for (var i = 0; i < mathElements.length; i++) {
|
||
var texText = mathElements[i].firstChild;
|
||
if (mathElements[i].tagName == "SPAN") {
|
||
katex.render(texText.data, mathElements[i], {
|
||
displayMode: mathElements[i].classList.contains('display'),
|
||
throwOnError: false,
|
||
macros: macros,
|
||
fleqn: false
|
||
});
|
||
}}
|
||
// Der Browser springt zu einem #anker in der URL schon beim ersten Rendern
|
||
// an, BEVOR die KaTeX-Formeln oben im Text ihre finale Hoehe bekommen -
|
||
// durch den Reflow landet der Anker danach zu weit unten. Nach dem
|
||
// Formel-Rendering hier erneut zum Anker springen, das behebt es.
|
||
if (location.hash) {
|
||
var ziel = document.getElementById(decodeURIComponent(location.hash.slice(1)));
|
||
if (ziel) ziel.scrollIntoView({behavior: "instant", block: "start"});
|
||
}
|
||
});
|
||
</script>
|
||
<link rel="stylesheet" href="assets/site.css" />
|
||
</head>
|
||
<body>
|
||
<svg style="display:none" aria-hidden="true"><symbol id="icon-menu" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
|
||
<line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/>
|
||
</symbol>
|
||
<symbol id="icon-search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
|
||
<circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.2" y2="16.2"/>
|
||
</symbol>
|
||
<symbol id="icon-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
|
||
<circle cx="12" cy="12" r="4.5"/>
|
||
<line x1="12" y1="1.5" x2="12" y2="4"/><line x1="12" y1="20" x2="12" y2="22.5"/>
|
||
<line x1="1.5" y1="12" x2="4" y2="12"/><line x1="20" y1="12" x2="22.5" y2="12"/>
|
||
<line x1="4.5" y1="4.5" x2="6.2" y2="6.2"/><line x1="17.8" y1="17.8" x2="19.5" y2="19.5"/>
|
||
<line x1="19.5" y1="4.5" x2="17.8" y2="6.2"/><line x1="6.2" y1="17.8" x2="4.5" y2="19.5"/>
|
||
</symbol>
|
||
<symbol id="icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M20 14.5A8.5 8.5 0 1 1 9.5 4a6.8 6.8 0 0 0 10.5 10.5z"/>
|
||
</symbol>
|
||
<symbol id="icon-chevron-left" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<polyline points="15 4 7 12 15 20"/>
|
||
</symbol>
|
||
<symbol id="icon-chevron-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<polyline points="9 4 17 12 9 20"/>
|
||
</symbol>
|
||
<symbol id="icon-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<polyline points="4 13 9.5 18.5 20 6"/>
|
||
</symbol>
|
||
<symbol id="icon-external-link" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M18 13.5V19a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 19V7A1.5 1.5 0 0 1 5 5.5h5.5"/>
|
||
<polyline points="14.5 3.5 20.5 3.5 20.5 9.5"/><line x1="11" y1="13" x2="20" y2="4"/>
|
||
</symbol>
|
||
<symbol id="icon-book" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M4 5.5A2 2 0 0 1 6 4h6v16H6a2 2 0 0 0-2 1.5z"/>
|
||
<path d="M20 5.5A2 2 0 0 0 18 4h-6v16h6a2 2 0 0 1 2 1.5z"/>
|
||
</symbol>
|
||
<symbol id="icon-copy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>
|
||
</symbol>
|
||
<symbol id="icon-download" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M12 3v12"/><polyline points="7 10 12 15 17 10"/><path d="M4 19.5h16"/>
|
||
</symbol></svg>
|
||
<header class="site-header">
|
||
<button type="button" class="icon-btn" id="sidebar-toggle" aria-label="Menü öffnen"><svg class="icon" aria-hidden="true"><use href="#icon-menu"></use></svg></button>
|
||
<a class="brand" href="index.html"><svg class="icon" aria-hidden="true"><use href="#icon-book"></use></svg> <span>Optimierte Entscheidungsfindung mit Python</span></a>
|
||
<div class="site-search">
|
||
<input id="suche-eingabe" type="search" placeholder="Suchen …" aria-label="Suche" autocomplete="off" />
|
||
<svg class="icon such-icon" aria-hidden="true"><use href="#icon-search"></use></svg>
|
||
<div id="suche-ergebnisse" class="suche-ergebnisse" hidden></div>
|
||
</div>
|
||
<button type="button" class="icon-btn" id="theme-toggle" aria-label="Darstellung umschalten">
|
||
<svg class="icon icon-sun" aria-hidden="true"><use href="#icon-sun"></use></svg><svg class="icon icon-moon" aria-hidden="true"><use href="#icon-moon"></use></svg>
|
||
</button>
|
||
</header>
|
||
<div class="site-body">
|
||
<div class="sidebar-overlay" id="sidebar-overlay" hidden></div>
|
||
<nav class="sidebar" id="sidebar" aria-label="Kapitelnavigation"><div class="sidebar-inhalt"><details class="sidebar-gruppe"><summary>Einstieg</summary><ul><li data-kapitel="vorwort.html"><a href="vorwort.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Vorwort & Lesehilfe</span></a></li><li data-kapitel="notation.html"><a href="notation.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Notation & Abkürzungen</span></a></li></ul></details><details class="sidebar-gruppe"><summary>Teil I: Grundlagen des Operations Research</summary><ul><li data-kapitel="einfuehrung.html"><a href="einfuehrung.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 1: Einführung in Operations Research — Vom Ursprung zur mathematischen Entscheidungsfindung</span></a></li><li data-kapitel="fundament.html"><a href="fundament.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 2: Das mathematische Fundament — Vektoren, Matrizen, Konvexität</span></a></li><li data-kapitel="oekosystem.html"><a href="oekosystem.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 3: Das Python-Ökosystem für OR — Solver, Bindings und Modellierungsschichten</span></a></li><li data-kapitel="modellierung.html"><a href="modellierung.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 4: Vom Management-Wunsch zum Modell</span></a></li><li data-kapitel="synthese-grundlagen.html"><a href="synthese-grundlagen.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Synthese Teil I</span></a></li></ul></details><details class="sidebar-gruppe"><summary>Teil II: Die Kernverfahren der deterministischen Optimierung</summary><ul><li data-kapitel="lp.html"><a href="lp.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 5: Lineare Programmierung — Simplex, Dualität und Schattenpreise</span></a></li><li data-kapitel="milp.html"><a href="milp.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 6: Gemischt-ganzzahlige Optimierung — Diskrete Entscheidungen und Branch-and-Bound</span></a></li><li data-kapitel="cpsat.html"><a href="cpsat.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 7: Constraint Programming mit CP-SAT — Logik, Scheduling und Zuweisung</span></a></li><li data-kapitel="graphen.html"><a href="graphen.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 8: Graphen, Flüsse und Touren — Min-Cost-Flow, Matching und VRP</span></a></li><li data-kapitel="metaheuristiken.html"><a href="metaheuristiken.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 9: Metaheuristiken — wenn der exakte Solver aussteigt</span></a></li><li data-kapitel="dekomposition.html"><a href="dekomposition.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 10: Spaltengenerierung — das Modell umbauen statt die Lösung raten</span></a></li><li data-kapitel="synthese-kernverfahren.html"><a href="synthese-kernverfahren.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Synthese Teil II</span></a></li></ul></details><details class="sidebar-gruppe"><summary>Teil III: Nichtlinearität, Unsicherheit und mehrperiodige Dynamik</summary><ul><li data-kapitel="qp-nlp.html"><a href="qp-nlp.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 11: Quadratische und nichtlineare Optimierung — KKT, Lagrange, Konvexität</span></a></li><li data-kapitel="unsicherheit.html"><a href="unsicherheit.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 12: Optimierung unter Unsicherheit — Monte-Carlo, Stochastik, Robustheit</span></a></li><li data-kapitel="dynamische-programmierung.html"><a href="dynamische-programmierung.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 13: Dynamische Programmierung — Die Bellman-Gleichung und Order-Execution</span></a></li><li data-kapitel="mehrziel.html"><a href="mehrziel.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 14: Mehrere Ziele — Pareto-Fronten statt Gewichte</span></a></li><li data-kapitel="prognose.html"><a href="prognose.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 15: Predict-then-Optimize — die bessere Prognose, die schlechtere Entscheidung</span></a></li><li data-kapitel="synthese-nichtlinear.html"><a href="synthese-nichtlinear.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Synthese Teil III</span></a></li></ul></details><details class="sidebar-gruppe"><summary>Teil IV: Anwendungen — Energiewirtschaft und Finanzmärkte</summary><ul><li data-kapitel="bruecke.html"><a href="bruecke.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 16: Die Strukturbrücke — dieselbe Mathematik, zwei Welten</span></a></li><li data-kapitel="supplychain.html"><a href="supplychain.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 17: Supply-Chain und Energieeinsatz unter Unsicherheit</span></a></li><li data-kapitel="finanzdaten.html"><a href="finanzdaten.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 18: Finanzdaten-Modellierung — Renditen, Kovarianz und Shrinkage</span></a></li><li data-kapitel="markowitz.html"><a href="markowitz.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 19: Die moderne Portfoliotheorie nach Markowitz</span></a></li><li data-kapitel="cvar.html"><a href="cvar.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 20: Tail-Risiko, CVaR und Transaktionskosten</span></a></li><li data-kapitel="handelsmaschine.html"><a href="handelsmaschine.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 21: Die vollständige quantitative Handelsmaschine</span></a></li><li data-kapitel="synthese-anwendungen.html"><a href="synthese-anwendungen.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Synthese Teil IV</span></a></li></ul></details><details class="sidebar-gruppe"><summary>Teil V: Praxis</summary><ul><li data-kapitel="praxisfallen.html"><a href="praxisfallen.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 22: Praxisfallen und der Weg zum produktiven Einsatz</span></a></li><li data-kapitel="testing.html"><a href="testing.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Kapitel 23: Testen, Messen, Ausliefern</span></a></li><li data-kapitel="synthese-praxis.html"><a href="synthese-praxis.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Synthese Teil V</span></a></li><li data-kapitel="projektwerkstatt.html"><a href="projektwerkstatt.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Projektwerkstatt</span></a></li></ul></details><details class="sidebar-gruppe"><summary>Anhänge</summary><ul><li data-kapitel="anhang-loesungen.html"><a href="anhang-loesungen.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Anhang A: Lösungen zu allen Übungsaufgaben</span></a></li><li data-kapitel="anhang-modellierungsmuster.html"><a href="anhang-modellierungsmuster.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Anhang B: Katalog der Modellierungsmuster</span></a></li><li data-kapitel="anhang-fehlerdiagnose.html"><a href="anhang-fehlerdiagnose.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Anhang C: Fehlerdiagnose-Handbuch</span></a></li><li data-kapitel="anhang-spickzettel.html"><a href="anhang-spickzettel.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Anhang D: Spickzettel der Solver</span></a></li><li data-kapitel="anhang-glossar-literatur.html"><a href="anhang-glossar-literatur.html"><span class="fortschritt-haken"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg></span><span>Anhang E: Glossar und Literatur</span></a></li></ul></details><ul class="sidebar-extra"><li><a href="programme.html"><svg class="icon" aria-hidden="true"><use href="#icon-book"></use></svg> Beispielprogramme</a></li><li><a href="stichwortverzeichnis.html"><svg class="icon" aria-hidden="true"><use href="#icon-search"></use></svg> Stichwortverzeichnis</a></li><li><a href="gesamtdokument.html"><svg class="icon" aria-hidden="true"><use href="#icon-external-link"></use></svg> Gesamtdokument (eine Seite)</a></li><li><a href="Operations_Research_mit_Python_Version_04.pdf" download><svg class="icon" aria-hidden="true"><use href="#icon-download"></use></svg> Download als PDF</a></li></ul></div></nav>
|
||
<main class="content">
|
||
|
||
<nav class="prev-next"><span class="prev-next-leer"></span><span class="prev-next-leer"></span></nav>
|
||
<article>
|
||
|
||
<section class="hero">
|
||
<div class="hero-text">
|
||
<p class="hero-kicker">KOMPENDIUM</p>
|
||
<h1>Optimierte Entscheidungsfindung mit Python</h1>
|
||
<p class="hero-untertitel">Von den mathematischen Grundlagen zur quantitativen
|
||
Portfolio-Optimierung an den Finanzmärkten.</p>
|
||
<div class="hero-badges">
|
||
<span class="badge badge-indigo">HiGHS</span>
|
||
<span class="badge badge-emerald">SciPy</span>
|
||
<span class="badge badge-cyan">Google OR-Tools</span>
|
||
<span class="badge badge-violett">CVXPY</span>
|
||
</div>
|
||
<p class="hero-kompendium"><em>Ein vollständiges Kompendium mit Algorithmen, Constraint
|
||
Programming, Vektor- und Matrixmethoden sowie modernen Python-Solvern (HiGHS, SciPy,
|
||
Google OR-Tools, CVXPY)</em></p>
|
||
<p class="hero-autor">Autor / Herausgeber: Dieter Schlüter<br>
|
||
<dieter(dot)schlueter(atsign)linix(dot)de><br>
|
||
Stand: 8. September 2026</p>
|
||
</div>
|
||
</section>
|
||
<section class="einstieg">
|
||
<h2>Bevor Sie starten</h2>
|
||
<div class="kartenraster"><a class="karte karte-einstieg" href="vorwort.html"><h3>Vorwort & Lesehilfe</h3><p>Zielgruppe, Voraussetzungen und wie dieses Buch aufgebaut ist — der richtige Startpunkt vor Kapitel 1.</p></a><a class="karte karte-einstieg" href="vorwort.html#setup-installation"><h3>Setup & Installation</h3><p>Virtuelle Umgebung anlegen, Pakete installieren, Installationstest ausführen — damit alle Beispielprogramme sofort laufen.</p></a><a class="karte karte-einstieg" href="notation.html"><h3>Notation & Abkürzungen</h3><p>Symbole, Abkürzungen und Konventionen des Buches zum Nachschlagen.</p></a></div>
|
||
</section>
|
||
<section class="lernpfade">
|
||
<h2>Lernpfade</h2>
|
||
<div class="kartenraster"><div class="karte karte-pfad"><h3>Pfad A — Vollständiger Lehrgang (100–140 Stunden)</h3><p><a href="einfuehrung.html#kap-einfuehrung">Kapitel 1</a> bis <a href="testing.html#kap-testing">Kapitel 23</a> in Reihenfolge, danach ein Projekt aus der Projektwerkstatt. Empfohlen, wenn Sie OR systematisch lernen wollen. Rechnen Sie mit 4–6 Stunden je Kapitel inklusive Übungen.</p></div><div class="karte karte-pfad"><h3>Pfad B — Planung, Disposition, Personaleinsatz (ca. 25 Stunden)</h3><p><a href="einfuehrung.html#kap-einfuehrung">Kapitel 1</a> (Bausteine) → <a href="fundament.html#kap-fundament">Kapitel 2</a> (bis <a href="fundament.html#sec:fundament-konvexitaet-die-grenze-zwischen-leicht-und">Abschnitt 2.5</a>) → <a href="modellierung.html#kap-modellierung">Kapitel 4</a> (vom Wunsch zum Modell) → <a href="lp.html#kap-lp">Kapitel 5</a> (LP, Schattenpreise) → <a href="milp.html#kap-milp">Kapitel 6</a> (Ja/Nein-Entscheidungen) → <a href="cpsat.html#kap-cpsat">Kapitel 7</a> (CP-SAT, Scheduling) → Projekt P1 (Vertretungsplaner) oder P2 (Schichtplanung). Das ist der kürzeste Weg zu einem einsetzbaren Dienstplan-Optimierer.</p></div><div class="karte karte-pfad"><h3>Pfad C — Logistik und Tourenplanung (ca. 25 Stunden)</h3><p><a href="einfuehrung.html#kap-einfuehrung">Kapitel 1</a> → <a href="fundament.html#kap-fundament">Kapitel 2</a> (bis <a href="fundament.html#sec:fundament-der-zulaessige-loesungsraum-und-das-polyeder">Abschnitt 2.4</a>) → <a href="lp.html#kap-lp">Kapitel 5</a> → <a href="milp.html#kap-milp">Kapitel 6</a> → <a href="graphen.html#kap-graphen">Kapitel 8</a> (Graphen, VRP) → Projekt P3 (Liefertouren) oder P4 (Lagernetzwerk).</p></div><div class="karte karte-pfad"><h3>Pfad D — Quantitative Finance (ca. 30 Stunden)</h3><p><a href="einfuehrung.html#kap-einfuehrung">Kapitel 1</a> → <a href="fundament.html#kap-fundament">Kapitel 2</a> → <a href="qp-nlp.html#kap-qp-nlp">Kapitel 11</a> (QP, KKT) → <a href="finanzdaten.html#kap-finanzdaten">Kapitel 18</a> (Daten, Shrinkage) → <a href="markowitz.html#kap-markowitz">Kapitel 19</a> (Markowitz) → <a href="cvar.html#kap-cvar">Kapitel 20</a> (CVaR) → <a href="handelsmaschine.html#kap-handelsmaschine">Kapitel 21</a> (Backtest) → Projekt P6 (Portfolio-Rebalancer) oder P7 (Risikoreport). Wichtig: Überspringen Sie <a href="finanzdaten.html#kap-finanzdaten">Kapitel 18</a> nicht. Wer direkt bei Markowitz einsteigt, optimiert Schätzrauschen und wundert sich über absurde Gewichte.</p></div><div class="karte karte-pfad"><h3>Pfad E — Ich habe morgen ein konkretes Problem (2–4 Stunden)</h3><p>Lesen Sie <a href="einfuehrung.html#sec:einfuehrung-historischer-kontext-und-evolution">Abschnitt 1.5</a> (die vier Bausteine) und <a href="modellierung.html#sec:modellierung-glossar">Abschnitt 4.6</a> (welcher Satz welcher Baustein ist), dann <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a> ([Modellierungsmuster](anhang-modellierungsmuster.html)) und suchen Sie dort das Muster, das zu Ihrem Problem passt. Von jedem Muster führt ein Verweis in das zuständige Kapitel. Wie die gewählte Bibliothek es schreibt, steht in <a href="anhang-spickzettel.html#anhang-spickzettel">Anhang D</a> ([Spickzettel](anhang-spickzettel.html)); wenn etwas nicht läuft, in <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a> ([Fehlerdiagnose](anhang-fehlerdiagnose.html)).</p></div></div>
|
||
</section>
|
||
<section class="kapitelgruppe"><h2>Teil I: Grundlagen des Operations Research</h2><div class="kartenraster"><a class="karte karte-kapitel" href="einfuehrung.html"><span class="karte-nummer">Kapitel 1</span><h3>Einführung in Operations Research — Vom Ursprung zur mathematischen Entscheidungsfindung</h3><p>Was Operations Research ist, warum Ausprobieren ab einer gewissen Problemgröße hoffnungslos wird, und aus welchen vier Bausteinen jedes Opti…</p><span class="karte-zeit">⏱ ca. 3,5 Stunden inklusive Übungen.</span></a><a class="karte karte-kapitel" href="fundament.html"><span class="karte-nummer">Kapitel 2</span><h3>Das mathematische Fundament — Vektoren, Matrizen, Konvexität</h3><p>Um die Sprache, in der Optimierungsmodelle aufgeschrieben werden, und um die eine Eigenschaft, die darüber entscheidet, ob ein Problem verlä…</p><span class="karte-zeit">⏱ ca. 5 Stunden.</span></a><a class="karte karte-kapitel" href="oekosystem.html"><span class="karte-nummer">Kapitel 3</span><h3>Das Python-Ökosystem für OR — Solver, Bindings und Modellierungsschichten</h3><p>Warum es für Optimierung in Python mehrere konkurrierende Bibliotheken gibt, was sie unterscheidet, und wie Sie in unter einer Minute die ri…</p><span class="karte-zeit">⏱ ca. 4 Stunden.</span></a><a class="karte karte-kapitel" href="modellierung.html"><span class="karte-nummer">Kapitel 4</span><h3>Vom Management-Wunsch zum Modell</h3><p>Um den Schritt, der vor jedem Solver kommt und über den kaum ein Lehrbuch spricht: aus einem Satz in einer Besprechung ein Modell zu machen.…</p><span class="karte-zeit">⏱ ca. 3 Stunden.</span></a></div></section><section class="kapitelgruppe"><h2>Teil II: Die Kernverfahren der deterministischen Optimierung</h2><div class="kartenraster"><a class="karte karte-kapitel" href="lp.html"><span class="karte-nummer">Kapitel 5</span><h3>Lineare Programmierung — Simplex, Dualität und Schattenpreise</h3><p>Um das Kernverfahren des Operations Research. Wir bauen den Simplex-Algorithmus selbst — nicht um ihn zu verwenden, sondern um zu verstehen,…</p><span class="karte-zeit">⏱ ca. 7 Stunden — das umfangreichste Kapitel von Teil II.</span></a><a class="karte karte-kapitel" href="milp.html"><span class="karte-nummer">Kapitel 6</span><h3>Gemischt-ganzzahlige Optimierung — Diskrete Entscheidungen und Branch-and-Bound</h3><p>Um Entscheidungen, die nicht teilbar sind: ganze Maschinen, Ja/Nein, „höchstens fünf davon“. Wir zeigen mit einem konkreten Gegenbeispiel, w…</p><span class="karte-zeit">⏱ ca. 6,5 Stunden.</span></a><a class="karte karte-kapitel" href="cpsat.html"><span class="karte-nummer">Kapitel 7</span><h3>Constraint Programming mit CP-SAT — Logik, Scheduling und Zuweisung</h3><p>Um ein völlig anderes Denkmodell: Statt algebraischer Ungleichungen arbeitet Constraint Programming mit Wertebereichen und logischen Regeln.…</p><span class="karte-zeit">⏱ ca. 6,5 Stunden.</span></a><a class="karte karte-kapitel" href="graphen.html"><span class="karte-nummer">Kapitel 8</span><h3>Graphen, Flüsse und Touren — Min-Cost-Flow, Matching und VRP</h3><p>Um Probleme, deren natürliche Sprache der Graph ist: Was fließt wohin? Wer wird wem zugeordnet? Welche Route fährt welches Fahrzeug?…</p><span class="karte-zeit">⏱ ca. 6 Stunden.</span></a><a class="karte karte-kapitel" href="metaheuristiken.html"><span class="karte-nummer">Kapitel 9</span><h3>Metaheuristiken — wenn der exakte Solver aussteigt</h3><p>Um den Fall, für den die bisherigen Kapitel keine Antwort haben: Das Problem ist zu groß, der Solver kommt im Zeitlimit nicht zu einem brauc…</p><span class="karte-zeit">⏱ ca. 5 Stunden.</span></a><a class="karte karte-kapitel" href="dekomposition.html"><span class="karte-nummer">Kapitel 10</span><h3>Spaltengenerierung — das Modell umbauen statt die Lösung raten</h3><p>Um die andere Antwort auf die Frage aus Kapitel 9: Was tun, wenn der Solver an der Größe scheitert? Statt die Lösung zu approximieren, formu…</p><span class="karte-zeit">⏱ ca. 3 Stunden.</span></a></div></section><section class="kapitelgruppe"><h2>Teil III: Nichtlinearität, Unsicherheit und mehrperiodige Dynamik</h2><div class="kartenraster"><a class="karte karte-kapitel" href="qp-nlp.html"><span class="karte-nummer">Kapitel 11</span><h3>Quadratische und nichtlineare Optimierung — KKT, Lagrange, Konvexität</h3><p>Risiko ist quadratisch. Sobald Varianz ins Spiel kommt, verlässt man die Welt der Polyeder. Dieses Kapitel liefert das mathematische Fundame…</p><span class="karte-zeit">⏱ ca. 6,5 Stunden.</span></a><a class="karte karte-kapitel" href="unsicherheit.html"><span class="karte-nummer">Kapitel 12</span><h3>Optimierung unter Unsicherheit — Monte-Carlo, Stochastik, Robustheit</h3><p>Bisher waren alle Parameter bekannt. In der Realität sind Nachfrage, Rendite und Fahrzeit Zufallsgrößen. Dieses Kapitel zeigt vier Wege, dam…</p><span class="karte-zeit">⏱ ca. 6,5 Stunden.</span></a><a class="karte karte-kapitel" href="dynamische-programmierung.html"><span class="karte-nummer">Kapitel 13</span><h3>Dynamische Programmierung — Die Bellman-Gleichung und Order-Execution</h3><p>Um Entscheidungsketten: Was heute klug ist, hängt davon ab, was morgen noch möglich sein wird. Die Bellman-Gleichung löst solche Probleme du…</p><span class="karte-zeit">⏱ ca. 5 Stunden.</span></a><a class="karte karte-kapitel" href="mehrziel.html"><span class="karte-nummer">Kapitel 14</span><h3>Mehrere Ziele — Pareto-Fronten statt Gewichte</h3><p>Um den Normalfall, den die bisherigen Kapitel umgangen haben: Es gibt nicht ein Ziel, sondern zwei, die gegeneinander stehen. Kosten und CO₂…</p><span class="karte-zeit">⏱ ca. 4 Stunden.</span></a><a class="karte karte-kapitel" href="prognose.html"><span class="karte-nummer">Kapitel 15</span><h3>Predict-then-Optimize — die bessere Prognose, die schlechtere Entscheidung</h3><p>Um die Naht zwischen zwei Welten, die in getrennten Abteilungen sitzen: Ein Modell prognostiziert, ein anderes entscheidet. Beide arbeiten s…</p><span class="karte-zeit">⏱ ca. 3,5 Stunden.</span></a></div></section><section class="kapitelgruppe"><h2>Teil IV: Anwendungen — Energiewirtschaft und Finanzmärkte</h2><div class="kartenraster"><a class="karte karte-kapitel" href="bruecke.html"><span class="karte-nummer">Kapitel 16</span><h3>Die Strukturbrücke — dieselbe Mathematik, zwei Welten</h3><p>Um den Nachweis, dass die Verfahren aus Teil II und III unverändert in der Finanzwelt funktionieren — und um die drei Stellen, an denen die …</p><span class="karte-zeit">⏱ ca. 2,5 Stunden.</span></a><a class="karte karte-kapitel" href="supplychain.html"><span class="karte-nummer">Kapitel 17</span><h3>Supply-Chain und Energieeinsatz unter Unsicherheit</h3><p>Um einen zusammenhängenden Industriefall, der die Werkzeuge aus Teil II und III zusammenführt: gemischt-ganzzahlige Entscheidungen, Szenarie…</p><span class="karte-zeit">⏱ ca. 4 Stunden.</span></a><a class="karte karte-kapitel" href="finanzdaten.html"><span class="karte-nummer">Kapitel 18</span><h3>Finanzdaten-Modellierung — Renditen, Kovarianz und Shrinkage</h3><p>Um die Eingangsdaten der Portfoliooptimierung — und darum, warum sie trügerisch sind. Wer historische Kovarianzen ungefiltert in einen Optim…</p><span class="karte-zeit">⏱ ca. 5 Stunden.</span></a><a class="karte karte-kapitel" href="markowitz.html"><span class="karte-nummer">Kapitel 19</span><h3>Die moderne Portfoliotheorie nach Markowitz</h3><p>Um das Modell, das 1952 die quantitative Finanzwirtschaft begründete — und um die Restriktionen, ohne die es in der Praxis unbrauchbar bleib…</p><span class="karte-zeit">⏱ ca. 6 Stunden.</span></a><a class="karte karte-kapitel" href="cvar.html"><span class="karte-nummer">Kapitel 20</span><h3>Tail-Risiko, CVaR und Transaktionskosten</h3><p>Um zwei Schwächen des Markowitz-Modells: Es unterschätzt Extremverluste und ignoriert die Kosten des Umschichtens. Beide lassen sich mit kon…</p><span class="karte-zeit">⏱ ca. 5 Stunden.</span></a><a class="karte karte-kapitel" href="handelsmaschine.html"><span class="karte-nummer">Kapitel 21</span><h3>Die vollständige quantitative Handelsmaschine</h3><p>Um das Zusammenführen von allem: Datenpipeline, Signal, Optimierung, Rebalancing, Kostenverbuchung und ein Backtest, der nicht lügt.…</p><span class="karte-zeit">⏱ ca. 6 Stunden.</span></a></div></section><section class="kapitelgruppe"><h2>Teil V: Praxis</h2><div class="kartenraster"><a class="karte karte-kapitel" href="praxisfallen.html"><span class="karte-nummer">Kapitel 22</span><h3>Praxisfallen und der Weg zum produktiven Einsatz</h3><p>Um alles, was zwischen einem funktionierenden Notebook und einem System steht, das Menschen tatsächlich benutzen.…</p><span class="karte-zeit">⏱ ca. 4 Stunden.</span></a><a class="karte karte-kapitel" href="testing.html"><span class="karte-nummer">Kapitel 23</span><h3>Testen, Messen, Ausliefern</h3><p>Um die drei Fragen, die zwischen einem funktionierenden Modell und einem System stehen, auf das sich jemand verlässt: Woher weiß ich, dass e…</p><span class="karte-zeit">⏱ ca. 5 Stunden.</span></a></div></section>
|
||
|
||
</article>
|
||
|
||
<nav class="prev-next"><span class="prev-next-leer"></span><span class="prev-next-leer"></span></nav>
|
||
</main>
|
||
</div>
|
||
<footer class="site-footer">
|
||
<p>© Dieter Schlüter · <a href="gesamtdokument.html">Gesamtdokument</a> ·
|
||
<a href="programme.html">Beispielprogramme</a></p>
|
||
</footer>
|
||
<script defer src="assets/search-index.js"></script>
|
||
<script defer src="assets/programme.js"></script>
|
||
<script defer src="assets/site.js"></script>
|
||
</body>
|
||
</html>
|