Anhang E: Glossar

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 allen Fundstellen sucht, benutzt das Stichwortverzeichnis.

A

Absolutbetrag — Modellierungsmuster für |x-z|: Der Betrag selbst ist nicht linear, lässt sich aber durch eine Hilfsvariable d mit den beiden Bedingungen x-z \le d und z-x \le d ersetzen. Das funktioniert nur, wenn d minimiert wird — sonst bleibt die Schranke unausgeschöpft. → Anhang B

Adjusted Close — 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. → Abschnitt 18.3

Aktivierungsschalter — Modellierungsmuster, das eine kontinuierliche Größe an eine Binärvariable koppelt: x \le M\,y erlaubt x > 0 nur, wenn y = 1 ist. Grundbaustein für Fixkosten, Standortentscheidungen und Mindestmengen. → Anhang B

Almgren-Chriss-Modell — 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. → Abschnitt 13.4

Alternativoptima — 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. → Abschnitt 11.3

Approximate Dynamic Programming — 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. → Abschnitt 22.9

B

Backtest — 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 — Kapitel 21 zeigt die fünf Selbsttäuschungen, die ihn wertlos machen. → Kapitel 21

Bedingte Kopplung — Modellierungsmuster für „wenn A und B, dann C“. Umgesetzt über y_C \ge y_A + y_B - 1: Nur wenn beide Voraussetzungen gesetzt sind, wird die Folge erzwungen. → Anhang B

Bellman-Gleichung — 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. → Abschnitt 13.3

Benders-Zerlegung — 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. → Abschnitt 22.9

Big-M-Methode — Modellierungstrick, der logische Bedingungen über eine hinreichend große Konstante M an eine Binärvariable koppelt. M sollte so klein wie möglich gewählt werden: Große Werte weichen die Relaxation auf, verschlechtern die Laufzeit und können zu Trickle Flow führen. → Abschnitt 6.5

Binärvariable — Entscheidungsvariable mit Wertebereich \{0,1\}. Sie schaltet Fixkosten, Kapazitäten oder logische Alternativen an und aus und macht aus einem linearen Programm ein gemischt-ganzzahliges. → Abschnitt 1.6

Bipartites Matching — 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. → Abschnitt 8.4

Black-Box-Effekt — 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. → Abschnitt 22.3

Branch-and-Bound — 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. → Abschnitt 6.4

Branch-and-Cut — 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. → Abschnitt 3.3

Brute Force — 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. → Abschnitt 1.3

Budgeted Uncertainty — Robustheitsansatz nach Bertsimas und Sim: Höchstens \Gamma von n Parametern nehmen gleichzeitig ihren ungünstigsten Wert an. Der Parameter \Gamma regelt stufenlos, wie vorsichtig die Lösung wird — bei \Gamma = 0 nominal, bei \Gamma = n maximal pessimistisch. → Abschnitt 12.6

Budgetlimit — Nebenbedingung, die die Summe gewichteter Entscheidungen nach oben begrenzt. Der zugehörige Schattenpreis beantwortet unmittelbar, was eine zusätzliche Budgeteinheit einbrächte. → Anhang B

C

Calmar Ratio — 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. → Abschnitt 21.5

CDCLConflict-Driven Clause Learning — 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. → Abschnitt 7.3

Chance Constraint — 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. → Abschnitt 12.7

Column Generation — 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. → Abschnitt 9.8

Conditional Value at Risk (CVaR) — 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. → Abschnitt 20.4

Conflict Learning — 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. → Abschnitt 7.3

Constraint Attribution — 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. → Abschnitt 22.4

Constraint Programming (CP) — 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. → Abschnitt 7.3

Constraint Propagation — 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. → Abschnitt 7.3

Constraint-Trace — 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. → Abschnitt 22.3

CP-SAT — 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. → Abschnitt 7.3

CP-SAT-Solver — Die Solver-Komponente von OR-Tools, angesprochen über cp_model.CpSolver(). Sie liefert neben der Lösung Statuscode, Laufzeit und die beste bekannte Schranke und lässt sich über num_workers auf mehrere Kerne verteilen. → Abschnitt 7.3

CSR-FormatCompressed Sparse Row — 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. → Abschnitt 3.5

CVRPTWCapacitated Vehicle Routing Problem with Time Windows — 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. → Abschnitt 8.5

CVXPY — 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. → Abschnitt 3.4

D

Data Snooping — 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. → Abschnitt 21.6

DCP (Disciplined Convex Programming) — 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. Kapitel 11 erklärt es; ein DCPError meldet eine Verletzung. → Kapitel 11

DCPError — Fehlermeldung von CVXPY, wenn ein Ausdruck die Regeln der Disciplined Convex Programming verletzt. Sie besagt nicht, dass das Problem unlösbar ist, sondern dass CVXPY die Konvexität nicht nachweisen kann — meist hilft eine äquivalente Umformung. → Anhang C

Deletion Filter — Verfahren zur Eingrenzung von Unlösbarkeit. Es fragt nicht „ist diese Bedingung schuld?“, sondern „wird diese Bedingung für den Widerspruch überhaupt gebraucht?“, und findet dadurch auch dann eine minimale unlösbare Teilmenge, wenn sich mehrere Widersprüche überlagern. → Anhang C

Diskrete Rendite — Einfache Rendite (P_t - P_{t-1})/P_{t-1}. Sie ist über Titel additiv und deshalb die richtige Wahl für Portfoliogewichte — anders als die logarithmische Rendite, die über die Zeit additiv ist. → Abschnitt 18.3

Diversifikation — 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. → Abschnitt 19.3

DTO (Data Transfer Object) — Schlichtes Objekt, das nur Daten transportiert und keine Logik enthält. Im Buch trägt die Loesung-Klasse in or_kern.py das Ergebnis eines Solverlaufs so aus der Rechenschicht heraus. → Abschnitt 3.5

Dual Simplex — 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. → Abschnitt 3.3

Duales Problem — Das jedem Optimierungsproblem zugeordnete Gegenstück, dessen Variablen die Nebenbedingungen des Originals bepreisen. Seine Optimalwerte sind die Schattenpreise; im Optimum stimmen beide Zielfunktionswerte überein. → Abschnitt 5.6

Dualitätstheorie — 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. → Abschnitt 5.6

Dynamische Programmierung (DP) — 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. → Abschnitt 13.3

E

Ecke (Extrempunkt) — 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. → Abschnitt 2.4

Effizienzgrenze (Efficient Frontier) — Kurve aller Portfolios, die zu gegebenem Risiko die höchste erwartete Rendite liefern. Portfolios darunter sind dominiert, Portfolios darüber unerreichbar. → Abschnitt 19.4

Entartung — 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. → Abschnitt 5.9

Entscheidungsvariable — 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. → Abschnitt 1.6

Entscheidungsvektor — Zusammenfassung aller Entscheidungsvariablen zu einem Vektor \mathbf{x}. Erst diese Schreibweise macht die kompakte Matrixform eines Modells möglich. → Abschnitt 2.3

Entweder-Oder-Bedingung — 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. → Anhang B

Error-Maximizer-Effekt — 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. → Abschnitt 18.4

EVPI (Expected Value of Perfect Information) — 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. → Abschnitt 12.5

Exklusiv-Oder — Modellierungsmuster für „genau eine von zwei Optionen“: y_A + y_B = 1. Die Abgrenzung zum einfachen Oder (y_A + y_B \ge 1) ist in der Praxis eine häufige Fehlerquelle. → Anhang B

Expected Shortfall — 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. → Abschnitt 20.4

Explainable OR — Nachvollziehbarmachung von Solver-Ergebnissen über Schattenpreise, aktive Restriktionen, Constraint-Trace und Kostenzerlegung. Das Gegenstück zu Explainable AI für Optimierungsmodelle. → Abschnitt 22.3

F

Fallback-Strategie — Festgelegtes Vorgehen für den Fall, dass der Solver kein Ergebnis liefert: letzter gültiger Plan, regelbasierte Notlösung, Alarm. Niemals: nichts. → Abschnitt 22.5

Falsche Dualwerte — 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. → Anhang C

Fat Tails — 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. → Abschnitt 20.3

Fluch der Dimensionalität — Exponentielles Wachstum des Zustandsraums mit jeder zusätzlichen Zustandsdimension. Es begrenzt die dynamische Programmierung und motiviert näherungsweise Verfahren. → Abschnitt 13.5

Fluch des Durchschnitts (Flaw of Averages) — 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. → Abschnitt 12.3

Flusserhaltung — 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. → Abschnitt 8.3

Fundamentalsatz der linearen Optimierung — 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. → Abschnitt 2.4

G

Gemischt-ganzzahlige Optimierung (MILP)Mixed-Integer Linear Programming — 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. → Abschnitt 6.3

Genetischer Algorithmus — 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. → Abschnitt 9.8

Gestaffelte Preise — 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. → Anhang B

GIL (Global Interpreter Lock) — 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. → Notation und Abkürzungen

Gini-Koeffizient — 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. → Projektwerkstatt

Gleitendes Fenster — Auswertung, bei der ein Zeitfenster fester Länge über die Daten geschoben wird. Grundlage rollierender Schätzungen und des Walk-Forward-Backtests. → Anhang B

Global Minimum Variance Portfolio (GMV) — Portfolio kleinstmöglicher Varianz. Es benötigt keine Renditeprognose und ist deshalb deutlich robuster gegen Schätzfehler als das renditemaximierende Mean-Variance-Portfolio. → Abschnitt 19.4

Globale Constraints — Vorgefertigte Bausteine wie AllDifferent, NoOverlap oder Cumulative, 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. → Abschnitt 7.4

Globales Minimum — 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. → Abschnitt 2.5

GLOPGoogle Linear Optimization Package — der LP-Solver in OR-Tools. Er löst rein kontinuierliche Probleme; sobald Ganzzahligkeit ins Spiel kommt, übernimmt CP-SAT oder ein MILP-Backend. → Notation und Abkürzungen

Goldene Regel des Backtestens — Zum Zeitpunkt t darf nur Information verwendet werden, die zu t vorlag. Der Selbsttest mit absichtlich manipulierter Zukunft prüft das automatisch: Wird der Backtest dadurch besser, liegt ein Lookahead-Bias vor. → Abschnitt 21.12

Gradient — 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. → Abschnitt 11.2

Graphen — Mathematische Struktur aus Knoten und Kanten; das Modellierungsmittel für Netzwerke, Touren und Flüsse. Kapitel 8 behandelt Min-Cost-Flow, Matching und das Vehicle Routing Problem als Graphanwendungen. → Kapitel 8

Gurobi — 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. → Abschnitt 6.4

H

Herfindahl-Index — Summe der quadrierten Anteile; Maß für Konzentration. Sein Kehrwert ist die effektive Titelzahl und beantwortet, auf wie viele gleich große Positionen ein Portfolio praktisch verteilt ist. → Projektwerkstatt

Hierarchische Relaxation — 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. → Abschnitt 22.3

HiGHS — Offener Hochleistungssolver für LP, MILP und QP. Backend von scipy.optimize.linprog und CVXPY, direkt ansprechbar über highspy. → Abschnitt 3.4

I

IIS (Irreducible Infeasible Subset) — 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. → Anhang C

Implikation — Modellierungsmuster für „wenn A, dann B“: y_B \ge y_A. Die Umkehrung gilt dabei ausdrücklich nicht — B darf auch ohne A gesetzt sein. → Anhang B

Importfehler zwischen ortools und highspy — 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 highspy dabei ungefragt mit hinein. → Anhang C

Infeasibility — 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. → Abschnitt 22.3

Instabile Lösung — 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. → Anhang C

Interior-Point-Verfahren — 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. → Abschnitt 3.3

Intervallvariable — Variable mit Start, Dauer und Ende, die in CP-SAT eine Aktivität beschreibt. Sie ist die Voraussetzung für Überschneidungsverbote und Ressourcenprofile. → Abschnitt 7.4

J

Jensensche Ungleichung — Für konvexe Funktionen gilt \mathbb{E}[f(X)] \ge f(\mathbb{E}[X]). Die formale Grundlage des Fluchs des Durchschnitts: Mit Mittelwerten zu rechnen unterschätzt systematisch die erwarteten Kosten. → Abschnitt 12.3

Job-Shop-Scheduling — 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. → Abschnitt 7.6

K

Kanonische Standardform — Einheitliche Matrixschreibweise eines LP als \min \mathbf{c}^\top\mathbf{x} unter den Bedingungen \mathbf{A}\mathbf{x} \le \mathbf{b} und \mathbf{x} \ge 0. Jedes lineare Modell lässt sich darauf bringen — Solver erwarten genau diese Form. → Abschnitt 2.3

Kapazitätsvektor — Der Vektor \mathbf{b} der rechten Seiten in \mathbf{A}\mathbf{x} \le \mathbf{b}. Seine Einträge sind die verfügbaren Ressourcen, und die zugehörigen Schattenpreise sagen, was eine zusätzliche Einheit davon wert wäre. → Abschnitt 2.3

Kardinalitätsbeschränkung — 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“. → Abschnitt 6.5

Karush-Kuhn-Tucker-Bedingungen (KKT) — 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. → Abschnitt 11.4

Kohärentes Risikomaß — 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. → Abschnitt 20.4

Kombinatorische Explosion — Ü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. → Abschnitt 1.4

Komplementärer Schlupf — Bedingung s_i \cdot y_i = 0: Eine Nebenbedingung ist entweder aktiv (kein Schlupf) oder ihr Schattenpreis verschwindet. Wirtschaftlich gelesen: Nur knappe Ressourcen haben einen Preis. → Abschnitt 5.6

Konditionszahl — 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. → Abschnitt 18.6

Konische Optimierung — 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. → Abschnitt 12.7

Konvexität — 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. → Abschnitt 2.5

Korn-Transformation — 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. → Abschnitt 19.4

Kostenzerlegung — 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. → Abschnitt 22.3

Kovarianzmatrix — Matrix der paarweisen Kovarianzen aller Titel. Sie steuert im Markowitz-Modell den Diversifikationseffekt und ist bei vielen Titeln und wenigen Beobachtungen notorisch schlecht konditioniert. → Abschnitt 18.4

Kumulative Ressource — Ressource mit begrenzter Kapazität, die mehrere Aktivitäten gleichzeitig nutzen können — etwa vier Monteure. In CP-SAT über AddCumulative ausgedrückt. → Anhang B

L

Lagrange-Funktion — 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. → Abschnitt 11.4

Lagrange-Multiplikator — Gewicht, mit dem eine Nebenbedingung in die Lagrange-Funktion eingeht. Sein Optimalwert ist der Schattenpreis der Bedingung. → Abschnitt 11.4

Large Neighborhood Search (LNS) — 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. → Abschnitt 9.7

Laufzeitexplosion — Fehlerbild, bei dem ein Modell nach einer kleinen Erweiterung nicht mehr fertig rechnet. Häufige Ursachen sind ein zu großes M, fehlende Symmetriebrechung und eine schwache Relaxation. → Anhang C

Ledoit-Wolf-Shrinkage — Schrumpfung der Stichprobenkovarianz in Richtung eines strukturierten Ziels; der optimale Mischungsfaktor wird analytisch bestimmt. scikit-learn verwendet die skalierte Einheitsmatrix als Ziel. → Abschnitt 18.5

Lexikografische Optimierung — 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. → Abschnitt 14.7

Lineare Programmierung (LP)Linear Programming — 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. → Abschnitt 5.3

Linopy — Modellierungsbibliothek, die Optimierungsmodelle über beschriftete Achsen aufbaut (xarray-Stil). Ihre Stärke sind große, regelmäßig indizierte Modelle wie Energiesystemrechnungen. → Abschnitt 3.7

linprog — Funktion scipy.optimize.linprog 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. → Abschnitt 5.7

Logarithmische Rendite — Stetige Rendite als Logarithmus des Preisverhältnisses. Sie ist über die Zeit additiv und deshalb die richtige Wahl für Zeitreihenaggregation — nicht aber für die Gewichtung im Portfolio. → Abschnitt 18.3

Lokales Minimum — 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. → Abschnitt 2.5

Lookahead-Bias — 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. → Abschnitt 21.6

LP-Relaxation — 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. → Abschnitt 6.4

M

Makespan — Gesamtdurchlaufzeit eines Ablaufplans: der Zeitpunkt, zu dem die letzte Aktivität endet. Standardzielgröße im Job-Shop-Scheduling. → Abschnitt 7.6

MAPEMean Absolute Percentage Error — mittlerer absoluter prozentualer Prognosefehler. Beliebt, weil einheitenfrei, aber unbrauchbar bei Werten nahe null. → Abschnitt 15.3

Marchenko-Pastur-Gesetz — 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. → Abschnitt 18.4

Markowitz-Modell (Mean-Variance) — 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. → Abschnitt 19.4

Marktauswirkung (Market Impact) — 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. → Abschnitt 13.4

Matplotlib — Standardbibliothek für statische Diagramme in Python. Im Buch erzeugt sie alle Abbildungen der Druckfassung; die interaktiven Fassungen der Website stammen von Plotly. → Abschnitt 3.4

Matrixform — 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. → Abschnitt 2.12

Matrix-Vektor-Produkt — Rechenoperation \mathbf{A}\mathbf{x}, die jede Zeile der Matrix mit dem Vektor multipliziert. In der Optimierung berechnet sie den Ressourcenverbrauch aller Nebenbedingungen in einem Schritt. → Abschnitt 2.3

Maximin-Fairness — Zielsetzung „der am schlechtesten Gestellte soll möglichst gut dastehen“. Modelliert über eine Hilfsvariable t mit t \le f_i(\mathbf{x}) für alle i und Maximierung von t. → Anhang B

Maximum Drawdown — 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. → Abschnitt 21.5

Mensch in der Schleife — Betriebsprinzip, bei dem der Optimierer vorschlägt und ein Mensch entscheidet — zumindest in der Einführungsphase. Das baut Vertrauen auf und fängt Modellfehler ab, bevor sie wirksam werden. → Abschnitt 22.5

Metaheuristik — Ü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. → Abschnitt 9.3

Min-Cost-Flow-Problem — 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. → Abschnitt 8.3

Mindestabnahmemenge — Bedingung „entweder gar nichts oder mindestens m“. Sie ist nicht linear und braucht eine Binärvariable: m\,y \le x \le M\,y. → Anhang B

MINLPMixed-Integer Nonlinear Programming — Modelle mit ganzzahligen Variablen und nichtlinearen Funktionen. Die schwierigste der Standardklassen: Sie vereint die kombinatorische Explosion mit dem Problem lokaler Optima. → Abschnitt 11.6

MIP-Gap — 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. → Abschnitt 22.3

MIQPMixed-Integer Quadratic Programming — quadratische Zielfunktion mit ganzzahligen Variablen. Der Fall, der entsteht, sobald ein Portfoliomodell eine Obergrenze für die Zahl der Titel bekommt. → Notation und Abkürzungen

Monte-Carlo-Simulation — Erzeugung vieler Zufallsszenarien, um Kennzahlen empirisch zu schätzen. Sie bewertet eine gegebene Entscheidung, optimiert aber nicht — der Unterschied wird in der Praxis häufig übersehen. → Abschnitt 12.4

MSEMean Squared Error — mittlerer quadratischer Fehler. Das Standardmaß der Prognosegüte; es bestraft große Abweichungen überproportional und ist nicht dasselbe wie geringe Entscheidungskosten. → Notation und Abkürzungen

MTZ-Formulierung — 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. → Abschnitt 8.5

Multi-Objective Optimization — Optimierung mit mehreren, konkurrierenden Zielen. Statt einer besten Lösung gibt es eine Pareto-Front; die Auswahl daraus ist eine Entscheidung, keine Rechnung. → Abschnitt 22.9

N

Nebenbedingung (Constraint) — 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. → Abschnitt 1.6

Newsvendor-Problem — 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. → Abschnitt 12.1

Nichtlineare Programmierung (NLP)Nonlinear Programming — Problemklasse mit nichtlinearer Ziel- oder Nebenbedingungsfunktion. Ohne Konvexität liefern Verfahren wie SLSQP nur lokale Optima. → Abschnitt 11.5

Nichtüberlappung — Bedingung, dass sich Aktivitäten auf derselben Ressource zeitlich nicht überschneiden. In CP-SAT über AddNoOverlap auf Intervallvariablen ausgedrückt. → Anhang B

NP-schwer — 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. → Abschnitt 6.4

NumPy — 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. → Abschnitt 3.4

O

Operations Research (OR) — 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?“. → Abschnitt 1.3

Optimalitätsprinzip — 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. → Abschnitt 13.3

OR-Tools — 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. → Abschnitt 1.2

Overfitting — 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. → Abschnitt 21.6

P

pandas — Bibliothek für tabellarische Daten mit Zeit- und Beschriftungsindex. Im Buch der übliche Weg von Roh- zu Modelldaten, besonders in den Finanzkapiteln. → Abschnitt 3.4

Parameter — 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. → Abschnitt 1.6

Pareto-Front — 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. → Abschnitt 14.3

Pivotisierung — Basiswechsel im Simplex-Verfahren: Eine Variable verlässt die Basis, eine andere tritt ein. Jeder Pivotschritt entspricht dem Weiterwandern zur benachbarten Ecke des Polyeders. → Abschnitt 5.4

Plotly — Bibliothek für interaktive Diagramme im Browser. Die Website des Buchs bindet damit Gantt-Diagramme, Effizienzlinien und Pareto-Fronten zum Zoomen und Erkunden ein. → Abschnitt 3.4

Polars — 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. → Abschnitt 3.8

Polyeder — Schnittmenge endlich vieler Halbräume — die geometrische Gestalt des zulässigen Bereichs eines linearen Programms. Seine Ecken sind die Kandidaten für das Optimum. → Abschnitt 2.4

Positiv (semi-)definit — Eigenschaft einer symmetrischen Matrix, deren Eigenwerte alle > 0 (definit) bzw. \ge 0 (semidefinit) sind. Definit bedeutet streng konvex und eine eindeutige Lösung, semidefinit konvex mit möglicherweise mehreren. → Abschnitt 11.3

Präskriptive Analytik — 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?). → Abschnitt 1.3

Predict-then-Optimize — Zweistufiges Vorgehen: erst prognostizieren, dann mit der Prognose optimieren. Der Bruch liegt dazwischen — das Prognosemodell minimiert Vorhersagefehler, nicht Entscheidungskosten. → Abschnitt 15.3

Primales Problem — 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. → Abschnitt 5.6

pydantic — Bibliothek zur Validierung von Datenstrukturen anhand von Typannotationen. Im Buch prüft sie die Eingaben des Optimierungsdienstes, bevor ein Modell überhaupt gebaut wird. → Abschnitt 3.4

pymoo — Bibliothek für mehrkriterielle Optimierung mit evolutionären Verfahren. Sie liefert Pareto-Fronten dort, wo sich die Ziele nicht sinnvoll skalarisieren lassen. → Abschnitt 3.4

Pyomo — 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. → Abschnitt 3.7

Q

Q-Learning — 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. → Abschnitt 13.5

Quadratische Programmierung (QP)Quadratic Programming — Optimierung einer quadratischen Zielfunktion unter linearen Nebenbedingungen. Bei positiv semidefiniter Matrix konvex und damit zuverlässig global lösbar; die Portfoliooptimierung ist der Standardfall. → Abschnitt 11.3

R

Rebalancing — 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. → Abschnitt 21.4

Regime-Shift — 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. → Abschnitt 22.3

Reinforcement Learning — 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. → Abschnitt 13.5

Relaxation — 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. → Abschnitt 6.4

Robuste Optimierung — 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. → Abschnitt 12.6

Rockafellar-Uryasev-Theorem — 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. → Abschnitt 20.4

Routing-Bibliothek — Spezialisierter Teil von OR-Tools für Touren- und Reihenfolgeprobleme. Sie arbeitet heuristisch mit Zeitbudget — „optimal“ wird hier in der Regel nicht bewiesen. → Abschnitt 8.10

Rucksackproblem — Auswahl von Gegenständen mit Wert und Gewicht unter einer Kapazitätsgrenze. Das Schulbeispiel der ganzzahligen Optimierung und Modell für jede Budgetauswahl. → Abschnitt 6.6

Rückwärtsinduktion — 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. → Abschnitt 13.2

Ruiz-Equilibrierung — 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. → Abschnitt 2.7

Rüstzeit — Umschaltzeit zwischen zwei aufeinanderfolgenden Aufträgen auf derselben Maschine. Sie ist reihenfolgeabhängig und macht aus einer einfachen Zuordnung ein Reihenfolgeproblem. → Anhang B

S

SAT (Boolean Satisfiability) — 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. → Abschnitt 7.3

Satz von Birkhoff und von Neumann — Jede doppelt stochastische Matrix ist eine Mischung von Permutationsmatrizen. Er erklärt, warum das Zuordnungsproblem schon als lineares Programm ganzzahlige Lösungen liefert. → Abschnitt 8.4

Schattenpreis — 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. → Abschnitt 5.6

Schätzfehler — Abweichung geschätzter Größen wie Renditen oder Kovarianzen von ihren wahren Werten. In der Portfoliooptimierung nicht ein Randproblem, sondern das Hauptproblem. → Abschnitt 18.4

Scheduling — Zuweisung von Tätigkeiten an Maschinen oder Personen unter Ressourcen- und Reihenfolgebedingungen. Kapitel 7 behandelt es mit CP-SAT (Intervallvariablen), Kapitel 9 mit Simulated Annealing und LNS. → Kapitel 7

Schlupfvariable — Nichtnegative Hilfsvariable, die eine Ungleichung in eine Gleichung überführt. Ihr Wert zeigt die ungenutzte Reserve; ist er null, ist die Bedingung bindend. → Abschnitt 5.3

Schnittebenen (Cutting Planes) — 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. → Abschnitt 6.4

scikit-learn — Bibliothek für maschinelles Lernen. Im Buch für Prognosemodelle und für die Ledoit-Wolf-Shrinkage der Kovarianzmatrix eingesetzt. → Abschnitt 3.4

SCIP — 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. → Abschnitt 6.4

SciPy — Wissenschaftliche Standardbibliothek von Python. Ihr Teilmodul scipy.optimize enthält mit linprog, milp und minimize die Einstiegswerkzeuge für lineare, ganzzahlige und nichtlineare Optimierung. → Abschnitt 3.4

Semikontinuierliche Variable — Variable, die entweder null ist oder in einem Intervall [m, M] liegt. Sie erfasst Mindestlosgrößen und wird über eine Binärvariable modelliert. → Abschnitt 6.5

Sensitivitätsanalyse — 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. → Abschnitt 5.8

Shannon-Entropie — Maß für die Gleichverteiltheit einer Verteilung. Als Zielfunktion eingesetzt erzwingt sie Streuung, ohne eine bestimmte Aufteilung vorzugeben. → Abschnitt 11.5

Sharpe Ratio — Überrendite über den risikofreien Zins je Einheit Volatilität. Ihre Maximierung ist zunächst nicht konvex, wird es aber durch die Korn-Transformation. → Abschnitt 19.4

Simplex-Algorithmus — 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. → Abschnitt 5.4

Simulated Annealing — 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. → Abschnitt 9.5

Skalarisierung — 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. → Abschnitt 14.4

Skalarprodukt — Summe der paarweisen Produkte zweier Vektoren, \mathbf{c}^\top\mathbf{x}. In der Optimierung die kompakte Schreibweise jeder linearen Zielfunktion. → Abschnitt 2.3

SLSQPSequential Least Squares Programming — gradientenbasiertes Verfahren in scipy.optimize.minimize für nichtlineare Probleme mit Nebenbedingungen. Es findet lokale Optima; ohne Konvexität entscheidet der Startpunkt über das Ergebnis. → Abschnitt 11.5

Snapshot-Prinzip — 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. → Abschnitt 22.5

Solver — Softwarekomponente, die ein mathematisches Modell löst — also das Optimierungsproblem in eine Lösung übersetzt. Kapitel 3 vergleicht die in diesem Buch verwendeten Solver (HiGHS, OR-Tools/CP-SAT, CVXPY) und ihre Stärken. → Kapitel 3

Solver-Status — Rückgabewert, mit dem ein Solver das Ergebnis einordnet: OPTIMAL (bewiesen optimal), FEASIBLE (zulässig, aber unbewiesen), INFEASIBLE (keine zulässige Lösung), UNBOUNDED (Zielwert unbeschränkt) und UNKNOWN (Abbruch ohne Aussage). Ihn ungeprüft zu übergehen ist die häufigste Fehlerquelle im produktiven Einsatz. → Notation und Abkürzungen

Starker Dualitätssatz — 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. → Abschnitt 5.6

Stichproben-Kovarianzmatrix — 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. → Abschnitt 18.4

Stochastische Programmierung — 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. → Abschnitt 12.5

Strafkosten — 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. → Abschnitt 1.6

Subadditivität — Eigenschaft \rho(A+B) \le \rho(A)+\rho(B): Diversifikation darf das Risiko nicht erhöhen. Der VaR verletzt sie, weshalb er kein kohärentes Risikomaß ist. → Abschnitt 20.4

Subtour — 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. → Abschnitt 8.5

Survivorship-Bias — Verzerrung durch die Auswahl nur derjenigen Titel, die es bis heute gibt. Die ausgeschiedenen fehlen — und mit ihnen die schlechtesten Verläufe. → Abschnitt 21.6

Symmetriebrechung — Zusätzliche Ordnungsbedingungen, die verhindern, dass der Solver gleichwertige Vertauschungen mehrfach durchsucht. Bei identischen Maschinen oder Fahrzeugen oft der größte einzelne Laufzeitgewinn. → Anhang B

T

Tabu-Suche — 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. → Abschnitt 9.8

Tangentialportfolio — Portfolio auf der Effizienzgrenze mit der höchsten Sharpe Ratio — der Berührpunkt der Kapitalmarktlinie. Es reagiert besonders empfindlich auf Renditeschätzfehler. → Abschnitt 19.4

Technologiematrix — Die Matrix \mathbf{A} der Verbrauchskoeffizienten. Ihr Eintrag a_{ij} sagt, wie viel von Ressource i eine Einheit von Aktivität j verbraucht. Zusammen mit dem Kapazitätsvektor \mathbf{b} bildet sie die Nebenbedingungen \mathbf{A}\mathbf{x} \le \mathbf{b}. → Abschnitt 2.3

Totale Unimodularität — Eigenschaft einer Matrix, bei der jede quadratische Teilmatrix die Determinante 0, +1 oder -1 hat. Folge: Alle Ecken des Polyeders sind ganzzahlig — Ganzzahligkeit muss gar nicht gefordert werden. → Abschnitt 8.4

Transaktionskosten — Beim Umschichten anfallende Kosten aus Gebühren, Spread und Marktauswirkung. Über eine L_1-Strafe modellierbar, die zugleich den Turnover begrenzt. → Abschnitt 20.5

Trickle Flow — Fehlerbild bei zu großem M: Ein verschwindend kleiner Schaltwert — etwa 4 \cdot 10^{-8} — gilt dem Solver als null, lässt aber multipliziert mit einem riesigen M einen großen Fluss durch. Das Lager liefert, ohne offiziell geöffnet zu sein, und die Fixkosten fehlen in der Rechnung. → Abschnitt A.6

TSP (Traveling Salesperson Problem) — Suche nach der kürzesten Rundreise durch n Orte. Das bekannteste NP-schwere Problem und der Ausgangspunkt aller Tourenmodelle. → Abschnitt 8.5

Turnover (Umschlag) — Summe der absoluten Gewichtsänderungen einer Umschichtung. Die Größe, an der Transaktionskosten hängen — und die Kennzahl, mit der man Rebalancing-Regeln vergleicht. → Abschnitt 20.5

TWAPTime-Weighted Average Price — Ausführungsstrategie, die eine Order gleichmäßig über die Zeit verteilt. Einfache Vergleichsgröße für jede optimierte Ausführung. → Abschnitt 13.4

U

Umrüstkosten — 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. → Anhang B

Unbounded — 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. → Anhang C

Ungarischer Algorithmus — Kombinatorisches Verfahren für das Zuordnungsproblem mit polynomialer Laufzeit. Es löst exakt, was als allgemeines MILP deutlich teurer wäre. → Abschnitt 8.10

Unsicherheitsmenge — 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. → Abschnitt 12.6

Unsinniges Ergebnis — Fehlerbild, bei dem der Solver zwar OPTIMAL 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. → Anhang C

V

Value at Risk (VaR) — 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. → Abschnitt 20.4

Vehicle Routing Problem (VRP) — 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. → Abschnitt 8.5

Verdächtig guter Backtest — 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. → Anhang C

Verhältnis-Bedingung — Anforderung der Art „höchstens 30 % aus einer Quelle“. Sie wird linear, sobald man sie als x_i \le 0{,}3 \sum_j x_j schreibt statt als Bruch. → Anhang B

Vertauschte Spalten — Fehlerbild, bei dem Daten und Modell unterschiedliche Reihenfolgen annehmen. Es rechnet widerspruchsfrei und liefert dennoch Unsinn — deshalb gehört die Spaltenreihenfolge abgesichert, nicht angenommen. → Anhang C

Volatilität — Standardabweichung der Renditen, üblicherweise auf ein Jahr skaliert. Sie misst Schwankung in beide Richtungen und behandelt Gewinne damit wie Verluste. → Abschnitt 18.3

Vorrangbeziehung — Bedingung „Aktivität A muss vor Aktivität B abgeschlossen sein“, formuliert als \text{Ende}_A \le \text{Start}_B. Der Grundbaustein jeder Ablaufplanung. → Anhang B

W

Walk-Forward-Backtest — 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. → Abschnitt 21.5

Warm-Start — Übergabe einer bekannten Lösung als Startpunkt. Bei wiederholten, ähnlichen Läufen — etwa täglicher Neuplanung — oft der größte Zeitgewinn überhaupt. → Abschnitt 6.8

Weiche Grenze mit Strafkosten — 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. → Anhang B

Widersprüchliche Solver — 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. → Anhang C

Wurzel-Zeit-Regel — Skalierung der Volatilität mit \sqrt{T}. 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. → Abschnitt 20.6

Y

yfinance — Bibliothek zum Abruf historischer Kursdaten. Die einzige Abhängigkeit des Buchs, die eine Internetverbindung braucht — vier Programme nutzen sie. → Abschnitt 3.4

Z

Zielfunktion — 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. → Abschnitt 1.6

ZufallsmatrizentheorieRandom Matrix Theory — 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. → Abschnitt 18.4

Zulässiger Bereich (Feasible Region) — 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. → Anhang F

Zuordnungsproblem — Eins-zu-eins-Zuordnung zweier gleich großer Mengen mit minimalen Kosten. Dank totaler Unimodularität schon als LP ganzzahlig lösbar. → Anhang B

Zustandslosigkeit — Betriebsprinzip, nach dem der rechnende Dienst keinen Zustand hält: Eingabe und Ausgabe sind Daten. Das macht Skalierung und Wiederholung trivial. → Abschnitt 22.5

Zustandsraum — Menge aller Zustände, die ein mehrstufiges Entscheidungsproblem annehmen kann. Seine Größe entscheidet, ob dynamische Programmierung praktikabel ist. → Abschnitt 13.5

Zwei-Phasen-Simplex-Methode — 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. → Abschnitt A.5

Zweischichtige Architektur — 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. → Abschnitt 3.3