operations_research/OR_HTML_04/anhang-glossar.html

860 lines
112 KiB
HTML
Raw Normal View History

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
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
Glossar und Literatur trennen, Menue um Glossar und ZIP-Download ergaenzen 94_Anhang_Glossar_und_Literatur.md enthielt zwei verschiedene Nachschlagewerke in einer Datei. Jetzt sind es zwei Anhaenge: E = Glossar (92 Eintraege), F = Literaturverzeichnis (6 Kategorien). Aus 5 Anhaengen werden 6, aus 36 Kapiteldateien 37. Die Teilung war billig: Die Datei trug bereits zwei eigenstaendige Ueberschriften mit nichts als einem --- dazwischen, und im ganzen Buch gab es genau einen {ref:anhang:glossar-literatur} - die Weiter-mit-Zeile im Spickzettel. Geprueft: keine Inhaltszeile verloren, alle 92 Glossareintraege auf der neuen Seite, Indexmarken unveraendert bei 328. Das Seitenleisten-Menue bekommt zwei Eintraege: Beispielprogramme Notebooks Download Notebooks als ZIP <- neu, eingerueckt Glossar <- neu Stichwortverzeichnis Gesamtdokument (eine Seite) Download als PDF Der ZIP-Link benutzt dieselbe Konstante wie baue_notebooks_seite() beim Schreiben des Archivs, damit Link und Datei nicht auseinanderlaufen. Das Glossar erscheint absichtlich doppelt: hier als Abkuerzung neben dem Stichwortverzeichnis, und unten in der Gruppe "Anhaenge", weil es ein Anhang ist. Die verwaiste anhang-glossar-literatur.html von Hand entfernt - der Build raeumt alte Seiten nicht ab. Nebenbefund, in PROGRESS.md festgehalten: OR_HTML_04/assets/site.css ist eine von Hand gepflegte Quelle, die im als "generiert" beschriebenen Verzeichnis liegt. Der Build schreibt sie nie. Dasselbe gilt fuer site.js, icons.svg, highlight.css und plotly.min.js. --check: 5 Teile, 23 Kapitel, 6 Anhaenge, 296 Abschnitte, 825 Querverweise, 328 Indexmarken, 37 Dateien, 28.544 Zeilen, 305 Hauptueberschriften, keine Warnung. PDF unveraendert 759 Seiten. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 15:48:57 +02:00
<title>Anhang E: Glossar · Optimierte Entscheidungsfindung mit Python</title>
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
<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{idx: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{idx: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{idx: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:
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
<main class="content">
Glossar und Literatur trennen, Menue um Glossar und ZIP-Download ergaenzen 94_Anhang_Glossar_und_Literatur.md enthielt zwei verschiedene Nachschlagewerke in einer Datei. Jetzt sind es zwei Anhaenge: E = Glossar (92 Eintraege), F = Literaturverzeichnis (6 Kategorien). Aus 5 Anhaengen werden 6, aus 36 Kapiteldateien 37. Die Teilung war billig: Die Datei trug bereits zwei eigenstaendige Ueberschriften mit nichts als einem --- dazwischen, und im ganzen Buch gab es genau einen {ref:anhang:glossar-literatur} - die Weiter-mit-Zeile im Spickzettel. Geprueft: keine Inhaltszeile verloren, alle 92 Glossareintraege auf der neuen Seite, Indexmarken unveraendert bei 328. Das Seitenleisten-Menue bekommt zwei Eintraege: Beispielprogramme Notebooks Download Notebooks als ZIP <- neu, eingerueckt Glossar <- neu Stichwortverzeichnis Gesamtdokument (eine Seite) Download als PDF Der ZIP-Link benutzt dieselbe Konstante wie baue_notebooks_seite() beim Schreiben des Archivs, damit Link und Datei nicht auseinanderlaufen. Das Glossar erscheint absichtlich doppelt: hier als Abkuerzung neben dem Stichwortverzeichnis, und unten in der Gruppe "Anhaenge", weil es ein Anhang ist. Die verwaiste anhang-glossar-literatur.html von Hand entfernt - der Build raeumt alte Seiten nicht ab. Nebenbefund, in PROGRESS.md festgehalten: OR_HTML_04/assets/site.css ist eine von Hand gepflegte Quelle, die im als "generiert" beschriebenen Verzeichnis liegt. Der Build schreibt sie nie. Dasselbe gilt fuer site.js, icons.svg, highlight.css und plotly.min.js. --check: 5 Teile, 23 Kapitel, 6 Anhaenge, 296 Abschnitte, 825 Querverweise, 328 Indexmarken, 37 Dateien, 28.544 Zeilen, 305 Hauptueberschriften, keine Warnung. PDF unveraendert 759 Seiten. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 15:48:57 +02:00
<nav class="breadcrumb" aria-label="Breadcrumb"><a href="index.html">Start</a> <span>Anhang E: Glossar</span></nav>
<nav class="prev-next"><a class="prev-next-knopf prev-next-prev" href="anhang-spickzettel.html"><svg class="icon" aria-hidden="true"><use href="#icon-chevron-left"></use></svg><span><small>Zurück</small>Anhang D: Spickzettel der Solver</span></a><a class="prev-next-knopf prev-next-next" href="anhang-literatur.html"><span><small>Weiter</small>Anhang F: Literaturverzeichnis</span><svg class="icon" aria-hidden="true"><use href="#icon-chevron-right"></use></svg></a></nav>
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
<article>
Glossar und Literatur trennen, Menue um Glossar und ZIP-Download ergaenzen 94_Anhang_Glossar_und_Literatur.md enthielt zwei verschiedene Nachschlagewerke in einer Datei. Jetzt sind es zwei Anhaenge: E = Glossar (92 Eintraege), F = Literaturverzeichnis (6 Kategorien). Aus 5 Anhaengen werden 6, aus 36 Kapiteldateien 37. Die Teilung war billig: Die Datei trug bereits zwei eigenstaendige Ueberschriften mit nichts als einem --- dazwischen, und im ganzen Buch gab es genau einen {ref:anhang:glossar-literatur} - die Weiter-mit-Zeile im Spickzettel. Geprueft: keine Inhaltszeile verloren, alle 92 Glossareintraege auf der neuen Seite, Indexmarken unveraendert bei 328. Das Seitenleisten-Menue bekommt zwei Eintraege: Beispielprogramme Notebooks Download Notebooks als ZIP <- neu, eingerueckt Glossar <- neu Stichwortverzeichnis Gesamtdokument (eine Seite) Download als PDF Der ZIP-Link benutzt dieselbe Konstante wie baue_notebooks_seite() beim Schreiben des Archivs, damit Link und Datei nicht auseinanderlaufen. Das Glossar erscheint absichtlich doppelt: hier als Abkuerzung neben dem Stichwortverzeichnis, und unten in der Gruppe "Anhaenge", weil es ein Anhang ist. Die verwaiste anhang-glossar-literatur.html von Hand entfernt - der Build raeumt alte Seiten nicht ab. Nebenbefund, in PROGRESS.md festgehalten: OR_HTML_04/assets/site.css ist eine von Hand gepflegte Quelle, die im als "generiert" beschriebenen Verzeichnis liegt. Der Build schreibt sie nie. Dasselbe gilt fuer site.js, icons.svg, highlight.css und plotly.min.js. --check: 5 Teile, 23 Kapitel, 6 Anhaenge, 296 Abschnitte, 825 Querverweise, 328 Indexmarken, 37 Dateien, 28.544 Zeilen, 305 Hauptueberschriften, keine Warnung. PDF unveraendert 759 Seiten. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 15:48:57 +02:00
<h1 id="anhang-glossar">Anhang E: Glossar</h1>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p>Nachschlagewerk zu allen Fachbegriffen, Abkürzungen, Algorithmen und Bibliotheken dieses Buchs. Jeder Eintrag nennt am Ende den Abschnitt, in dem der Begriff eingeführt wird — ein Klick dorthin führt in der Online-Fassung direkt zur Erklärung im Zusammenhang. Wer einen Begriff an <em>allen</em> Fundstellen sucht, benutzt das Stichwortverzeichnis.</p>
<h2 id="a">A</h2>
<div id="gloss:absolutbetrag">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Absolutbetrag</strong> — Modellierungsmuster für <span class="math inline">|x-z|</span>: Der Betrag selbst ist nicht linear, lässt sich aber durch eine Hilfsvariable <span class="math inline">d</span> mit den beiden Bedingungen <span class="math inline">x-z \le d</span> und <span class="math inline">z-x \le d</span> ersetzen. Das funktioniert nur, wenn <span class="math inline">d</span> minimiert wird — sonst bleibt die Schranke unausgeschöpft. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:adjusted-close">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Adjusted Close</strong> — Um Dividenden und Splits bereinigter Schlusskurs. Nur mit ihm sind Renditen über längere Zeiträume vergleichbar; der unbereinigte Schlusskurs erzeugt an jedem Ausschüttungstag einen Scheinverlust. → <a href="finanzdaten.html#sec:finanzdaten-diskrete-und-logarithmische-renditen">Abschnitt 18.3</a></p>
</div>
<div id="gloss:aktivierungsschalter">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Aktivierungsschalter</strong> — Modellierungsmuster, das eine kontinuierliche Größe an eine Binärvariable koppelt: <span class="math inline">x \le M\,y</span> erlaubt <span class="math inline">x &gt; 0</span> nur, wenn <span class="math inline">y = 1</span> ist. Grundbaustein für Fixkosten, Standortentscheidungen und Mindestmengen. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:almgren-chriss-modell">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Almgren-Chriss-Modell</strong> — Standardmodell der optimalen Orderausführung. Es löst den Zielkonflikt zwischen Marktauswirkung bei schnellem Handeln und Volatilitätsrisiko bei langsamem Handeln und liefert einen Ausführungsplan über mehrere Perioden. → <a href="dynamische-programmierung.html#sec:dynamische-programmierung-das-almgren-chriss-problem-optimale-orderausfuehrung">Abschnitt 13.4</a></p>
</div>
<div id="gloss:alternativoptima">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Alternativoptima</strong> — Mehrere Lösungen mit identischem Zielfunktionswert. Sie treten auf, wenn die Zielfunktion parallel zu einer Kante des Polyeders verläuft oder die Matrix des quadratischen Terms nur semidefinit ist. Der Solver meldet dann eine beliebige davon — zwei Läufe können unterschiedlich aussehen und trotzdem beide optimal sein. → <a href="qp-nlp.html#sec:qp-nlp-das-quadratische-programm-qp">Abschnitt 11.3</a></p>
</div>
<div id="gloss:approximate-dynamic-programming">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Approximate Dynamic Programming</strong> — Sammelbegriff für Verfahren, die die Wertfunktion der dynamischen Programmierung nicht exakt tabellieren, sondern annähern — etwa durch Regression oder ein neuronales Netz. Antwort auf den Fluch der Dimensionalität, wenn der Zustandsraum zu groß zum Durchzählen wird. → <a href="praxisfallen.html#sec:praxisfallen-weiterfuehrende-literatur-und-roadmap">Abschnitt 22.9</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="b">B</h2>
<div id="gloss:backtest">
<p><strong>Backtest</strong> — Rückblickender Test einer Strategie auf historischen Daten. Ein Backtest ist nur so glaubwürdig wie seine Daten, seine Kostenannahme und seine Trennung von Trainings- und Testzeitraum — <a href="handelsmaschine.html#kap-handelsmaschine">Kapitel 21</a> zeigt die fünf Selbsttäuschungen, die ihn wertlos machen. → <a href="handelsmaschine.html#kap-handelsmaschine">Kapitel 21</a></p>
</div>
<div id="gloss:bedingte-kopplung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Bedingte Kopplung</strong> — Modellierungsmuster für „wenn A <strong>und</strong> B, dann C“. Umgesetzt über <span class="math inline">y_C \ge y_A + y_B - 1</span>: Nur wenn beide Voraussetzungen gesetzt sind, wird die Folge erzwungen. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:bellman-gleichung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Bellman-Gleichung</strong> — Rekursionsgleichung der dynamischen Programmierung: Der Wert eines Zustands ist die Summe aus den unmittelbaren Kosten der besten Aktion und dem Wert des Folgezustands. Sie zerlegt eine mehrstufige Entscheidung in eine Kette einstufiger. → <a href="dynamische-programmierung.html#sec:dynamische-programmierung-das-bellmansche-optimalitaetsprinzip">Abschnitt 13.3</a></p>
</div>
<div id="gloss:benders-zerlegung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Benders-Zerlegung</strong> — Dekompositionsverfahren für Probleme mit wenigen „schweren“ und vielen „leichten“ Variablen. Ein Masterproblem entscheidet über die schweren, ein Subproblem über den Rest und schickt Schnitte (Benders-Cuts) zurück, bis beide übereinstimmen. → <a href="praxisfallen.html#sec:praxisfallen-weiterfuehrende-literatur-und-roadmap">Abschnitt 22.9</a></p>
</div>
<div id="gloss:big-m-methode">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Big-M-Methode</strong> — Modellierungstrick, der logische Bedingungen über eine hinreichend große Konstante <span class="math inline">M</span> an eine Binärvariable koppelt. <span class="math inline">M</span> sollte <strong>so klein wie möglich</strong> gewählt werden: Große Werte weichen die Relaxation auf, verschlechtern die Laufzeit und können zu Trickle Flow führen. → <a href="milp.html#sec:milp-modellierungstricks-big-m-und-logische-bedingungen">Abschnitt 6.5</a></p>
</div>
<div id="gloss:binaervariable">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Binärvariable</strong> — Entscheidungsvariable mit Wertebereich <span class="math inline">\{0,1\}</span>. Sie schaltet Fixkosten, Kapazitäten oder logische Alternativen an und aus und macht aus einem linearen Programm ein gemischt-ganzzahliges. → <a href="einfuehrung.html#sec:einfuehrung-die-vier-universellen-bausteine-jedes-or">Abschnitt 1.6</a></p>
</div>
<div id="gloss:bipartites-matching">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Bipartites Matching</strong> — Zuordnung zwischen zwei disjunkten Mengen — etwa Personen und Aufgaben — mit maximalem Nutzen oder minimalen Kosten. Klassisch gelöst durch den Ungarischen Algorithmus; die Modellmatrix ist total unimodular, weshalb schon das LP ganzzahlige Ecken hat. → <a href="graphen.html#sec:graphen-bipartites-matching-das-zuordnungsproblem">Abschnitt 8.4</a></p>
</div>
<div id="gloss:black-box-effekt">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Black-Box-Effekt</strong> — Ablehnung eines Optimierungssystems, weil seine Entscheidungen nicht nachvollziehbar sind. Gegenmittel sind ein Constraint-Trace für Einzelentscheidungen und eine Kostenzerlegung für Bewertungen. Akzeptanz ist keine Nebensache, sondern Betriebsvoraussetzung. → <a href="praxisfallen.html#sec:praxisfallen-die-fuenf-typischen-praxisfallen">Abschnitt 22.3</a></p>
</div>
<div id="gloss:branch-and-bound">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Branch-and-Bound</strong> — Exaktes Verfahren für ganzzahlige Probleme: Der Suchraum wird rekursiv zerlegt (Branching), und ein Zweig wird verworfen, sobald seine Relaxation schlechter ist als die beste bekannte Lösung (Bounding). Ohne das Abschneiden wäre es bloßes Durchprobieren. → <a href="milp.html#sec:milp-branch-and-bound">Abschnitt 6.4</a></p>
</div>
<div id="gloss:branch-and-cut">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Branch-and-Cut</strong> — Kombination aus Branch-and-Bound und Schnittebenenverfahren: In den Knoten des Suchbaums werden zusätzlich gültige Ungleichungen erzeugt, die gebrochene Lösungen abschneiden. Der Standardalgorithmus heutiger MILP-Solver. → <a href="oekosystem.html#sec:oekosystem-die-zwei-schichten-architektur">Abschnitt 3.3</a></p>
</div>
<div id="gloss:brute-force">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Brute Force</strong> — Vollständiges Durchprobieren aller Möglichkeiten. Für kleine Instanzen ein nützlicher Kontrollwert, in der Praxis meist chancenlos: Schon 20 binäre Entscheidungen ergeben über eine Million Kombinationen. → <a href="einfuehrung.html#sec:einfuehrung-was-ist-operations-research-wirklich">Abschnitt 1.3</a></p>
</div>
<div id="gloss:budgeted-uncertainty">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Budgeted Uncertainty</strong> — Robustheitsansatz nach Bertsimas und Sim: Höchstens <span class="math inline">\Gamma</span> von <span class="math inline">n</span> Parametern nehmen gleichzeitig ihren ungünstigsten Wert an. Der Parameter <span class="math inline">\Gamma</span> regelt stufenlos, wie vorsichtig die Lösung wird — bei <span class="math inline">\Gamma = 0</span> nominal, bei <span class="math inline">\Gamma = n</span> maximal pessimistisch. → <a href="unsicherheit.html#sec:unsicherheit-robuste-optimierung-gegen-den-worst-case">Abschnitt 12.6</a></p>
</div>
<div id="gloss:budgetlimit">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Budgetlimit</strong> — Nebenbedingung, die die Summe gewichteter Entscheidungen nach oben begrenzt. Der zugehörige Schattenpreis beantwortet unmittelbar, was eine zusätzliche Budgeteinheit einbrächte. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="c">C</h2>
<div id="gloss:calmar-ratio">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Calmar Ratio</strong> — Jahresrendite geteilt durch den Betrag des maximalen Drawdowns. Ergänzt die Sharpe Ratio um die Verlustperspektive: Sie misst Ertrag je Einheit des schlimmsten erlebten Rückschlags statt je Einheit Schwankung. → <a href="handelsmaschine.html#sec:handelsmaschine-die-engine">Abschnitt 21.5</a></p>
</div>
<div id="gloss:cdcl">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>CDCL</strong><em>Conflict-Driven Clause Learning</em> — das Suchprinzip moderner SAT-Solver. Aus jedem Widerspruch wird eine Sperrklausel abgeleitet, die verhindert, dass dieselbe Sackgasse erneut betreten wird; anschließend springt die Suche gezielt zurück statt Schritt für Schritt. → <a href="cpsat.html#sec:cpsat-ein-anderes-denkmodell">Abschnitt 7.3</a></p>
</div>
<div id="gloss:chance-constraint">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Chance Constraint</strong> — Nebenbedingung, die nicht immer, sondern nur mit vorgegebener Wahrscheinlichkeit gelten muss — etwa „die Versorgung reicht in 95 % der Fälle“. Bei normalverteilter Unsicherheit wird daraus eine konische Bedingung, sonst hilft eine szenariobasierte Big-M-Formulierung. → <a href="unsicherheit.html#sec:unsicherheit-chance-constraints">Abschnitt 12.7</a></p>
</div>
<div id="gloss:column-generation">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Column Generation</strong> — Verfahren für Modelle mit sehr vielen Variablen: Gerechnet wird auf einer kleinen Teilmenge, und ein Preisproblem sucht wiederholt die eine Spalte, die sich noch lohnt. Erst wenn keine mehr existiert, ist das Optimum bewiesen. → <a href="metaheuristiken.html#sec:metaheuristiken-abgrenzung">Abschnitt 9.8</a></p>
</div>
<div id="gloss:conditional-value-at-risk-cvar">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Conditional Value at Risk (CVaR)</strong> — Erwarteter Verlust in den schlechtesten Szenarien jenseits des Value at Risk. Anders als der VaR ist der CVaR kohärent und subadditiv und lässt sich nach Rockafellar und Uryasev exakt als lineares Programm formulieren. → <a href="cvar.html#sec:cvar-value-at-risk-und-conditional-value">Abschnitt 20.4</a></p>
</div>
<div id="gloss:conflict-learning">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Conflict Learning</strong> — Technik moderner SAT- und CP-Solver, aus jedem erkannten Widerspruch eine Sperrklausel abzuleiten. Der Solver lernt so aus Fehlschlägen, statt gleichartige Sackgassen immer wieder zu durchsuchen. → <a href="cpsat.html#sec:cpsat-ein-anderes-denkmodell">Abschnitt 7.3</a></p>
</div>
<div id="gloss:constraint-attribution">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Constraint Attribution</strong> — Diagnoseverfahren für den häufigsten Praxisfall: Das Modell rechnet, der Plan ist zulässig — und trotzdem enttäuschend. Jede Bedingungsgruppe wird einzeln gelockert und gemessen, wie sich der Zielwert ändert. Dasselbe Vorgehen wie der Deletion Filter, nur mit Kosten statt Zulässigkeit als Kriterium. → <a href="praxisfallen.html#sec:praxisfallen-attribution">Abschnitt 22.4</a></p>
</div>
<div id="gloss:constraint-programming-cp">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Constraint Programming (CP)</strong> — Paradigma, das nicht über Zielfunktionsgradienten, sondern über logische Verträglichkeit sucht: Constraints schränken Wertebereiche ein, bis eine zulässige Belegung gefunden ist. Stark bei Reihenfolgen, Schichtplänen und Ressourcenkonflikten. → <a href="cpsat.html#sec:cpsat-ein-anderes-denkmodell">Abschnitt 7.3</a></p>
</div>
<div id="gloss:constraint-propagation">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Constraint Propagation</strong> — Kernmechanismus von CP-Solvern: Aus einer Zuweisung werden unmögliche Werte anderer Variablen sofort entfernt. Der Suchbaum schrumpft dadurch, bevor er überhaupt durchsucht wird. Genau hier liegt der Vorteil globaler Constraints — ihre Propagatoren schließen weit mehr Werte aus als die gleichwertige Menge einzelner Ungleichungen. → <a href="cpsat.html#sec:cpsat-ein-anderes-denkmodell">Abschnitt 7.3</a></p>
</div>
<div id="gloss:constraint-trace">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Constraint-Trace</strong> — Nachvollziehbare Begründung einer einzelnen Solver-Entscheidung — „Warum bekommt Person A die Stunde und nicht Person B?“ — anhand der bindenden Bedingungen und Strafpunkte. Das Gegenmittel zum Black-Box-Effekt. → <a href="praxisfallen.html#sec:praxisfallen-die-fuenf-typischen-praxisfallen">Abschnitt 22.3</a></p>
</div>
<div id="gloss:cp-sat">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>CP-SAT</strong> — Constraint-Programming-Solver von OR-Tools. Er übersetzt ein Modell in boolesche Erfüllbarkeit und löst es mit Propagation, Conflict Learning und paralleler Suche. Für Reihenfolge- und Zuordnungsprobleme meist schneller als ein MILP-Solver. → <a href="cpsat.html#sec:cpsat-ein-anderes-denkmodell">Abschnitt 7.3</a></p>
</div>
<div id="gloss:cp-sat-solver">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>CP-SAT-Solver</strong> — Die Solver-Komponente von OR-Tools, angesprochen über <code>cp_model.CpSolver()</code>. Sie liefert neben der Lösung Statuscode, Laufzeit und die beste bekannte Schranke und lässt sich über <code>num_workers</code> auf mehrere Kerne verteilen. → <a href="cpsat.html#sec:cpsat-ein-anderes-denkmodell">Abschnitt 7.3</a></p>
</div>
<div id="gloss:csr-format">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>CSR-Format</strong><em>Compressed Sparse Row</em> — Speicherformat für dünn besetzte Matrizen, das nur die von null verschiedenen Einträge samt ihrer Positionen ablegt. Für Optimierungsmodelle mit zehntausenden Nebenbedingungen der Unterschied zwischen passt und passt nicht in den Speicher. → <a href="oekosystem.html#sec:oekosystem-ein-system-vier-programmieransaetze">Abschnitt 3.5</a></p>
</div>
<div id="gloss:cvrptw">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>CVRPTW</strong><em>Capacitated Vehicle Routing Problem with Time Windows</em> — Tourenplanung mit einer Flotte, Kapazitätsgrenzen je Fahrzeug und Zeitfenstern je Kunde. Die praxisnahe Variante des VRP und Standardfall der Routing-Bibliothek von OR-Tools. → <a href="graphen.html#sec:graphen-das-vehicle-routing-problem-mit-zeitfenstern">Abschnitt 8.5</a></p>
</div>
<div id="gloss:cvxpy">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>CVXPY</strong> — Modellierungssprache für konvexe Optimierung. Sie schreibt das Problem in mathematiknaher Notation, prüft die Konvexität nach den Regeln der Disciplined Convex Programming und reicht es an einen passenden Solver weiter. → <a href="oekosystem.html#sec:oekosystem-die-werkzeuge-im-vergleich">Abschnitt 3.4</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="d">D</h2>
<div id="gloss:data-snooping">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Data Snooping</strong> — Wiederholtes Ausprobieren von Strategien auf denselben Daten, bis eine gut aussieht. Der Fund ist dann eine Eigenschaft der Stichprobe, nicht des Marktes — gefährlicher als ein Programmierfehler, weil das Ergebnis plausibel wirkt. → <a href="handelsmaschine.html#sec:handelsmaschine-die-fuenf-selbsttaeuschungen-des-backtestens">Abschnitt 21.6</a></p>
</div>
<div id="gloss:dcp-disciplined-convex-programming">
<p><strong>DCP (Disciplined Convex Programming)</strong> — Regelwerk von CVXPY, das jede Variable als konkav, konvex oder affin ausweist und aus der Kombination der Bausteine die Konkavität/Konvexität der Zielfunktion und der Nebenbedingungen erschließt. <a href="qp-nlp.html#kap-qp-nlp">Kapitel 11</a> erklärt es; ein <code>DCPError</code> meldet eine Verletzung. → <a href="qp-nlp.html#kap-qp-nlp">Kapitel 11</a></p>
</div>
<div id="gloss:dcperror">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>DCPError</strong> — Fehlermeldung von CVXPY, wenn ein Ausdruck die Regeln der <em>Disciplined Convex Programming</em> verletzt. Sie besagt nicht, dass das Problem unlösbar ist, sondern dass CVXPY die Konvexität nicht nachweisen kann — meist hilft eine äquivalente Umformung. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
<div id="gloss:deletion-filter">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Deletion Filter</strong> — Verfahren zur Eingrenzung von Unlösbarkeit. Es fragt nicht „ist <em>diese</em> Bedingung schuld?“, sondern „wird <em>diese</em> Bedingung für den Widerspruch überhaupt gebraucht?“, und findet dadurch auch dann eine minimale unlösbare Teilmenge, wenn sich mehrere Widersprüche überlagern. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
<div id="gloss:diskrete-rendite">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Diskrete Rendite</strong> — Einfache Rendite <span class="math inline">(P_t - P_{t-1})/P_{t-1}</span>. Sie ist <strong>über Titel</strong> additiv und deshalb die richtige Wahl für Portfoliogewichte — anders als die logarithmische Rendite, die über die Zeit additiv ist. → <a href="finanzdaten.html#sec:finanzdaten-diskrete-und-logarithmische-renditen">Abschnitt 18.3</a></p>
</div>
<div id="gloss:diversifikation">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Diversifikation</strong> — Risikoreduktion durch Verteilung auf Titel, deren Renditen nicht vollständig gleichlaufen. Der Effekt steckt vollständig in den Kovarianzen: Bei Korrelation 1 verschwindet er, bei negativer Korrelation ist er am größten. → <a href="markowitz.html#sec:markowitz-warum-diversifikation-funktioniert">Abschnitt 19.3</a></p>
</div>
<div id="gloss:dto-data-transfer-object">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>DTO (Data Transfer Object)</strong> — Schlichtes Objekt, das nur Daten transportiert und keine Logik enthält. Im Buch trägt die <code>Loesung</code>-Klasse in <code>or_kern.py</code> das Ergebnis eines Solverlaufs so aus der Rechenschicht heraus. → <a href="oekosystem.html#sec:oekosystem-ein-system-vier-programmieransaetze">Abschnitt 3.5</a></p>
</div>
<div id="gloss:dual-simplex">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Dual Simplex</strong> — Variante des Simplex-Verfahrens, die eine dual zulässige Basis beibehält und die primale Zulässigkeit herstellt. Das Verfahren der Wahl beim Warm-Start, etwa in jedem Knoten eines Branch-and-Bound-Baums. → <a href="oekosystem.html#sec:oekosystem-die-zwei-schichten-architektur">Abschnitt 3.3</a></p>
</div>
<div id="gloss:duales-problem">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Duales Problem</strong> — Das jedem Optimierungsproblem zugeordnete Gegenstück, dessen Variablen die Nebenbedingungen des Originals bepreisen. Seine Optimalwerte sind die Schattenpreise; im Optimum stimmen beide Zielfunktionswerte überein. → <a href="lp.html#sec:lp-dualitaet-und-schattenpreise">Abschnitt 5.6</a></p>
</div>
<div id="gloss:dualitaetstheorie">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Dualitätstheorie</strong> — Theorie des Zusammenhangs zwischen einem Optimierungsproblem und seinem Dualproblem. Der schwache Dualitätssatz liefert stets eine Schranke, der starke besagt, dass bei linearen Programmen beide Optima zusammenfallen. → <a href="lp.html#sec:lp-dualitaet-und-schattenpreise">Abschnitt 5.6</a></p>
</div>
<div id="gloss:dynamische-programmierung-dp">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Dynamische Programmierung (DP)</strong> — Lösungsprinzip für mehrstufige Entscheidungen: Das Problem wird in Zustände und Stufen zerlegt und rückwärts gelöst, wobei jeder Zustand nur einmal bewertet wird. Voraussetzung ist das Optimalitätsprinzip. → <a href="dynamische-programmierung.html#sec:dynamische-programmierung-das-bellmansche-optimalitaetsprinzip">Abschnitt 13.3</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="e">E</h2>
<div id="gloss:ecke-extrempunkt">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Ecke (Extrempunkt)</strong> — Punkt des zulässigen Bereichs, der sich nicht als echte Mischung zweier anderer zulässiger Punkte schreiben lässt. Nach dem Fundamentalsatz der linearen Optimierung liegt in einer Ecke stets ein Optimum — deshalb sucht der Simplex nur dort. → <a href="fundament.html#sec:fundament-der-zulaessige-loesungsraum-und-das-polyeder">Abschnitt 2.4</a></p>
</div>
<div id="gloss:effizienzgrenze-efficient-frontier">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Effizienzgrenze (Efficient Frontier)</strong> — Kurve aller Portfolios, die zu gegebenem Risiko die höchste erwartete Rendite liefern. Portfolios darunter sind dominiert, Portfolios darüber unerreichbar. → <a href="markowitz.html#sec:markowitz-das-mean-variance-modell">Abschnitt 19.4</a></p>
</div>
<div id="gloss:entartung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Entartung</strong> — Zustand, in dem mehr Nebenbedingungen aktiv sind, als Variablen frei bleiben. Der Simplex kann dann Basiswechsel ohne Zielwertverbesserung durchführen, und die Schattenpreise sind nicht mehr eindeutig — zwei Solver dürfen verschiedene, gleichermaßen korrekte Dualwerte melden. → <a href="lp.html#sec:lp-entartung">Abschnitt 5.9</a></p>
</div>
<div id="gloss:entscheidungsvariable">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Entscheidungsvariable</strong> — Die vom Solver frei wählbare Größe eines Modells. Ihr Wertebereich — kontinuierlich, ganzzahlig oder binär — bestimmt die Problemklasse und damit den Lösungsaufwand. → <a href="einfuehrung.html#sec:einfuehrung-die-vier-universellen-bausteine-jedes-or">Abschnitt 1.6</a></p>
</div>
<div id="gloss:entscheidungsvektor">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Entscheidungsvektor</strong> — Zusammenfassung aller Entscheidungsvariablen zu einem Vektor <span class="math inline">\mathbf{x}</span>. Erst diese Schreibweise macht die kompakte Matrixform eines Modells möglich. → <a href="fundament.html#sec:fundament-warum-ueberhaupt-vektoren-und-matrizen">Abschnitt 2.3</a></p>
</div>
<div id="gloss:entweder-oder-bedingung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Entweder-Oder-Bedingung</strong> — Modellierungsmuster für sich ausschließende Alternativen: Genau eine von mehreren Bedingungen soll gelten. Umgesetzt über Binärvariablen mit Summe 1 und Big-M-Kopplung an die jeweilige Bedingung. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:error-maximizer-effekt">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Error-Maximizer-Effekt</strong> — Eigenschaft der Mean-Variance-Optimierung, Schätzfehler zu verstärken statt auszugleichen. Der Optimierer sucht gezielt die Richtungen mit der niedrigsten geschätzten Varianz — und das sind genau jene, deren Varianz am stärksten unterschätzt wurde. → <a href="finanzdaten.html#sec:finanzdaten-das-schaetzfehler-problem">Abschnitt 18.4</a></p>
</div>
<div id="gloss:evpi-expected-value-of-perfect-information">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>EVPI (Expected Value of Perfect Information)</strong> — Differenz zwischen den erwarteten Kosten unter Unsicherheit und den Kosten bei perfektem Wissen. Obergrenze für den Wert jeder Prognoseverbesserung: Keine noch so gute Vorhersage kann mehr einbringen. → <a href="unsicherheit.html#sec:unsicherheit-zweistufige-stochastische-programmierung">Abschnitt 12.5</a></p>
</div>
<div id="gloss:exklusiv-oder">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Exklusiv-Oder</strong> — Modellierungsmuster für „genau eine von zwei Optionen“: <span class="math inline">y_A + y_B = 1</span>. Die Abgrenzung zum einfachen Oder (<span class="math inline">y_A + y_B \ge 1</span>) ist in der Praxis eine häufige Fehlerquelle. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:expected-shortfall">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Expected Shortfall</strong> — Anderer Name für den Conditional Value at Risk; in der Bankenregulierung die gebräuchliche Bezeichnung. Beide meinen den erwarteten Verlust jenseits des VaR-Quantils. → <a href="cvar.html#sec:cvar-value-at-risk-und-conditional-value">Abschnitt 20.4</a></p>
</div>
<div id="gloss:explainable-or">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Explainable OR</strong> — Nachvollziehbarmachung von Solver-Ergebnissen über Schattenpreise, aktive Restriktionen, Constraint-Trace und Kostenzerlegung. Das Gegenstück zu Explainable AI für Optimierungsmodelle. → <a href="praxisfallen.html#sec:praxisfallen-die-fuenf-typischen-praxisfallen">Abschnitt 22.3</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="f">F</h2>
<div id="gloss:fallback-strategie">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Fallback-Strategie</strong> — Festgelegtes Vorgehen für den Fall, dass der Solver kein Ergebnis liefert: letzter gültiger Plan, regelbasierte Notlösung, Alarm. Niemals: nichts. → <a href="praxisfallen.html#sec:praxisfallen-architektur-einer-produktionsreifen-or-plattform">Abschnitt 22.5</a></p>
</div>
<div id="gloss:falsche-dualwerte">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Falsche Dualwerte</strong> — Fehlerbild, bei dem Schattenpreise unplausibel wirken. Zwei Ursachen dominieren: Entartung macht sie mehrdeutig, und ganzzahlige Modelle haben streng genommen gar keine Dualwerte — was ein MILP-Solver zurückgibt, gehört zur Relaxation des letzten Knotens. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
<div id="gloss:fat-tails">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Fat Tails</strong> — Verteilungsränder, die dicker auslaufen als bei der Normalverteilung. Extremereignisse sind dann deutlich häufiger als das Normalmodell vorhersagt — der Grund, warum varianzbasierte Risikomaße das Verlustrisiko unterschätzen. → <a href="cvar.html#sec:cvar-die-zwei-schwaechen-des-markowitz-modells">Abschnitt 20.3</a></p>
</div>
<div id="gloss:fluch-der-dimensionalitaet">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Fluch der Dimensionalität</strong> — Exponentielles Wachstum des Zustandsraums mit jeder zusätzlichen Zustandsdimension. Es begrenzt die dynamische Programmierung und motiviert näherungsweise Verfahren. → <a href="dynamische-programmierung.html#sec:dynamische-programmierung-der-fluch-der-dimensionalitaet">Abschnitt 13.5</a></p>
</div>
<div id="gloss:fluch-des-durchschnitts-flaw-of-averages">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Fluch des Durchschnitts (Flaw of Averages)</strong> — Systematischer Fehler beim Planen mit Erwartungswerten statt mit Verteilungen. Das Ergebnis der Durchschnittsrechnung ist im Allgemeinen nicht der Durchschnitt der Ergebnisse; formal folgt das aus der Jensenschen Ungleichung. → <a href="unsicherheit.html#sec:unsicherheit-der-fluch-des-durchschnitts">Abschnitt 12.3</a></p>
</div>
<div id="gloss:flusserhaltung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Flusserhaltung</strong> — Bedingung, dass an jedem Knoten Abfluss minus Zufluss dem Saldo des Knotens entspricht — das Kirchhoff-Gesetz der Netzwerkoptimierung. Summieren sich die Salden nicht zu null, ist das Problem grundsätzlich unlösbar. → <a href="graphen.html#sec:graphen-graphen-als-modellsprache">Abschnitt 8.3</a></p>
</div>
<div id="gloss:fundamentalsatz-der-linearen-optimierung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Fundamentalsatz der linearen Optimierung</strong> — Das Optimum eines lösbaren linearen Programms wird stets in mindestens einer Ecke des zulässigen Polyeders angenommen. Die Rechtfertigung dafür, nur endlich viele Ecken statt unendlich vieler Punkte zu prüfen. → <a href="fundament.html#sec:fundament-der-zulaessige-loesungsraum-und-das-polyeder">Abschnitt 2.4</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="g">G</h2>
<div id="gloss:gemischt-ganzzahlige-optimierung-milp">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Gemischt-ganzzahlige Optimierung (MILP)</strong><em>Mixed-Integer Linear Programming</em> — lineares Modell mit mindestens einer ganzzahligen oder binären Variablen. Die Ganzzahligkeit macht das Problem NP-schwer; gelöst wird es mit Branch-and-Cut. → <a href="milp.html#sec:milp-warum-runden-fundamental-scheitert">Abschnitt 6.3</a></p>
</div>
<div id="gloss:genetischer-algorithmus">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Genetischer Algorithmus</strong> — Metaheuristik, die eine Population von Lösungen durch Selektion, Rekombination und Mutation weiterentwickelt. Sie gibt keine Optimalitätsgarantie, kommt dafür mit Zielfunktionen zurecht, die weder linear noch differenzierbar sind. → <a href="metaheuristiken.html#sec:metaheuristiken-abgrenzung">Abschnitt 9.8</a></p>
</div>
<div id="gloss:gestaffelte-preise">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Gestaffelte Preise</strong> — Modellierungsmuster für Mengenrabatte und Tarifstufen. Die Menge wird in Segmente zerlegt, jedes mit eigenem Preis; Binärvariablen erzwingen, dass ein Segment erst genutzt wird, wenn das vorhergehende ausgeschöpft ist. Ohne diese Reihenfolgebedingung sucht sich der Solver einfach das billigste Segment heraus. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:gil-global-interpreter-lock">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>GIL (Global Interpreter Lock)</strong> — Sperre des CPython-Interpreters, die verhindert, dass zwei Threads gleichzeitig Python-Code ausführen. Sie ist der Grund, warum echte Parallelität in Python über Prozesse statt Threads läuft — Solver umgehen sie, weil sie in C++ rechnen. → <a href="notation.html">Notation und Abkürzungen</a></p>
</div>
<div id="gloss:gini-koeffizient">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Gini-Koeffizient</strong> — Maß für die Ungleichverteilung einer Größe zwischen 0 (alle gleich) und 1 (einer bekommt alles). Im Buch als Fairnesskennzahl für Wunscherfüllungsquoten verwendet. → <a href="projektwerkstatt.html">Projektwerkstatt</a></p>
</div>
<div id="gloss:gleitendes-fenster">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Gleitendes Fenster</strong> — Auswertung, bei der ein Zeitfenster fester Länge über die Daten geschoben wird. Grundlage rollierender Schätzungen und des Walk-Forward-Backtests. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:global-minimum-variance-portfolio-gmv">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Global Minimum Variance Portfolio (GMV)</strong> — Portfolio kleinstmöglicher Varianz. Es benötigt <strong>keine Renditeprognose</strong> und ist deshalb deutlich robuster gegen Schätzfehler als das renditemaximierende Mean-Variance-Portfolio. → <a href="markowitz.html#sec:markowitz-das-mean-variance-modell">Abschnitt 19.4</a></p>
</div>
<div id="gloss:globale-constraints">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Globale Constraints</strong> — Vorgefertigte Bausteine wie <code>AllDifferent</code>, <code>NoOverlap</code> oder <code>Cumulative</code>, die häufige Strukturen kompakt ausdrücken. Ihr eigentlicher Wert sind die spezialisierten Propagatoren, die weit mehr Werte ausschließen als die gleichwertige Menge einzelner Ungleichungen. → <a href="cpsat.html#sec:cpsat-globale-constraints-die-bausteine-von-cp">Abschnitt 7.4</a></p>
</div>
<div id="gloss:globales-minimum">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Globales Minimum</strong> — Der kleinste Zielfunktionswert im gesamten zulässigen Bereich. Bei konvexen Problemen ist jedes lokale Minimum zugleich global — der Grund, warum Konvexität die Grenze zwischen leicht und schwer markiert. → <a href="fundament.html#sec:fundament-konvexitaet-die-grenze-zwischen-leicht-und">Abschnitt 2.5</a></p>
</div>
<div id="gloss:glop">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>GLOP</strong><em>Google Linear Optimization Package</em> — der LP-Solver in OR-Tools. Er löst rein kontinuierliche Probleme; sobald Ganzzahligkeit ins Spiel kommt, übernimmt CP-SAT oder ein MILP-Backend. → <a href="notation.html">Notation und Abkürzungen</a></p>
</div>
<div id="gloss:goldene-regel-des-backtestens">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Goldene Regel des Backtestens</strong> — Zum Zeitpunkt <span class="math inline">t</span> darf nur Information verwendet werden, die zu <span class="math inline">t</span> vorlag. Der Selbsttest mit absichtlich manipulierter Zukunft prüft das automatisch: Wird der Backtest dadurch besser, liegt ein Lookahead-Bias vor. → <a href="handelsmaschine.html#sec:handelsmaschine-zusammenfassung">Abschnitt 21.12</a></p>
</div>
<div id="gloss:gradient">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Gradient</strong> — Vektor der partiellen Ableitungen einer Funktion; er zeigt in Richtung des steilsten Anstiegs. Gradientenbasierte Verfahren wie SLSQP nutzen ihn, um sich schrittweise an ein Optimum heranzutasten. → <a href="qp-nlp.html#sec:qp-nlp-lernziele">Abschnitt 11.2</a></p>
</div>
<div id="gloss:graphen">
<p><strong>Graphen</strong> — Mathematische Struktur aus Knoten und Kanten; das Modellierungsmittel für Netzwerke, Touren und Flüsse. <a href="graphen.html#kap-graphen">Kapitel 8</a> behandelt Min-Cost-Flow, Matching und das Vehicle Routing Problem als Graphanwendungen. → <a href="graphen.html#kap-graphen">Kapitel 8</a></p>
</div>
<div id="gloss:gurobi">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Gurobi</strong> — Kommerzieller Hochleistungssolver für LP, MILP und QP. Im Buch nicht vorausgesetzt, aber als Referenzpunkt genannt: Über die Modellierungsschicht lässt er sich meist durch Ändern eines einzigen Arguments einsetzen. → <a href="milp.html#sec:milp-branch-and-bound">Abschnitt 6.4</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="h">H</h2>
<div id="gloss:herfindahl-index">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Herfindahl-Index</strong> — Summe der quadrierten Anteile; Maß für Konzentration. Sein Kehrwert ist die <em>effektive Titelzahl</em> und beantwortet, auf wie viele gleich große Positionen ein Portfolio praktisch verteilt ist. → <a href="projektwerkstatt.html">Projektwerkstatt</a></p>
</div>
<div id="gloss:hierarchische-relaxation">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Hierarchische Relaxation</strong> — Gegenmittel gegen Unlösbarkeit im Betrieb: Jede harte Bedingung, die im Notfall gebrochen werden darf, erhält eine teure Schlupfvariable. Der Solver liefert dann immer einen Plan und zeigt zugleich präzise, wo es klemmt. → <a href="praxisfallen.html#sec:praxisfallen-die-fuenf-typischen-praxisfallen">Abschnitt 22.3</a></p>
</div>
<div id="gloss:highs">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>HiGHS</strong> — Offener Hochleistungssolver für LP, MILP und QP. Backend von <code>scipy.optimize.linprog</code> und CVXPY, direkt ansprechbar über <code>highspy</code>. → <a href="oekosystem.html#sec:oekosystem-die-werkzeuge-im-vergleich">Abschnitt 3.4</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="i">I</h2>
<div id="gloss:iis-irreducible-infeasible-subset">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>IIS (Irreducible Infeasible Subset)</strong> — Minimale Menge von Nebenbedingungen, die zusammen unlösbar sind, deren echte Teilmengen aber alle lösbar wären. Das präziseste Ergebnis, das eine Unlösbarkeitsdiagnose liefern kann. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
<div id="gloss:implikation">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Implikation</strong> — Modellierungsmuster für „wenn A, dann B“: <span class="math inline">y_B \ge y_A</span>. Die Umkehrung gilt dabei ausdrücklich nicht — <span class="math inline">B</span> darf auch ohne <span class="math inline">A</span> gesetzt sein. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:importfehler-zwischen-ortools-und-highspy">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Importfehler zwischen ortools und highspy</strong> — Absturz beim Import beider Bibliotheken im selben Prozess: Sie bringen je eine eigene HiGHS-Kopie mit, deren C++-Symbole kollidieren. Abhilfe ist die Trennung in getrennte Prozesse — CVXPY zieht ein installiertes <code>highspy</code> dabei ungefragt mit hinein. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
<div id="gloss:infeasibility">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Infeasibility</strong> — Zustand eines Modells ohne jede zulässige Lösung. Im Betrieb über Schlupfvariablen mit hohem Strafgewicht aufzufangen, in der Diagnose über den Deletion Filter einzugrenzen. → <a href="praxisfallen.html#sec:praxisfallen-die-fuenf-typischen-praxisfallen">Abschnitt 22.3</a></p>
</div>
<div id="gloss:instabile-loesung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Instabile Lösung</strong> — Fehlerbild, bei dem winzige Datenänderungen die Lösung völlig umwerfen. Meist eine Folge schlechter Konditionierung; die Konditionszahl zeigt es an, die Ruiz-Equilibrierung behebt es. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
<div id="gloss:interior-point-verfahren">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Interior-Point-Verfahren</strong> — Lösungsverfahren, das sich durch das Innere des zulässigen Bereichs zum Optimum bewegt, statt Ecken abzulaufen. Bei sehr großen Modellen oft schneller als der Simplex, liefert dafür keine Basislösung und damit weniger brauchbare Sensitivitätsinformationen. → <a href="oekosystem.html#sec:oekosystem-die-zwei-schichten-architektur">Abschnitt 3.3</a></p>
</div>
<div id="gloss:intervallvariable">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Intervallvariable</strong> — Variable mit Start, Dauer und Ende, die in CP-SAT eine Aktivität beschreibt. Sie ist die Voraussetzung für Überschneidungsverbote und Ressourcenprofile. → <a href="cpsat.html#sec:cpsat-globale-constraints-die-bausteine-von-cp">Abschnitt 7.4</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="j">J</h2>
<div id="gloss:jensensche-ungleichung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Jensensche Ungleichung</strong> — Für konvexe Funktionen gilt <span class="math inline">\mathbb{E}[f(X)] \ge f(\mathbb{E}[X])</span>. Die formale Grundlage des Fluchs des Durchschnitts: Mit Mittelwerten zu rechnen unterschätzt systematisch die erwarteten Kosten. → <a href="unsicherheit.html#sec:unsicherheit-der-fluch-des-durchschnitts">Abschnitt 12.3</a></p>
</div>
<div id="gloss:job-shop-scheduling">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Job-Shop-Scheduling</strong> — Ablaufplanung, bei der mehrere Aufträge in je eigener Reihenfolge über dieselben Maschinen laufen. Klassisches Anwendungsfeld von CP-SAT; Zielgröße ist meist der Makespan. → <a href="cpsat.html#sec:cpsat-intervallvariablen-job-shop-scheduling">Abschnitt 7.6</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="k">K</h2>
<div id="gloss:kanonische-standardform">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Kanonische Standardform</strong> — Einheitliche Matrixschreibweise eines LP als <span class="math inline">\min \mathbf{c}^\top\mathbf{x}</span> unter den Bedingungen <span class="math inline">\mathbf{A}\mathbf{x} \le \mathbf{b}</span> und <span class="math inline">\mathbf{x} \ge 0</span>. Jedes lineare Modell lässt sich darauf bringen — Solver erwarten genau diese Form. → <a href="fundament.html#sec:fundament-warum-ueberhaupt-vektoren-und-matrizen">Abschnitt 2.3</a></p>
</div>
<div id="gloss:kapazitaetsvektor">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Kapazitätsvektor</strong> — Der Vektor <span class="math inline">\mathbf{b}</span> der rechten Seiten in <span class="math inline">\mathbf{A}\mathbf{x} \le \mathbf{b}</span>. Seine Einträge sind die verfügbaren Ressourcen, und die zugehörigen Schattenpreise sagen, was eine zusätzliche Einheit davon wert wäre. → <a href="fundament.html#sec:fundament-warum-ueberhaupt-vektoren-und-matrizen">Abschnitt 2.3</a></p>
</div>
<div id="gloss:kardinalitaetsbeschraenkung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Kardinalitätsbeschränkung</strong> — Obergrenze für die Anzahl gleichzeitig aktiver Entscheidungen, formuliert über die Summe der zugehörigen Binärvariablen. Typisch für „höchstens zehn Titel im Depot“. → <a href="milp.html#sec:milp-modellierungstricks-big-m-und-logische-bedingungen">Abschnitt 6.5</a></p>
</div>
<div id="gloss:karush-kuhn-tucker-bedingungen-kkt">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Karush-Kuhn-Tucker-Bedingungen (KKT)</strong> — Notwendige Optimalitätsbedingungen restringierter Probleme: Stationarität, primale und duale Zulässigkeit sowie komplementärer Schlupf. Bei konvexen Problemen sind sie zugleich hinreichend und damit ein vollständiger Optimalitätsnachweis. → <a href="qp-nlp.html#sec:qp-nlp-die-karush-kuhn-tucker-bedingungen">Abschnitt 11.4</a></p>
</div>
<div id="gloss:kohaerentes-risikomass">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Kohärentes Risikomaß</strong> — Risikomaß mit den vier Eigenschaften Monotonie, Subadditivität, positive Homogenität und Translationsinvarianz. Der CVaR erfüllt sie, der VaR nicht — dessen Verletzung der Subadditivität kann Diversifikation rechnerisch bestrafen. → <a href="cvar.html#sec:cvar-value-at-risk-und-conditional-value">Abschnitt 20.4</a></p>
</div>
<div id="gloss:kombinatorische-explosion">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Kombinatorische Explosion</strong> — Überproportionales Wachstum der Zahl möglicher Lösungen mit der Problemgröße. Sie ist der Grund, warum systematisches Ausprobieren schon bei kleinen Instanzen aussichtslos wird. → <a href="einfuehrung.html#sec:einfuehrung-warum-ausprobieren-scheitert-mit-eigener-rechnung">Abschnitt 1.4</a></p>
</div>
<div id="gloss:komplementaerer-schlupf">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Komplementärer Schlupf</strong> — Bedingung <span class="math inline">s_i \cdot y_i = 0</span>: Eine Nebenbedingung ist entweder aktiv (kein Schlupf) oder ihr Schattenpreis verschwindet. Wirtschaftlich gelesen: Nur knappe Ressourcen haben einen Preis. → <a href="lp.html#sec:lp-dualitaet-und-schattenpreise">Abschnitt 5.6</a></p>
</div>
<div id="gloss:konditionszahl">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Konditionszahl</strong> — Verhältnis von größtem zu kleinstem Singulärwert einer Matrix. Sie misst, wie stark kleine Datenänderungen die Lösung verzerren können; hohe Werte kündigen numerische Probleme an, lange bevor der Solver etwas meldet. → <a href="finanzdaten.html#sec:finanzdaten-praxis-datenpipeline-mit-korrekter-spaltenreihenfolge">Abschnitt 18.6</a></p>
</div>
<div id="gloss:konische-optimierung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Konische Optimierung</strong> — Erweiterung der linearen Optimierung auf Kegelbedingungen. Der Second-Order Cone (SOCP) erfasst Normen und damit Risikoschranken, die semidefinite Variante (SDP) Bedingungen an Matrizen. Beide bleiben konvex und damit global lösbar. → <a href="unsicherheit.html#sec:unsicherheit-chance-constraints">Abschnitt 12.7</a></p>
</div>
<div id="gloss:konvexitaet">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Konvexität</strong> — Eigenschaft, bei der jede Verbindungsstrecke zweier Punkte innerhalb der Menge bzw. unterhalb des Funktionsgraphen liegt. Bei konvexen Problemen ist jedes lokale Optimum global — die eigentliche Grenze zwischen leicht und schwer lösbar. → <a href="fundament.html#sec:fundament-konvexitaet-die-grenze-zwischen-leicht-und">Abschnitt 2.5</a></p>
</div>
<div id="gloss:korn-transformation">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Korn-Transformation</strong> — Umformung der nicht-konvexen Sharpe-Ratio-Maximierung in ein konvexes quadratisches Programm durch Homogenisierung. Sie macht aus einem Bruch eine Skalierung und damit aus einem unlösbaren ein lösbares Problem. → <a href="markowitz.html#sec:markowitz-das-mean-variance-modell">Abschnitt 19.4</a></p>
</div>
<div id="gloss:kostenzerlegung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Kostenzerlegung</strong> — Aufschlüsselung eines Zielfunktionswerts in seine Bestandteile — etwa Alpha-Ertrag, Risikoprämie und Transaktionskostenstrafe. Sie beantwortet die Frage „woraus besteht dieses Ergebnis?“ und ist ein Baustein der Erklärbarkeit. → <a href="praxisfallen.html#sec:praxisfallen-die-fuenf-typischen-praxisfallen">Abschnitt 22.3</a></p>
</div>
<div id="gloss:kovarianzmatrix">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Kovarianzmatrix</strong> — Matrix der paarweisen Kovarianzen aller Titel. Sie steuert im Markowitz-Modell den Diversifikationseffekt und ist bei vielen Titeln und wenigen Beobachtungen notorisch schlecht konditioniert. → <a href="finanzdaten.html#sec:finanzdaten-das-schaetzfehler-problem">Abschnitt 18.4</a></p>
</div>
<div id="gloss:kumulative-ressource">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Kumulative Ressource</strong> — Ressource mit begrenzter Kapazität, die mehrere Aktivitäten gleichzeitig nutzen können — etwa vier Monteure. In CP-SAT über <code>AddCumulative</code> ausgedrückt. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="l">L</h2>
<div id="gloss:lagrange-funktion">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Lagrange-Funktion</strong> — Zielfunktion zuzüglich der mit Multiplikatoren gewichteten Nebenbedingungen. Ihre Stationaritätsbedingung ist die erste der KKT-Bedingungen und die Brücke zwischen restringierter und freier Optimierung. → <a href="qp-nlp.html#sec:qp-nlp-die-karush-kuhn-tucker-bedingungen">Abschnitt 11.4</a></p>
</div>
<div id="gloss:lagrange-multiplikator">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Lagrange-Multiplikator</strong> — Gewicht, mit dem eine Nebenbedingung in die Lagrange-Funktion eingeht. Sein Optimalwert ist der Schattenpreis der Bedingung. → <a href="qp-nlp.html#sec:qp-nlp-die-karush-kuhn-tucker-bedingungen">Abschnitt 11.4</a></p>
</div>
<div id="gloss:large-neighborhood-search-lns">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Large Neighborhood Search (LNS)</strong> — Metaheuristik, die wiederholt einen größeren Teil der aktuellen Lösung zerstört und exakt neu aufbaut. Sie verbindet die Reichweite heuristischer Sprünge mit der Genauigkeit eines Solvers auf dem Teilproblem. → <a href="metaheuristiken.html#sec:metaheuristiken-lns">Abschnitt 9.7</a></p>
</div>
<div id="gloss:laufzeitexplosion">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Laufzeitexplosion</strong> — Fehlerbild, bei dem ein Modell nach einer kleinen Erweiterung nicht mehr fertig rechnet. Häufige Ursachen sind ein zu großes <span class="math inline">M</span>, fehlende Symmetriebrechung und eine schwache Relaxation. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
<div id="gloss:ledoit-wolf-shrinkage">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Ledoit-Wolf-Shrinkage</strong> — Schrumpfung der Stichprobenkovarianz in Richtung eines strukturierten Ziels; der optimale Mischungsfaktor wird analytisch bestimmt. <code>scikit-learn</code> verwendet die skalierte Einheitsmatrix als Ziel. → <a href="finanzdaten.html#sec:finanzdaten-ledoit-wolf-shrinkage">Abschnitt 18.5</a></p>
</div>
<div id="gloss:lexikografische-optimierung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Lexikografische Optimierung</strong> — Mehrzielverfahren mit strenger Rangfolge: Das wichtigste Ziel wird optimiert, sein Wert festgeschrieben, dann das zweitwichtigste — und so fort. Kein Ziel darf zugunsten eines nachrangigen verschlechtert werden. → <a href="mehrziel.html#sec:mehrziel-epsilon">Abschnitt 14.7</a></p>
</div>
<div id="gloss:lineare-programmierung-lp">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Lineare Programmierung (LP)</strong><em>Linear Programming</em> — Optimierung einer linearen Zielfunktion unter linearen Nebenbedingungen mit kontinuierlichen Variablen. Die am besten verstandene Problemklasse des Operations Research: in Polynomialzeit lösbar und mit vollständiger Dualitätstheorie. → <a href="lp.html#sec:lp-die-standardform-und-schlupfvariablen">Abschnitt 5.3</a></p>
</div>
<div id="gloss:linopy">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Linopy</strong> — Modellierungsbibliothek, die Optimierungsmodelle über beschriftete Achsen aufbaut (<code>xarray</code>-Stil). Ihre Stärke sind große, regelmäßig indizierte Modelle wie Energiesystemrechnungen. → <a href="oekosystem.html#sec:oekosystem-pyomo-linopy">Abschnitt 3.7</a></p>
</div>
<div id="gloss:linprog">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>linprog</strong> — Funktion <code>scipy.optimize.linprog</code> zum Lösen linearer Programme. Sie erwartet das Modell in kanonischer Standardform als Matrizen und benutzt seit SciPy 1.11 standardmäßig HiGHS als Backend. → <a href="lp.html#sec:lp-die-vorzeichenfalle-bei-schattenpreisen">Abschnitt 5.7</a></p>
</div>
<div id="gloss:logarithmische-rendite">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Logarithmische Rendite</strong> — Stetige Rendite als Logarithmus des Preisverhältnisses. Sie ist <strong>über die Zeit</strong> additiv und deshalb die richtige Wahl für Zeitreihenaggregation — nicht aber für die Gewichtung im Portfolio. → <a href="finanzdaten.html#sec:finanzdaten-diskrete-und-logarithmische-renditen">Abschnitt 18.3</a></p>
</div>
<div id="gloss:lokales-minimum">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Lokales Minimum</strong> — Punkt, der in seiner Umgebung optimal ist, global aber übertroffen werden kann. Bei nichtkonvexen Problemen liefern gradientenbasierte Verfahren nur solche Punkte; ein Multistart macht das Problem sichtbar. → <a href="fundament.html#sec:fundament-konvexitaet-die-grenze-zwischen-leicht-und">Abschnitt 2.5</a></p>
</div>
<div id="gloss:lookahead-bias">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Lookahead-Bias</strong> — Fehler, bei dem Informationen in eine Entscheidung einfließen, die zum Entscheidungszeitpunkt noch nicht vorlagen. Die häufigste Ursache für Backtests, die zu gut aussehen, um wahr zu sein. → <a href="handelsmaschine.html#sec:handelsmaschine-die-fuenf-selbsttaeuschungen-des-backtestens">Abschnitt 21.6</a></p>
</div>
<div id="gloss:lp-relaxation">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>LP-Relaxation</strong> — Das ganzzahlige Modell ohne die Ganzzahligkeitsforderung. Ihre Lösung ist schnell zu berechnen und liefert eine Schranke: Besser als der Relaxationswert kann die ganzzahlige Lösung nicht werden. Genau darauf beruht das Abschneiden im Branch-and-Bound. → <a href="milp.html#sec:milp-branch-and-bound">Abschnitt 6.4</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="m">M</h2>
<div id="gloss:makespan">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Makespan</strong> — Gesamtdurchlaufzeit eines Ablaufplans: der Zeitpunkt, zu dem die letzte Aktivität endet. Standardzielgröße im Job-Shop-Scheduling. → <a href="cpsat.html#sec:cpsat-intervallvariablen-job-shop-scheduling">Abschnitt 7.6</a></p>
</div>
<div id="gloss:mape">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>MAPE</strong><em>Mean Absolute Percentage Error</em> — mittlerer absoluter prozentualer Prognosefehler. Beliebt, weil einheitenfrei, aber unbrauchbar bei Werten nahe null. → <a href="prognose.html#sec:prognose-naht">Abschnitt 15.3</a></p>
</div>
<div id="gloss:marchenko-pastur-gesetz">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Marchenko-Pastur-Gesetz</strong> — Ergebnis der Zufallsmatrizentheorie über die Eigenwertverteilung von Stichproben-Kovarianzmatrizen. Es zeigt, dass die kleinsten Eigenwerte systematisch unterschätzt und die größten überschätzt werden — die theoretische Wurzel des Error-Maximizer-Effekts. → <a href="finanzdaten.html#sec:finanzdaten-das-schaetzfehler-problem">Abschnitt 18.4</a></p>
</div>
<div id="gloss:markowitz-modell-mean-variance">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Markowitz-Modell (Mean-Variance)</strong> — Rahmenwerk, das ein Portfolio über das Zusammenspiel von erwarteter Rendite und Kovarianz bewertet. Es begründete die moderne Portfoliotheorie und ist zugleich das Lehrbeispiel für die Empfindlichkeit gegenüber Schätzfehlern. → <a href="markowitz.html#sec:markowitz-das-mean-variance-modell">Abschnitt 19.4</a></p>
</div>
<div id="gloss:marktauswirkung-market-impact">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Marktauswirkung (Market Impact)</strong> — Preisverschlechterung, die eine eigene Order durch ihr Volumen auslöst. Sie wächst überproportional mit der Handelsgeschwindigkeit und ist der Grund, große Orders über die Zeit zu strecken. → <a href="dynamische-programmierung.html#sec:dynamische-programmierung-das-almgren-chriss-problem-optimale-orderausfuehrung">Abschnitt 13.4</a></p>
</div>
<div id="gloss:matplotlib">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Matplotlib</strong> — Standardbibliothek für statische Diagramme in Python. Im Buch erzeugt sie alle Abbildungen der Druckfassung; die interaktiven Fassungen der Website stammen von Plotly. → <a href="oekosystem.html#sec:oekosystem-die-werkzeuge-im-vergleich">Abschnitt 3.4</a></p>
</div>
<div id="gloss:matrixform">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Matrixform</strong> — Kompakte Schreibweise eines Modells über Vektoren und Matrizen statt einzelner Gleichungen. Sie ist nicht nur kürzer, sondern die Form, die Solver tatsächlich entgegennehmen. → <a href="fundament.html#sec:fundament-zusammenfassung">Abschnitt 2.12</a></p>
</div>
<div id="gloss:matrix-vektor-produkt">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Matrix-Vektor-Produkt</strong> — Rechenoperation <span class="math inline">\mathbf{A}\mathbf{x}</span>, die jede Zeile der Matrix mit dem Vektor multipliziert. In der Optimierung berechnet sie den Ressourcenverbrauch aller Nebenbedingungen in einem Schritt. → <a href="fundament.html#sec:fundament-warum-ueberhaupt-vektoren-und-matrizen">Abschnitt 2.3</a></p>
</div>
<div id="gloss:maximin-fairness">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Maximin-Fairness</strong> — Zielsetzung „der am schlechtesten Gestellte soll möglichst gut dastehen“. Modelliert über eine Hilfsvariable <span class="math inline">t</span> mit <span class="math inline">t \le f_i(\mathbf{x})</span> für alle <span class="math inline">i</span> und Maximierung von <span class="math inline">t</span>. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:maximum-drawdown">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Maximum Drawdown</strong> — Größter prozentualer Rückgang vom bisherigen Höchststand. Anders als die Volatilität misst er den tatsächlich erlittenen Verlustweg und ist deshalb die Kennzahl, an der Anleger aussteigen. → <a href="handelsmaschine.html#sec:handelsmaschine-die-engine">Abschnitt 21.5</a></p>
</div>
<div id="gloss:mensch-in-der-schleife">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Mensch in der Schleife</strong> — Betriebsprinzip, bei dem der Optimierer <strong>vorschlägt</strong> und ein Mensch <strong>entscheidet</strong> — zumindest in der Einführungsphase. Das baut Vertrauen auf und fängt Modellfehler ab, bevor sie wirksam werden. → <a href="praxisfallen.html#sec:praxisfallen-architektur-einer-produktionsreifen-or-plattform">Abschnitt 22.5</a></p>
</div>
<div id="gloss:metaheuristik">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Metaheuristik</strong> — Übergeordnetes Suchschema wie Simulated Annealing, Tabu-Suche oder genetische Algorithmen, das auf viele Problemtypen anwendbar ist. Es liefert gute Lösungen ohne Optimalitätsbeweis und ist dort angebracht, wo exakte Verfahren an der Größe scheitern. → <a href="metaheuristiken.html#sec:metaheuristiken-aufgabe">Abschnitt 9.3</a></p>
</div>
<div id="gloss:min-cost-flow-problem">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Min-Cost-Flow-Problem</strong> — Kostengünstigster Transport durch ein Netzwerk unter Kapazitäts- und Flusserhaltungsbedingungen. Die Modellmatrix ist total unimodular, weshalb schon die LP-Lösung ganzzahlig ausfällt. → <a href="graphen.html#sec:graphen-graphen-als-modellsprache">Abschnitt 8.3</a></p>
</div>
<div id="gloss:mindestabnahmemenge">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Mindestabnahmemenge</strong> — Bedingung „entweder gar nichts oder mindestens <span class="math inline">m</span>“. Sie ist nicht linear und braucht eine Binärvariable: <span class="math inline">m\,y \le x \le M\,y</span>. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:minlp">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>MINLP</strong><em>Mixed-Integer Nonlinear Programming</em> — Modelle mit ganzzahligen Variablen <strong>und</strong> nichtlinearen Funktionen. Die schwierigste der Standardklassen: Sie vereint die kombinatorische Explosion mit dem Problem lokaler Optima. → <a href="qp-nlp.html#sec:qp-nlp-nichtkonvex">Abschnitt 11.6</a></p>
</div>
<div id="gloss:mip-gap">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>MIP-Gap</strong> — Relativer Abstand zwischen der besten gefundenen Lösung und der besten bekannten Schranke. Er beziffert, wie viel im schlechtesten Fall noch fehlt — ein Gap von 2 % heißt: höchstens 2 % besser ist überhaupt möglich. → <a href="praxisfallen.html#sec:praxisfallen-die-fuenf-typischen-praxisfallen">Abschnitt 22.3</a></p>
</div>
<div id="gloss:miqp">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>MIQP</strong><em>Mixed-Integer Quadratic Programming</em> — quadratische Zielfunktion mit ganzzahligen Variablen. Der Fall, der entsteht, sobald ein Portfoliomodell eine Obergrenze für die Zahl der Titel bekommt. → <a href="notation.html">Notation und Abkürzungen</a></p>
</div>
<div id="gloss:monte-carlo-simulation">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Monte-Carlo-Simulation</strong> — Erzeugung vieler Zufallsszenarien, um Kennzahlen empirisch zu schätzen. Sie <strong>bewertet</strong> eine gegebene Entscheidung, optimiert aber nicht — der Unterschied wird in der Praxis häufig übersehen. → <a href="unsicherheit.html#sec:unsicherheit-monte-carlo-simulation">Abschnitt 12.4</a></p>
</div>
<div id="gloss:mse">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>MSE</strong><em>Mean Squared Error</em> — mittlerer quadratischer Fehler. Das Standardmaß der Prognosegüte; es bestraft große Abweichungen überproportional und ist nicht dasselbe wie geringe Entscheidungskosten. → <a href="notation.html">Notation und Abkürzungen</a></p>
</div>
<div id="gloss:mtz-formulierung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>MTZ-Formulierung</strong> — Miller-Tucker-Zemlin-Bedingungen, die über Rangvariablen Kurzzyklen ausschließen. Kompakt in der Zahl der Nebenbedingungen, dafür mit schwacher Relaxation — der klassische Zielkonflikt bei Tourenmodellen. → <a href="graphen.html#sec:graphen-das-vehicle-routing-problem-mit-zeitfenstern">Abschnitt 8.5</a></p>
</div>
<div id="gloss:multi-objective-optimization">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Multi-Objective Optimization</strong> — Optimierung mit mehreren, konkurrierenden Zielen. Statt einer besten Lösung gibt es eine Pareto-Front; die Auswahl daraus ist eine Entscheidung, keine Rechnung. → <a href="praxisfallen.html#sec:praxisfallen-weiterfuehrende-literatur-und-roadmap">Abschnitt 22.9</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="n">N</h2>
<div id="gloss:nebenbedingung-constraint">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Nebenbedingung (Constraint)</strong> — Gleichung oder Ungleichung, die zulässige von unzulässigen Lösungen trennt. Harte Bedingungen müssen erfüllt sein, weiche werden über Strafterme lediglich bepreist. → <a href="einfuehrung.html#sec:einfuehrung-die-vier-universellen-bausteine-jedes-or">Abschnitt 1.6</a></p>
</div>
<div id="gloss:newsvendor-problem">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Newsvendor-Problem</strong> — Klassisches Einperiodenmodell: Wie viel bestellt man bei unsicherer Nachfrage, wenn Überbestand und Fehlmenge unterschiedlich teuer sind? Die Lösung ist ein Quantil des Nachfragemodells, nicht ihr Erwartungswert. → <a href="unsicherheit.html#sec:unsicherheit-schnellstart">Abschnitt 12.1</a></p>
</div>
<div id="gloss:nichtlineare-programmierung-nlp">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Nichtlineare Programmierung (NLP)</strong><em>Nonlinear Programming</em> — Problemklasse mit nichtlinearer Ziel- oder Nebenbedingungsfunktion. Ohne Konvexität liefern Verfahren wie SLSQP nur lokale Optima. → <a href="qp-nlp.html#sec:qp-nlp-nichtlineare-optimierung-mit-scipy-optimize-minimize">Abschnitt 11.5</a></p>
</div>
<div id="gloss:nichtueberlappung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Nichtüberlappung</strong> — Bedingung, dass sich Aktivitäten auf derselben Ressource zeitlich nicht überschneiden. In CP-SAT über <code>AddNoOverlap</code> auf Intervallvariablen ausgedrückt. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:np-schwer">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>NP-schwer</strong> — Komplexitätsklasse von Problemen, für die kein Algorithmus mit polynomialer Laufzeit bekannt ist. Praktisch heißt das: Die Lösungszeit kann mit der Problemgröße explodieren — nicht aber, dass jede Instanz schwer wäre. → <a href="milp.html#sec:milp-branch-and-bound">Abschnitt 6.4</a></p>
</div>
<div id="gloss:numpy">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>NumPy</strong> — Grundbibliothek für numerisches Rechnen in Python. Sie liefert das Array, mit dem Vektoren und Matrizen eines Modells überhaupt erst kompakt und schnell aufgebaut werden können. → <a href="oekosystem.html#sec:oekosystem-die-werkzeuge-im-vergleich">Abschnitt 3.4</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="o">O</h2>
<div id="gloss:operations-research-or">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Operations Research (OR)</strong> — Disziplin, die reale Entscheidungsprobleme in mathematische Modelle überführt und mit exakten oder heuristischen Algorithmen löst. Sie beantwortet nicht „was wird geschehen?“, sondern „was sollen wir tun?“. → <a href="einfuehrung.html#sec:einfuehrung-was-ist-operations-research-wirklich">Abschnitt 1.3</a></p>
</div>
<div id="gloss:optimalitaetsprinzip">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Optimalitätsprinzip</strong> — Grundsatz von Bellman: Jede Teilpolitik einer optimalen Politik ist ihrerseits optimal für den erreichten Zustand. Ohne ihn wäre die Rückwärtsinduktion nicht zulässig. → <a href="dynamische-programmierung.html#sec:dynamische-programmierung-das-bellmansche-optimalitaetsprinzip">Abschnitt 13.3</a></p>
</div>
<div id="gloss:or-tools">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>OR-Tools</strong> — Optimierungssammlung von Google mit CP-SAT, einer Routing-Bibliothek und Anbindungen an LP/MILP-Solver. Im Buch die erste Wahl für Reihenfolge-, Zuordnungs- und Tourenprobleme. → <a href="einfuehrung.html#sec:einfuehrung-lernziele">Abschnitt 1.2</a></p>
</div>
<div id="gloss:overfitting">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Overfitting</strong> — Anpassung eines Modells an Zufälligkeiten der Trainingsdaten statt an die zugrunde liegende Struktur. Im Backtesting die Regel, nicht die Ausnahme — deshalb der Walk-Forward-Test. → <a href="handelsmaschine.html#sec:handelsmaschine-die-fuenf-selbsttaeuschungen-des-backtestens">Abschnitt 21.6</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="p">P</h2>
<div id="gloss:pandas">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>pandas</strong> — Bibliothek für tabellarische Daten mit Zeit- und Beschriftungsindex. Im Buch der übliche Weg von Roh- zu Modelldaten, besonders in den Finanzkapiteln. → <a href="oekosystem.html#sec:oekosystem-die-werkzeuge-im-vergleich">Abschnitt 3.4</a></p>
</div>
<div id="gloss:parameter">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Parameter</strong> — Feststehende Größe eines Modells — Kosten, Kapazitäten, Bedarfe. Parameter werden nicht optimiert, sondern gegeben; ihre Unsicherheit ist der Gegenstand der stochastischen und robusten Optimierung. → <a href="einfuehrung.html#sec:einfuehrung-die-vier-universellen-bausteine-jedes-or">Abschnitt 1.6</a></p>
</div>
<div id="gloss:pareto-front">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Pareto-Front</strong> — Menge aller Lösungen, bei denen kein Ziel verbessert werden kann, ohne ein anderes zu verschlechtern. Sie zeigt den Zielkonflikt als Kurve, statt ihn in einer Gewichtung zu verstecken. → <a href="mehrziel.html#sec:mehrziel-dominanz">Abschnitt 14.3</a></p>
</div>
<div id="gloss:pivotisierung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Pivotisierung</strong> — Basiswechsel im Simplex-Verfahren: Eine Variable verlässt die Basis, eine andere tritt ein. Jeder Pivotschritt entspricht dem Weiterwandern zur benachbarten Ecke des Polyeders. → <a href="lp.html#sec:lp-der-simplex-algorithmus-schritt-fuer-schritt">Abschnitt 5.4</a></p>
</div>
<div id="gloss:plotly">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Plotly</strong> — Bibliothek für interaktive Diagramme im Browser. Die Website des Buchs bindet damit Gantt-Diagramme, Effizienzlinien und Pareto-Fronten zum Zoomen und Erkunden ein. → <a href="oekosystem.html#sec:oekosystem-die-werkzeuge-im-vergleich">Abschnitt 3.4</a></p>
</div>
<div id="gloss:polars">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Polars</strong> — Schnelle DataFrame-Bibliothek mit spaltenorientiertem Speicher und verzögerter Auswertung. Im Buch als Alternative zu pandas dort erwähnt, wo der Modellaufbau selbst zum Engpass wird. → <a href="oekosystem.html#sec:oekosystem-vektorisierung">Abschnitt 3.8</a></p>
</div>
<div id="gloss:polyeder">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Polyeder</strong> — Schnittmenge endlich vieler Halbräume — die geometrische Gestalt des zulässigen Bereichs eines linearen Programms. Seine Ecken sind die Kandidaten für das Optimum. → <a href="fundament.html#sec:fundament-der-zulaessige-loesungsraum-und-das-polyeder">Abschnitt 2.4</a></p>
</div>
<div id="gloss:positiv-semi-definit">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Positiv (semi-)definit</strong> — Eigenschaft einer symmetrischen Matrix, deren Eigenwerte alle <span class="math inline">&gt; 0</span> (definit) bzw. <span class="math inline">\ge 0</span> (semidefinit) sind. Definit bedeutet streng konvex und eine eindeutige Lösung, semidefinit konvex mit möglicherweise mehreren. → <a href="qp-nlp.html#sec:qp-nlp-das-quadratische-programm-qp">Abschnitt 11.3</a></p>
</div>
<div id="gloss:praeskriptive-analytik">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Präskriptive Analytik</strong> — Analysestufe, die vorschreibt, welche Handlung unter den gegebenen Bedingungen die beste ist. Sie folgt auf die deskriptive (was war?) und die prädiktive Stufe (was wird?). → <a href="einfuehrung.html#sec:einfuehrung-was-ist-operations-research-wirklich">Abschnitt 1.3</a></p>
</div>
<div id="gloss:predict-then-optimize">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Predict-then-Optimize</strong> — Zweistufiges Vorgehen: erst prognostizieren, dann mit der Prognose optimieren. Der Bruch liegt dazwischen — das Prognosemodell minimiert Vorhersagefehler, nicht Entscheidungskosten. → <a href="prognose.html#sec:prognose-naht">Abschnitt 15.3</a></p>
</div>
<div id="gloss:primales-problem">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Primales Problem</strong> — Das ursprünglich formulierte Optimierungsproblem, im Gegensatz zu seinem Dualproblem. Welches von beiden „primal“ heißt, ist Konvention: Das Duale des Dualen ist wieder das Primale. → <a href="lp.html#sec:lp-dualitaet-und-schattenpreise">Abschnitt 5.6</a></p>
</div>
<div id="gloss:pydantic">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>pydantic</strong> — Bibliothek zur Validierung von Datenstrukturen anhand von Typannotationen. Im Buch prüft sie die Eingaben des Optimierungsdienstes, bevor ein Modell überhaupt gebaut wird. → <a href="oekosystem.html#sec:oekosystem-die-werkzeuge-im-vergleich">Abschnitt 3.4</a></p>
</div>
<div id="gloss:pymoo">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>pymoo</strong> — Bibliothek für mehrkriterielle Optimierung mit evolutionären Verfahren. Sie liefert Pareto-Fronten dort, wo sich die Ziele nicht sinnvoll skalarisieren lassen. → <a href="oekosystem.html#sec:oekosystem-die-werkzeuge-im-vergleich">Abschnitt 3.4</a></p>
</div>
<div id="gloss:pyomo">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Pyomo</strong> — Umfangreiche Modellierungssprache für Optimierung in Python, mit Unterstützung für abstrakte Modelle, viele Solver und nichtlineare Formulierungen. Mächtiger, aber ausführlicher als CVXPY. → <a href="oekosystem.html#sec:oekosystem-pyomo-linopy">Abschnitt 3.7</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="q">Q</h2>
<div id="gloss:q-learning">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Q-Learning</strong> — Verfahren des bestärkenden Lernens, das den Wert von Zustand-Aktion-Paaren aus Erfahrung schätzt, ohne ein Modell der Umgebung zu kennen. Verwandt mit der dynamischen Programmierung, aber lernend statt rechnend. → <a href="dynamische-programmierung.html#sec:dynamische-programmierung-der-fluch-der-dimensionalitaet">Abschnitt 13.5</a></p>
</div>
<div id="gloss:quadratische-programmierung-qp">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Quadratische Programmierung (QP)</strong><em>Quadratic Programming</em> — Optimierung einer quadratischen Zielfunktion unter linearen Nebenbedingungen. Bei positiv semidefiniter Matrix konvex und damit zuverlässig global lösbar; die Portfoliooptimierung ist der Standardfall. → <a href="qp-nlp.html#sec:qp-nlp-das-quadratische-programm-qp">Abschnitt 11.3</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="r">R</h2>
<div id="gloss:rebalancing">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Rebalancing</strong> — Periodische Rückführung des Portfolios auf die Zielgewichte. Zu häufig kostet Gebühren, zu selten lässt die Gewichte driften — und die Termine müssen Handelstage sein. → <a href="handelsmaschine.html#sec:handelsmaschine-rebalancing-termine-richtig-bestimmen">Abschnitt 21.4</a></p>
</div>
<div id="gloss:regime-shift">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Regime-Shift</strong> — Strukturbruch in den Daten, nach dem historisch geschätzte Momente ihre Gültigkeit verlieren. Kein Modellfehler, sondern eine Eigenschaft der Welt — abzufangen über kürzere Schätzfenster und robuste Formulierungen. → <a href="praxisfallen.html#sec:praxisfallen-die-fuenf-typischen-praxisfallen">Abschnitt 22.3</a></p>
</div>
<div id="gloss:reinforcement-learning">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Reinforcement Learning</strong> — Lernen einer Entscheidungsstrategie aus Rückmeldungen der Umgebung. Es löst dieselbe Klasse mehrstufiger Probleme wie die dynamische Programmierung, benötigt aber kein explizites Übergangsmodell. → <a href="dynamische-programmierung.html#sec:dynamische-programmierung-der-fluch-der-dimensionalitaet">Abschnitt 13.5</a></p>
</div>
<div id="gloss:relaxation">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Relaxation</strong> — Absichtliches Weglassen einschränkender Forderungen — typischerweise der Ganzzahligkeit —, um eine schnell berechenbare Schranke zu gewinnen. Der Wert der Relaxation begrenzt, wie gut die echte Lösung überhaupt werden kann. → <a href="milp.html#sec:milp-branch-and-bound">Abschnitt 6.4</a></p>
</div>
<div id="gloss:robuste-optimierung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Robuste Optimierung</strong> — Auslegung auf den ungünstigsten Fall innerhalb einer Unsicherheitsmenge. Sie verlangt keine Wahrscheinlichkeiten, sondern nur eine Angabe darüber, wie weit die Parameter schwanken können. → <a href="unsicherheit.html#sec:unsicherheit-robuste-optimierung-gegen-den-worst-case">Abschnitt 12.6</a></p>
</div>
<div id="gloss:rockafellar-uryasev-theorem">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Rockafellar-Uryasev-Theorem</strong> — Ergebnis, das die CVaR-Minimierung in eine konvexe Hilfsfunktion überführt. Es macht die Optimierung des Tail-Risikos mit gewöhnlichen linearen Solvern möglich. → <a href="cvar.html#sec:cvar-value-at-risk-und-conditional-value">Abschnitt 20.4</a></p>
</div>
<div id="gloss:routing-bibliothek">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Routing-Bibliothek</strong> — Spezialisierter Teil von OR-Tools für Touren- und Reihenfolgeprobleme. Sie arbeitet heuristisch mit Zeitbudget — „optimal“ wird hier in der Regel nicht bewiesen. → <a href="graphen.html#sec:graphen-zusammenfassung">Abschnitt 8.10</a></p>
</div>
<div id="gloss:rucksackproblem">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Rucksackproblem</strong> — Auswahl von Gegenständen mit Wert und Gewicht unter einer Kapazitätsgrenze. Das Schulbeispiel der ganzzahligen Optimierung und Modell für jede Budgetauswahl. → <a href="milp.html#sec:milp-beispiel-das-rucksackproblem">Abschnitt 6.6</a></p>
</div>
<div id="gloss:rueckwaertsinduktion">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Rückwärtsinduktion</strong> — Lösungsrichtung der dynamischen Programmierung: von der letzten Stufe rückwärts. Nur dort steht der Wert eines Zustands ohne Kenntnis der Zukunft fest, und von dort aus lässt sich jede frühere Stufe auf bereits bekannte Werte zurückführen. → <a href="dynamische-programmierung.html#sec:dynamische-programmierung-lernziele">Abschnitt 13.2</a></p>
</div>
<div id="gloss:ruiz-equilibrierung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Ruiz-Equilibrierung</strong> — Skalierungsverfahren, das Zeilen und Spalten einer Matrix iterativ so multipliziert, dass alle Beträge in derselben Größenordnung liegen. Nach wenigen Durchläufen liegen die Maxima bei 1 — die einfachste wirksame Gegenmaßnahme gegen schlechte Konditionierung. → <a href="fundament.html#sec:fundament-kondition">Abschnitt 2.7</a></p>
</div>
<div id="gloss:ruestzeit">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Rüstzeit</strong> — Umschaltzeit zwischen zwei aufeinanderfolgenden Aufträgen auf derselben Maschine. Sie ist reihenfolgeabhängig und macht aus einer einfachen Zuordnung ein Reihenfolgeproblem. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="s">S</h2>
<div id="gloss:sat-boolean-satisfiability">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>SAT (Boolean Satisfiability)</strong> — Problem, für eine aussagenlogische Formel eine erfüllende Belegung zu finden. Das erste als NP-vollständig bewiesene Problem — und die Sprache, in die CP-SAT jedes Modell übersetzt. → <a href="cpsat.html#sec:cpsat-ein-anderes-denkmodell">Abschnitt 7.3</a></p>
</div>
<div id="gloss:satz-von-birkhoff-und-von-neumann">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Satz von Birkhoff und von Neumann</strong> — Jede doppelt stochastische Matrix ist eine Mischung von Permutationsmatrizen. Er erklärt, warum das Zuordnungsproblem schon als lineares Programm ganzzahlige Lösungen liefert. → <a href="graphen.html#sec:graphen-bipartites-matching-das-zuordnungsproblem">Abschnitt 8.4</a></p>
</div>
<div id="gloss:schattenpreis">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Schattenpreis</strong> — Optimalwert einer Dualvariablen: Um wie viel ändert sich der Zielwert, wenn die zugehörige Ressource um eine Einheit erweitert wird? Er gilt nur lokal — innerhalb des Bereichs, den die Sensitivitätsanalyse ausweist. → <a href="lp.html#sec:lp-dualitaet-und-schattenpreise">Abschnitt 5.6</a></p>
</div>
<div id="gloss:schaetzfehler">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Schätzfehler</strong> — Abweichung geschätzter Größen wie Renditen oder Kovarianzen von ihren wahren Werten. In der Portfoliooptimierung nicht ein Randproblem, sondern das Hauptproblem. → <a href="finanzdaten.html#sec:finanzdaten-das-schaetzfehler-problem">Abschnitt 18.4</a></p>
</div>
<div id="gloss:scheduling">
<p><strong>Scheduling</strong> — Zuweisung von Tätigkeiten an Maschinen oder Personen unter Ressourcen- und Reihenfolgebedingungen. <a href="cpsat.html#kap-cpsat">Kapitel 7</a> behandelt es mit CP-SAT (Intervallvariablen), <a href="metaheuristiken.html#kap-metaheuristiken">Kapitel 9</a> mit Simulated Annealing und LNS. → <a href="cpsat.html#kap-cpsat">Kapitel 7</a></p>
</div>
<div id="gloss:schlupfvariable">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Schlupfvariable</strong> — Nichtnegative Hilfsvariable, die eine Ungleichung in eine Gleichung überführt. Ihr Wert zeigt die ungenutzte Reserve; ist er null, ist die Bedingung bindend. → <a href="lp.html#sec:lp-die-standardform-und-schlupfvariablen">Abschnitt 5.3</a></p>
</div>
<div id="gloss:schnittebenen-cutting-planes">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Schnittebenen (Cutting Planes)</strong> — Zusätzliche gültige Ungleichungen, die gebrochene LP-Lösungen abschneiden, ohne einen einzigen ganzzahligen Punkt zu verlieren. Sie verschärfen die Relaxation und verkleinern damit den Suchbaum. → <a href="milp.html#sec:milp-branch-and-bound">Abschnitt 6.4</a></p>
</div>
<div id="gloss:scikit-learn">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>scikit-learn</strong> — Bibliothek für maschinelles Lernen. Im Buch für Prognosemodelle und für die Ledoit-Wolf-Shrinkage der Kovarianzmatrix eingesetzt. → <a href="oekosystem.html#sec:oekosystem-die-werkzeuge-im-vergleich">Abschnitt 3.4</a></p>
</div>
<div id="gloss:scip">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>SCIP</strong> — Akademischer Solver für gemischt-ganzzahlige lineare und nichtlineare Programme, über OR-Tools und Pyomo ansprechbar. Für Forschung und Lehre frei nutzbar; kommerzieller Einsatz verlangt eine eigene Lizenz. → <a href="milp.html#sec:milp-branch-and-bound">Abschnitt 6.4</a></p>
</div>
<div id="gloss:scipy">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>SciPy</strong> — Wissenschaftliche Standardbibliothek von Python. Ihr Teilmodul <code>scipy.optimize</code> enthält mit <code>linprog</code>, <code>milp</code> und <code>minimize</code> die Einstiegswerkzeuge für lineare, ganzzahlige und nichtlineare Optimierung. → <a href="oekosystem.html#sec:oekosystem-die-werkzeuge-im-vergleich">Abschnitt 3.4</a></p>
</div>
<div id="gloss:semikontinuierliche-variable">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Semikontinuierliche Variable</strong> — Variable, die entweder null ist oder in einem Intervall <span class="math inline">[m, M]</span> liegt. Sie erfasst Mindestlosgrößen und wird über eine Binärvariable modelliert. → <a href="milp.html#sec:milp-modellierungstricks-big-m-und-logische-bedingungen">Abschnitt 6.5</a></p>
</div>
<div id="gloss:sensitivitaetsanalyse">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Sensitivitätsanalyse</strong> — Untersuchung, in welchem Bereich sich Koeffizienten und Kapazitäten ändern dürfen, ohne die Struktur der Optimallösung zu verändern. Sie macht aus einer Zahl eine Aussage über ihre Belastbarkeit. → <a href="lp.html#sec:lp-praxisfall-sensitivitaetsanalyse-mit-korrekten-schattenpreisen">Abschnitt 5.8</a></p>
</div>
<div id="gloss:shannon-entropie">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Shannon-Entropie</strong> — Maß für die Gleichverteiltheit einer Verteilung. Als Zielfunktion eingesetzt erzwingt sie Streuung, ohne eine bestimmte Aufteilung vorzugeben. → <a href="qp-nlp.html#sec:qp-nlp-nichtlineare-optimierung-mit-scipy-optimize-minimize">Abschnitt 11.5</a></p>
</div>
<div id="gloss:sharpe-ratio">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Sharpe Ratio</strong> — Überrendite über den risikofreien Zins je Einheit Volatilität. Ihre Maximierung ist zunächst nicht konvex, wird es aber durch die Korn-Transformation. → <a href="markowitz.html#sec:markowitz-das-mean-variance-modell">Abschnitt 19.4</a></p>
</div>
<div id="gloss:simplex-algorithmus">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Simplex-Algorithmus</strong> — Verfahren von Dantzig, das von Ecke zu Ecke des Polyeders wandert und den Zielfunktionswert dabei monoton verbessert. Im schlechtesten Fall exponentiell, in der Praxis außerordentlich zuverlässig. → <a href="lp.html#sec:lp-der-simplex-algorithmus-schritt-fuer-schritt">Abschnitt 5.4</a></p>
</div>
<div id="gloss:simulated-annealing">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Simulated Annealing</strong> — Metaheuristik nach dem Vorbild des Metallabkühlens: Verschlechterungen werden anfangs häufig, später kaum noch akzeptiert. So entkommt die Suche lokalen Optima, ohne die Richtung ganz zu verlieren. → <a href="metaheuristiken.html#sec:metaheuristiken-annealing">Abschnitt 9.5</a></p>
</div>
<div id="gloss:skalarisierung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Skalarisierung</strong> — Zusammenfassung mehrerer Ziele zu einer gewichteten Summe. Bequem, aber mit zwei Haken: Die Gewichte sind Werturteile, und nicht jeder Punkt der Pareto-Front lässt sich so erreichen. → <a href="mehrziel.html#sec:mehrziel-skalarisierung">Abschnitt 14.4</a></p>
</div>
<div id="gloss:skalarprodukt">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Skalarprodukt</strong> — Summe der paarweisen Produkte zweier Vektoren, <span class="math inline">\mathbf{c}^\top\mathbf{x}</span>. In der Optimierung die kompakte Schreibweise jeder linearen Zielfunktion. → <a href="fundament.html#sec:fundament-warum-ueberhaupt-vektoren-und-matrizen">Abschnitt 2.3</a></p>
</div>
<div id="gloss:slsqp">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>SLSQP</strong><em>Sequential Least Squares Programming</em> — gradientenbasiertes Verfahren in <code>scipy.optimize.minimize</code> für nichtlineare Probleme mit Nebenbedingungen. Es findet lokale Optima; ohne Konvexität entscheidet der Startpunkt über das Ergebnis. → <a href="qp-nlp.html#sec:qp-nlp-nichtlineare-optimierung-mit-scipy-optimize-minimize">Abschnitt 11.5</a></p>
</div>
<div id="gloss:snapshot-prinzip">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Snapshot-Prinzip</strong> — Betriebsregel, nach der jeder Optimierungslauf auf einem unveränderlichen Datenschnappschuss mit eigener Kennung arbeitet. Nur so ist ein Ergebnis später reproduzierbar — und im Streitfall belegbar. → <a href="praxisfallen.html#sec:praxisfallen-architektur-einer-produktionsreifen-or-plattform">Abschnitt 22.5</a></p>
</div>
<div id="gloss:solver">
<p><strong>Solver</strong> — Softwarekomponente, die ein mathematisches Modell löst — also das Optimierungsproblem in eine Lösung übersetzt. <a href="oekosystem.html#kap-oekosystem">Kapitel 3</a> vergleicht die in diesem Buch verwendeten Solver (HiGHS, OR-Tools/CP-SAT, CVXPY) und ihre Stärken. → <a href="oekosystem.html#kap-oekosystem">Kapitel 3</a></p>
</div>
<div id="gloss:solver-status">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Solver-Status</strong> — Rückgabewert, mit dem ein Solver das Ergebnis einordnet: <code>OPTIMAL</code> (bewiesen optimal), <code>FEASIBLE</code> (zulässig, aber unbewiesen), <code>INFEASIBLE</code> (keine zulässige Lösung), <code>UNBOUNDED</code> (Zielwert unbeschränkt) und <code>UNKNOWN</code> (Abbruch ohne Aussage). Ihn ungeprüft zu übergehen ist die häufigste Fehlerquelle im produktiven Einsatz. → <a href="notation.html">Notation und Abkürzungen</a></p>
</div>
<div id="gloss:starker-dualitaetssatz">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Starker Dualitätssatz</strong> — Aussage, dass primales und duales Problem im Optimum denselben Zielfunktionswert besitzen — bei linearen Programmen immer, sobald beide lösbar sind. Er macht den Dualwert zu einem belastbaren Preis statt zu einer bloßen Schranke. → <a href="lp.html#sec:lp-dualitaet-und-schattenpreise">Abschnitt 5.6</a></p>
</div>
<div id="gloss:stichproben-kovarianzmatrix">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Stichproben-Kovarianzmatrix</strong> — Aus historischen Daten geschätzte Kovarianzmatrix. Bei weniger Beobachtungen als Titeln ist sie singulär und damit nicht invertierbar; schon bei ähnlicher Größenordnung wird sie extrem instabil. → <a href="finanzdaten.html#sec:finanzdaten-das-schaetzfehler-problem">Abschnitt 18.4</a></p>
</div>
<div id="gloss:stochastische-programmierung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Stochastische Programmierung</strong> — Optimierung unter Unsicherheit mit bekannten Wahrscheinlichkeiten. In der zweistufigen Form wird zwischen Entscheidungen vor und nach der Beobachtung unterschieden — genau der Unterschied, den der Fluch des Durchschnitts einebnet. → <a href="unsicherheit.html#sec:unsicherheit-zweistufige-stochastische-programmierung">Abschnitt 12.5</a></p>
</div>
<div id="gloss:strafkosten">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Strafkosten</strong> — Kosten, mit denen die Verletzung einer weichen Bedingung in der Zielfunktion belegt wird. Ihre Höhe ist eine Modellierungsentscheidung: Sie legt fest, wie viel Regelverstoß was wert ist. → <a href="einfuehrung.html#sec:einfuehrung-die-vier-universellen-bausteine-jedes-or">Abschnitt 1.6</a></p>
</div>
<div id="gloss:subadditivitaet">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Subadditivität</strong> — Eigenschaft <span class="math inline">\rho(A+B) \le \rho(A)+\rho(B)</span>: Diversifikation darf das Risiko nicht erhöhen. Der VaR verletzt sie, weshalb er kein kohärentes Risikomaß ist. → <a href="cvar.html#sec:cvar-value-at-risk-und-conditional-value">Abschnitt 20.4</a></p>
</div>
<div id="gloss:subtour">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Subtour</strong> — Kurzzyklus, der nur einen Teil der Knoten enthält und das Depot umgeht. Ohne eigene Bedingungen — etwa MTZ — liefert ein Tourenmodell solche Gebilde als scheinbar optimale Lösung. → <a href="graphen.html#sec:graphen-das-vehicle-routing-problem-mit-zeitfenstern">Abschnitt 8.5</a></p>
</div>
<div id="gloss:survivorship-bias">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Survivorship-Bias</strong> — Verzerrung durch die Auswahl nur derjenigen Titel, die es bis heute gibt. Die ausgeschiedenen fehlen — und mit ihnen die schlechtesten Verläufe. → <a href="handelsmaschine.html#sec:handelsmaschine-die-fuenf-selbsttaeuschungen-des-backtestens">Abschnitt 21.6</a></p>
</div>
<div id="gloss:symmetriebrechung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Symmetriebrechung</strong> — Zusätzliche Ordnungsbedingungen, die verhindern, dass der Solver gleichwertige Vertauschungen mehrfach durchsucht. Bei identischen Maschinen oder Fahrzeugen oft der größte einzelne Laufzeitgewinn. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="t">T</h2>
<div id="gloss:tabu-suche">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Tabu-Suche</strong> — Metaheuristik, die zuletzt besuchte Lösungen für einige Schritte sperrt. Die Sperrliste zwingt die Suche aus lokalen Optima heraus, statt zwischen zwei Nachbarn zu pendeln. → <a href="metaheuristiken.html#sec:metaheuristiken-abgrenzung">Abschnitt 9.8</a></p>
</div>
<div id="gloss:tangentialportfolio">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Tangentialportfolio</strong> — Portfolio auf der Effizienzgrenze mit der höchsten Sharpe Ratio — der Berührpunkt der Kapitalmarktlinie. Es reagiert besonders empfindlich auf Renditeschätzfehler. → <a href="markowitz.html#sec:markowitz-das-mean-variance-modell">Abschnitt 19.4</a></p>
</div>
<div id="gloss:technologiematrix">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Technologiematrix</strong> — Die Matrix <span class="math inline">\mathbf{A}</span> der Verbrauchskoeffizienten. Ihr Eintrag <span class="math inline">a_{ij}</span> sagt, wie viel von Ressource <span class="math inline">i</span> eine Einheit von Aktivität <span class="math inline">j</span> verbraucht. Zusammen mit dem Kapazitätsvektor <span class="math inline">\mathbf{b}</span> bildet sie die Nebenbedingungen <span class="math inline">\mathbf{A}\mathbf{x} \le \mathbf{b}</span>. → <a href="fundament.html#sec:fundament-warum-ueberhaupt-vektoren-und-matrizen">Abschnitt 2.3</a></p>
</div>
<div id="gloss:totale-unimodularitaet">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Totale Unimodularität</strong> — Eigenschaft einer Matrix, bei der jede quadratische Teilmatrix die Determinante <span class="math inline">0</span>, <span class="math inline">+1</span> oder <span class="math inline">-1</span> hat. Folge: Alle Ecken des Polyeders sind ganzzahlig — Ganzzahligkeit muss gar nicht gefordert werden. → <a href="graphen.html#sec:graphen-bipartites-matching-das-zuordnungsproblem">Abschnitt 8.4</a></p>
</div>
<div id="gloss:transaktionskosten">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Transaktionskosten</strong> — Beim Umschichten anfallende Kosten aus Gebühren, Spread und Marktauswirkung. Über eine <span class="math inline">L_1</span>-Strafe modellierbar, die zugleich den Turnover begrenzt. → <a href="cvar.html#sec:cvar-transaktionskosten-ueber-die-l-1-norm">Abschnitt 20.5</a></p>
</div>
<div id="gloss:trickle-flow">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Trickle Flow</strong> — Fehlerbild bei zu großem <span class="math inline">M</span>: Ein verschwindend kleiner Schaltwert — etwa <span class="math inline">4 \cdot 10^{-8}</span> — gilt dem Solver als null, lässt aber multipliziert mit einem riesigen <span class="math inline">M</span> einen großen Fluss durch. Das Lager liefert, ohne offiziell geöffnet zu sein, und die Fixkosten fehlen in der Rechnung. → <a href="anhang-loesungen.html#sec:loesungen-milp">Abschnitt A.6</a></p>
</div>
<div id="gloss:tsp-traveling-salesperson-problem">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>TSP (Traveling Salesperson Problem)</strong> — Suche nach der kürzesten Rundreise durch <span class="math inline">n</span> Orte. Das bekannteste NP-schwere Problem und der Ausgangspunkt aller Tourenmodelle. → <a href="graphen.html#sec:graphen-das-vehicle-routing-problem-mit-zeitfenstern">Abschnitt 8.5</a></p>
</div>
<div id="gloss:turnover-umschlag">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Turnover (Umschlag)</strong> — Summe der absoluten Gewichtsänderungen einer Umschichtung. Die Größe, an der Transaktionskosten hängen — und die Kennzahl, mit der man Rebalancing-Regeln vergleicht. → <a href="cvar.html#sec:cvar-transaktionskosten-ueber-die-l-1-norm">Abschnitt 20.5</a></p>
</div>
<div id="gloss:twap">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>TWAP</strong><em>Time-Weighted Average Price</em> — Ausführungsstrategie, die eine Order gleichmäßig über die Zeit verteilt. Einfache Vergleichsgröße für jede optimierte Ausführung. → <a href="dynamische-programmierung.html#sec:dynamische-programmierung-das-almgren-chriss-problem-optimale-orderausfuehrung">Abschnitt 13.4</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="u">U</h2>
<div id="gloss:umruestkosten">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Umrüstkosten</strong> — Kosten, die beim Wechsel zwischen zwei Produkten anfallen. Sie hängen vom Vorgänger ab und erzwingen deshalb Binärvariablen über Paare statt über einzelne Aufträge. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:unbounded">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Unbounded</strong> — Zustand, in dem der Zielwert unbeschränkt verbessert werden kann. Fast immer ein Modellfehler — eine fehlende Kapazitätsgrenze oder ein vergessenes Vorzeichen —, nicht ein besonders gutes Ergebnis. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
<div id="gloss:ungarischer-algorithmus">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Ungarischer Algorithmus</strong> — Kombinatorisches Verfahren für das Zuordnungsproblem mit polynomialer Laufzeit. Es löst exakt, was als allgemeines MILP deutlich teurer wäre. → <a href="graphen.html#sec:graphen-zusammenfassung">Abschnitt 8.10</a></p>
</div>
<div id="gloss:unsicherheitsmenge">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Unsicherheitsmenge</strong> — Vorab definierter Bereich möglicher Parameterwerte, gegen dessen ungünstigstes Element eine robuste Lösung abgesichert wird. Ihre Größe steuert unmittelbar den Preis der Robustheit. → <a href="unsicherheit.html#sec:unsicherheit-robuste-optimierung-gegen-den-worst-case">Abschnitt 12.6</a></p>
</div>
<div id="gloss:unsinniges-ergebnis">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Unsinniges Ergebnis</strong> — Fehlerbild, bei dem der Solver zwar <code>OPTIMAL</code> meldet, die Lösung aber offensichtlich unbrauchbar ist. Dann ist nicht die Rechnung falsch, sondern das Modell: Es beschreibt eine andere Wirklichkeit als die gemeinte. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="v">V</h2>
<div id="gloss:value-at-risk-var">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Value at Risk (VaR)</strong> — Verlustschwelle, die mit vorgegebener Wahrscheinlichkeit nicht überschritten wird. Sie sagt nichts über die Verlusthöhe dahinter und ist nicht subadditiv — beides Gründe für den Übergang zum CVaR. → <a href="cvar.html#sec:cvar-value-at-risk-und-conditional-value">Abschnitt 20.4</a></p>
</div>
<div id="gloss:vehicle-routing-problem-vrp">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Vehicle Routing Problem (VRP)</strong> — Verallgemeinerung des TSP auf mehrere Fahrzeuge mit Depot und Kapazitätsgrenzen. In der Variante mit Zeitfenstern (VRPTW) ist es der praktische Standardfall der Tourenplanung. Sich kreuzende Touren sind hier kein Fehler: Die Zeitfenster können die Reihenfolge erzwingen. → <a href="graphen.html#sec:graphen-das-vehicle-routing-problem-mit-zeitfenstern">Abschnitt 8.5</a></p>
</div>
<div id="gloss:verdaechtig-guter-backtest">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Verdächtig guter Backtest</strong> — Fehlerbild der Finanzkapitel: eine Strategie, die im Rückblick zu gut abschneidet. Die Prüfreihenfolge lautet Lookahead, Survivorship, Kosten, Data Snooping — in dieser Reihenfolge, weil sie nach Häufigkeit sortiert ist. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
<div id="gloss:verhaeltnis-bedingung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Verhältnis-Bedingung</strong> — Anforderung der Art „höchstens 30 % aus einer Quelle“. Sie wird linear, sobald man sie als <span class="math inline">x_i \le 0{,}3 \sum_j x_j</span> schreibt statt als Bruch. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:vertauschte-spalten">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Vertauschte Spalten</strong> — Fehlerbild, bei dem Daten und Modell unterschiedliche Reihenfolgen annehmen. Es rechnet widerspruchsfrei und liefert dennoch Unsinn — deshalb gehört die Spaltenreihenfolge abgesichert, nicht angenommen. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
<div id="gloss:volatilitaet">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Volatilität</strong> — Standardabweichung der Renditen, üblicherweise auf ein Jahr skaliert. Sie misst Schwankung in beide Richtungen und behandelt Gewinne damit wie Verluste. → <a href="finanzdaten.html#sec:finanzdaten-diskrete-und-logarithmische-renditen">Abschnitt 18.3</a></p>
</div>
<div id="gloss:vorrangbeziehung">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Vorrangbeziehung</strong> — Bedingung „Aktivität A muss vor Aktivität B abgeschlossen sein“, formuliert als <span class="math inline">\text{Ende}_A \le \text{Start}_B</span>. Der Grundbaustein jeder Ablaufplanung. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="w">W</h2>
<div id="gloss:walk-forward-backtest">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Walk-Forward-Backtest</strong> — Rollierende Auswertung, bei der Parameter stets nur auf Vergangenheitsdaten geschätzt und auf dem unmittelbar folgenden Zeitraum getestet werden. Die einzige Backtest-Bauform, die Lookahead strukturell ausschließt. → <a href="handelsmaschine.html#sec:handelsmaschine-die-engine">Abschnitt 21.5</a></p>
</div>
<div id="gloss:warm-start">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Warm-Start</strong> — Übergabe einer bekannten Lösung als Startpunkt. Bei wiederholten, ähnlichen Läufen — etwa täglicher Neuplanung — oft der größte Zeitgewinn überhaupt. → <a href="milp.html#sec:milp-gap">Abschnitt 6.8</a></p>
</div>
<div id="gloss:weiche-grenze-mit-strafkosten">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Weiche Grenze mit Strafkosten</strong> — Modellierungsmuster, das eine Schranke überschreitbar macht und die Überschreitung über eine Schlupfvariable in der Zielfunktion bepreist. So bleibt das Modell lösbar und zeigt trotzdem, wo es klemmt. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:widerspruechliche-solver">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Widersprüchliche Solver</strong> — Fehlerbild, bei dem zwei Solver verschiedene Lösungen melden. Bei gleichem Zielwert sind es Alternativoptima und beide haben recht; bei verschiedenem Zielwert liegt ein Modell- oder Toleranzproblem vor. → <a href="anhang-fehlerdiagnose.html#anhang-fehlerdiagnose">Anhang C</a></p>
</div>
<div id="gloss:wurzel-zeit-regel">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Wurzel-Zeit-Regel</strong> — Skalierung der Volatilität mit <span class="math inline">\sqrt{T}</span>. Sie gilt streng nur für Standardabweichungen unabhängiger Größen ohne Drift — für VaR und CVaR ist sie lediglich eine grobe Näherung. → <a href="cvar.html#sec:cvar-implementierung-cvar-portfolio-mit-reibung">Abschnitt 20.6</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="y">Y</h2>
<div id="gloss:yfinance">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>yfinance</strong> — Bibliothek zum Abruf historischer Kursdaten. Die einzige Abhängigkeit des Buchs, die eine Internetverbindung braucht — vier Programme nutzen sie. → <a href="oekosystem.html#sec:oekosystem-die-werkzeuge-im-vergleich">Abschnitt 3.4</a></p>
</div>
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<h2 id="z">Z</h2>
<div id="gloss:zielfunktion">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Zielfunktion</strong> — Der zu minimierende oder maximierende Ausdruck, der die Entscheidungsvariablen zu einer einzigen Bewertungszahl verdichtet. Ihre Formulierung entscheidet, was das Modell überhaupt für gut hält. → <a href="einfuehrung.html#sec:einfuehrung-die-vier-universellen-bausteine-jedes-or">Abschnitt 1.6</a></p>
</div>
<div id="gloss:zufallsmatrizentheorie">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Zufallsmatrizentheorie</strong><em>Random Matrix Theory</em> — Theorie der Eigenwertverteilung zufälliger Matrizen. Sie liefert den Maßstab dafür, welche Struktur in einer geschätzten Kovarianzmatrix echt ist und welche bloßes Rauschen. → <a href="finanzdaten.html#sec:finanzdaten-das-schaetzfehler-problem">Abschnitt 18.4</a></p>
</div>
<div id="gloss:zulaessiger-bereich-feasible-region">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Zulässiger Bereich (Feasible Region)</strong> — Menge aller Punkte, die sämtliche Nebenbedingungen gleichzeitig erfüllen. Ist sie leer, ist das Modell unlösbar; ist sie unbeschränkt, kann der Zielwert entgleiten. → <a href="anhang-literatur.html#anhang-literatur">Anhang F</a></p>
</div>
<div id="gloss:zuordnungsproblem">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Zuordnungsproblem</strong> — Eins-zu-eins-Zuordnung zweier gleich großer Mengen mit minimalen Kosten. Dank totaler Unimodularität schon als LP ganzzahlig lösbar. → <a href="anhang-modellierungsmuster.html#anhang-modellierungsmuster">Anhang B</a></p>
</div>
<div id="gloss:zustandslosigkeit">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Zustandslosigkeit</strong> — Betriebsprinzip, nach dem der rechnende Dienst keinen Zustand hält: Eingabe und Ausgabe sind Daten. Das macht Skalierung und Wiederholung trivial. → <a href="praxisfallen.html#sec:praxisfallen-architektur-einer-produktionsreifen-or-plattform">Abschnitt 22.5</a></p>
</div>
<div id="gloss:zustandsraum">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Zustandsraum</strong> — Menge aller Zustände, die ein mehrstufiges Entscheidungsproblem annehmen kann. Seine Größe entscheidet, ob dynamische Programmierung praktikabel ist. → <a href="dynamische-programmierung.html#sec:dynamische-programmierung-der-fluch-der-dimensionalitaet">Abschnitt 13.5</a></p>
</div>
<div id="gloss:zwei-phasen-simplex-methode">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Zwei-Phasen-Simplex-Methode</strong> — Vorgehen, um überhaupt eine erste zulässige Ecke zu finden. Phase 1 minimiert mit Hilfsvariablen die Verletzung der Nebenbedingungen; bleibt dabei ein Rest, ist das Modell unlösbar. Erst Phase 2 optimiert die eigentliche Zielfunktion. → <a href="anhang-loesungen.html#sec:loesungen-lp">Abschnitt A.5</a></p>
</div>
<div id="gloss:zweischichtige-architektur">
Glossar von 92 auf 234 Eintraege 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>
2026-09-08 21:17:20 +02:00
<p><strong>Zweischichtige Architektur</strong> — Trennung in eine Modellierungsschicht, in der man das Problem mathematiknah formuliert, und eine Solver-Schicht aus hochoptimierten C++-Bibliotheken. Man schreibt Optimierungsalgorithmen im modernen OR nicht selbst. → <a href="oekosystem.html#sec:oekosystem-die-zwei-schichten-architektur">Abschnitt 3.3</a></p>
</div>
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
</article>
Glossar und Literatur trennen, Menue um Glossar und ZIP-Download ergaenzen 94_Anhang_Glossar_und_Literatur.md enthielt zwei verschiedene Nachschlagewerke in einer Datei. Jetzt sind es zwei Anhaenge: E = Glossar (92 Eintraege), F = Literaturverzeichnis (6 Kategorien). Aus 5 Anhaengen werden 6, aus 36 Kapiteldateien 37. Die Teilung war billig: Die Datei trug bereits zwei eigenstaendige Ueberschriften mit nichts als einem --- dazwischen, und im ganzen Buch gab es genau einen {ref:anhang:glossar-literatur} - die Weiter-mit-Zeile im Spickzettel. Geprueft: keine Inhaltszeile verloren, alle 92 Glossareintraege auf der neuen Seite, Indexmarken unveraendert bei 328. Das Seitenleisten-Menue bekommt zwei Eintraege: Beispielprogramme Notebooks Download Notebooks als ZIP <- neu, eingerueckt Glossar <- neu Stichwortverzeichnis Gesamtdokument (eine Seite) Download als PDF Der ZIP-Link benutzt dieselbe Konstante wie baue_notebooks_seite() beim Schreiben des Archivs, damit Link und Datei nicht auseinanderlaufen. Das Glossar erscheint absichtlich doppelt: hier als Abkuerzung neben dem Stichwortverzeichnis, und unten in der Gruppe "Anhaenge", weil es ein Anhang ist. Die verwaiste anhang-glossar-literatur.html von Hand entfernt - der Build raeumt alte Seiten nicht ab. Nebenbefund, in PROGRESS.md festgehalten: OR_HTML_04/assets/site.css ist eine von Hand gepflegte Quelle, die im als "generiert" beschriebenen Verzeichnis liegt. Der Build schreibt sie nie. Dasselbe gilt fuer site.js, icons.svg, highlight.css und plotly.min.js. --check: 5 Teile, 23 Kapitel, 6 Anhaenge, 296 Abschnitte, 825 Querverweise, 328 Indexmarken, 37 Dateien, 28.544 Zeilen, 305 Hauptueberschriften, keine Warnung. PDF unveraendert 759 Seiten. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 15:48:57 +02:00
<button type="button" class="fortschritt-knopf" data-kapitel="anhang-glossar.html"><svg class="icon" aria-hidden="true"><use href="#icon-check"></use></svg> <span>Als gelesen markieren</span></button>
<nav class="prev-next"><a class="prev-next-knopf prev-next-prev" href="anhang-spickzettel.html"><svg class="icon" aria-hidden="true"><use href="#icon-chevron-left"></use></svg><span><small>Zurück</small>Anhang D: Spickzettel der Solver</span></a><a class="prev-next-knopf prev-next-next" href="anhang-literatur.html"><span><small>Weiter</small>Anhang F: Literaturverzeichnis</span><svg class="icon" aria-hidden="true"><use href="#icon-chevron-right"></use></svg></a></nav>
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
</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>