Konzepte

Operations-Research-Konzepte erklärt

Anders als die Interaktiven Demos (ein Anwendungsfall, mehrere Verfahren im Vergleich) dreht sich hier alles um ein Verfahren — das Beispiel wächst stattdessen: von einer Instanz, deren gesamte Lösungssuche aufs Bild passt, bis zu einer, bei der erst das Verfahren selbst sie überhaupt bezwingbar macht. Gedacht zum Verstehen, nicht zum Vorführen an einem konkreten Geschäftsfall.

Auf der Suche nach einer Lösung für ein konkretes Problem? Zu den Interaktiven Demos.

Exakte Suche: Rucksack

Exakte Suche liefert nicht nur eine gute, sondern eine bewiesen beste Lösung — im Unterschied zu Heuristiken, die approximieren, ohne Optimalität je zu garantieren. In der Logistik zum Beispiel: welche Auswahl an Paketen maximiert den Gesamtwert, ohne das Gewichtslimit eines Lieferwagens zu überschreiten?

Anders als bei der Clustering-Linie sind die fünf Stücke hier größtenteils keine gleichberechtigten Alternativen, sondern Bausteine auf dem Weg zu einer praktischen Kombination — deshalb bewusst nur ein einfacher Abhängigkeitsgraph, keine Auswahlfrage. Branch & Bound ist die Wurzel. Dynamische Programmierung ist ein Kontrast, kein Fix: derselbe Rucksack, aber Tabellierung statt Suchbaum, mit einer eigenen, andersartigen Schwäche. Schnittebenen schärft dieselbe LP-Schranke, ganz ohne zu verzweigen, und läuft zusammen mit Branch & Bound in Branch & Cut zusammen — der ersten Konvergenz dieser Linie und dem, was reale Solver tatsächlich einsetzen. Constraint Programming schließlich ist ein unabhängiger Zweig: Constraint-Propagation statt Schranken-Vergleich, für Nebenbedingungen, die eine LP-Schranke gar nicht ausdrücken kann. Eine zweite Linie mit demselben methodischen Bogen, aber einem anderen Vehikel-Problem — Cutting Stock, bis zu Column Generation und Branch & Price — folgt weiter unten.

Die Kästen sind klickbar und öffnen die jeweilige Demo direkt.

exakte_suche bb Branch & Bound Suchbaum + LP-Schranke dp Dynamische Programmierung Tabellierung, keine Suche bb->dp GLEICHES PROBLEM, TABELLE STATT BAUM cp Schnittebenen LP schärfen, nicht verzweigen bb->cp SCHRANKE VERSCHÄRFEN bc Branch & Cut Verzweigen + Schnitte bb->bc VERZWEIGEN csp Constraint Programming Propagation statt Schranke bb->csp LOGISCHE NEBENBEDINGUNGEN cp->bc SCHNITTE
SUCHBAUM-VISUALISIERUNG

Branch & Bound am Rucksackproblem

Verfolgen Sie den Suchbaum von Branch & Bound Schritt für Schritt: bei wenigen Paketen passt er komplett aufs Bild, bei mehr Paketen entscheidet Pruning über Sekunden statt Minuten. Ein Regler für Wert/Gewicht-Korrelation und ein Umschalter zwischen starker und schwacher Bound zeigen live, wovon Pruning-Erfolg wirklich abhängt.

Demo starten →
TABELLIERUNG

Dynamische Programmierung am Rucksackproblem

Verfolgen Sie, wie die DP-Tabelle Zeile für Zeile gefüllt wird und ein Rückverfolgungspfad danach die optimale Auswahl aufdeckt — keine Verzweigung, keine Schranke, nur Tabellierung. Ein Regler für die Größenordnung der Gewichte zeigt live, wo dieselbe Tabellierung an eine Grenze stößt, die Branch & Bound gar nicht kennt.

Demo starten →
SCHNITTEBENENVERFAHREN

Schnittebenen am Rucksackproblem

Sehen Sie, wie eine gefundene Deckung die LP-Schranke Runde für Runde verschärft, ganz ohne einen Suchbaum zu verzweigen. Ein Vergleich mit dem wahren Optimum zeigt live, dass Schnitte allein oft nicht bis zum Beweis reichen — der Ausgangspunkt für Branch & Cut.

Demo starten →
KOMBINIERTES VERFAHREN

Branch & Cut am Rucksackproblem

Verfolgen Sie, wie Wurzel-Schnitte aus der Schnittebenen-Demo den Suchbaum von Branch & Bound schon vor der ersten Verzweigung schärfen. Ein Drei-Wege-Vergleich zeigt live, wie viele Knoten die Kombination gegenüber jedem Verfahren allein einspart.

Demo starten →
CONSTRAINT PROPAGATION

Constraint Programming am Rucksackproblem

Sehen Sie Constraint-Propagation Paket für Paket ausschließen, sobald ein inkompatibler Partner gewählt wird — ganz ohne LP-Schranke. Ein Vergleich mit klassischem Branch & Bound und dem echten OR-Tools-CP-SAT-Solver zeigt live, wie viele aussichtslose Äste die Propagation von vornherein vermeidet.

Demo starten →

Exakte Suche: Cutting Stock

Sieben Stücke auf einem zweiten Vehikel für exakte Suche, mit demselben methodischen Bogen wie die Rucksack-Linie oben: eine Rolle fester Breite, mehrere Auftragsbreiten mit Bedarf — gesucht die minimale Anzahl Rollen. Über die Brücke "Bedarf zu Einzelstücken aufgelöst" wird daraus Bin Packing. Der Anlass für diese zweite Linie: Column Generation und Branch & Price brauchen ein Problem mit natürlich exponentiell vielen impliziten Variablen (Mustern) — das gibt reines Rucksack nicht her.

Nicht zu verwechseln mit der bereits bestehenden Fall-Demo Cutting Stock (Column Generation vs. First-Fit-Decreasing-Heuristik, mehrere Rollentypen) — diese Linie vergleicht Verfahren gegen Verfahren auf einem bewusst einfacheren, einzigen Rollentyp, nicht Verfahren gegen Heuristik.

Wie bei der Rucksack-Linie oben ein einfacher Abhängigkeitsgraph statt einer Auswahlfrage — hier allerdings mit ZWEI Konvergenzpunkten statt einem. Branch & Bound ist die Wurzel, bewusst ohne Symmetrie-Mitigation. Dynamische Programmierung ist ein Kontrast: derselbe Bedarfsvektor als Zustand statt Suchbaum, mit einer völlig anderen eigenen Schwäche (der Zustandsraum wächst mit der Anzahl Auftragstypen, nicht mit der Kapazität). Der Symmetrie-Schnitt behebt tatsächlich, was die Wurzel nur zeigte, und läuft mit ihr in Branch & Cut zusammen — echtes, per-Knoten wiederholtes Branch & Cut, realistischer als die erste Linie. Constraint Programming ist ein unabhängiger Zweig mit einer echten Materialsorten-Nebenbedingung statt künstlicher Zufalls-Paare. Column Generation schließlich ist der eigentliche Anlass dieser Linie — ein grundlegend anderer Lösungsansatz (LP + Spaltengenerierung statt Suche) — und läuft mit der Wurzel in Branch & Price zusammen: echte Ryan-Foster-Verzweigung schließt, was Column Generation offen ließ.

Die Kästen sind klickbar und öffnen die jeweilige Demo direkt.

cutting_stock bb2 Branch & Bound Verzweigung, Symmetrie unbehandelt dp2 Dynamische Programmierung Zustandsvektor statt Suchbaum bb2->dp2 GLEICHES PROBLEM, TABELLE STATT BAUM cp2 Symmetrie-Schnitt Suchraum direkt beschnitten bb2->cp2 SYMMETRISCHE BINS bc2 Branch & Cut Verzweigung + Schnitt + LP pro Knoten bb2->bc2 VERZWEIGEN csp2 Constraint Programming Propagation statt Schranke bb2->csp2 LOGISCHE NEBENBEDINGUNGEN cg Column Generation LP statt Suchbaum bb2->cg GLEICHES PROBLEM, LP STATT SUCHBAUM bap Branch & Price Verzweigung + Spaltengenerierung bb2->bap VERZWEIGEN cp2->bc2 SCHNITT cg->bap SPALTENGENERIERUNG
BIN-PACKING-SUCHBAUM

Branch & Bound am Cutting-Stock-Problem

Verfolgen Sie, wie Bedarfsmengen zu Einzelstücken werden und ein n-ärer Suchbaum sie auf möglichst wenige Rollen verteilt. Ein Vergleich mit einer künstlich entsymmetrisierten Zwillingsinstanz zeigt live, wie stark austauschbare (symmetrische) Bins den Suchbaum unnötig aufblähen — bewusst unbehoben, der Ausgangspunkt für den nächsten Schnitt.

Demo starten →
ZUSTANDSRAUM-EXPLOSION

Dynamische Programmierung am Cutting-Stock-Problem

Verfolgen Sie, wie eine Rekursion über Bedarfsvektoren Rolle für Rolle einen Schnittplan aufbaut — keine Verzweigung, nur Memoisierung. Ein Balkendiagramm zeigt live, dass der Zustandsraum hier mit der Anzahl Auftragstypen explodiert, komplett unabhängig von der Rollenbreite — der genaue Gegensatz zur ersten (Rucksack-)Linie.

Demo starten →
SYMMETRIE-SCHNITT

Symmetrie-Schnitte am Cutting-Stock-Problem

Sehen Sie, wie ein echter algorithmischer Schnitt baugleiche offene Bins gar nicht erst als eigene Äste erzeugt, statt Symmetrie nur zu diagnostizieren. Ein Vorher/Nachher-Vergleich auf derselben Instanz zeigt live eine Reduktion um mehr als das 40-fache.

Demo starten →
KOMBINIERTES VERFAHREN

Branch & Cut am Cutting-Stock-Problem

Verfolgen Sie, wie eine an jedem Suchbaum-Knoten frisch gelöste LP-Schranke mit dem Symmetrie-Schnitt zusammenwirkt — echtes, per-Knoten wiederholtes Branch & Cut statt einmalig eingefrorener Schnitte. Ein Dreier-Vergleich zeigt live, was jede Zutat einzeln beiträgt.

Demo starten →
MATERIALSORTEN-PROPAGATION

Constraint Programming am Cutting-Stock-Problem

Sehen Sie Constraint-Propagation kapazitätspassende, aber materialinkompatible Bins ausschließen, bevor sie überhaupt entstehen — eine echte, aus der Praxis stammende Nebenbedingung statt künstlicher Zufalls-Paare. Der echte OR-Tools-CP-SAT-Solver bestätigt live jedes Ergebnis.

Demo starten →
SPALTENGENERIERUNG

Column Generation am Cutting-Stock-Problem

Verfolgen Sie, wie ein Master-LP gezielt neue Schnittmuster anfordert, statt vorab exponentiell viele durchzuprobieren. Ein Schranken-Vergleich zeigt live eine dramatisch engere Schranke als die einfache Summenschranke — aber auch ehrlich, dass naives Aufrunden allein noch keine gute Lösung garantiert.

Demo starten →
RYAN-FOSTER-VERZWEIGUNG

Branch & Price am Cutting-Stock-Problem

Sehen Sie, wie echte Ryan-Foster-Verzweigung — nicht naive Verzweigung auf einer Muster-Variable — bei jeder fraktionalen Lösung gezielt zwei Stücke zusammen oder getrennt erzwingt, kombiniert mit Spaltengenerierung an jedem Knoten. Ein Vergleich zeigt live, wie das die Lücke schließt, die naives Aufrunden offen ließ.

Demo starten →

Clustering

Clustering gruppiert Datenpunkte anhand ihrer Ähnlichkeit, ganz ohne vorgegebene Kategorien — die Gruppen sind das Ergebnis, nicht die Eingabe. In der Logistik zum Beispiel: Kundenstandorte zu Touren, Lieferadressen zu Sammel-Routen oder kleinere Depots zu größeren Verteilzentren.

Kein linearer Pfad, sondern ein Graph mit zwei verbundenen Ausgangspunkten und vier Richtungen — plus einem dritten, völlig unabhängigen Ursprung. Von k-Means aus beheben drei unabhängige Zweige je eine konkrete Schwäche: DBSCAN (weder festes k noch konvexe Form nötig), Gaussian Mixture Models (weiche statt harter Zuordnung, beliebige Kovarianzform, fortgesetzt von der Dirichlet-Process-Mixture, die auch dort noch das feste k auflöst) und Spectral Clustering (nicht-konvexe Formen über Graphentheorie statt Dichte, fortgesetzt vom Leiden-Algorithmus, der auch dort noch das feste k auflöst). Agglomeratives Clustering startet unabhängig von k-Means und läuft mit DBSCAN in HDBSCAN zusammen, das beide dort geerbten Schwächen zugleich löst. Der vierte Zweig ist kein Fix, sondern ein Kontrast: Divisive Clustering baut dieselbe Art Hierarchie wie agglomeratives Clustering von oben statt von unten auf. Jeder Pfeil steht für "behebt eine konkrete Schwäche des Vorgängers" oder — beim Kontrast-Zweig — für "derselbe Zweck, entgegengesetzte Bauweise", nicht für eine vorgeschriebene Reihenfolge. CluBS schließlich steht für sich allein: keine Kante verbindet es mit den anderen neun Stücken, weil es nicht nach Position, sondern nach gemeinsamem Verhalten gruppiert — eine andere Ähnlichkeitsphilosophie, kein Fix und kein Kontrast zu etwas Bestehendem.

Die Kästen sind klickbar und öffnen die jeweilige Demo direkt.

clustering kmeans k-Means Rund, gleich verteilt, hart dbscan DBSCAN Beliebige Form, feste Dichte kmeans->dbscan FESTES K, KONVEXE FORM gmm GMM Elliptisch, weiche Zuordnung kmeans->gmm STARRE FORM, HARTE ZUWEISUNG spectral Spectral Clustering Graph-Clustering mit Ziel-k kmeans->spectral KONVEXE FORM divisive Divisive Top-Down, grobe Schnitte kmeans->divisive NUR EINE AUFTEILUNG agglomerative Agglomerativ Bottom-Up, volle Hierarchie hdbscan HDBSCAN Beliebige Form, variable Dichte agglomerative->hdbscan CHAINING agglomerative->divisive GLEICHE HIERARCHIE, ENTGEGENGESETZT GEBAUT clubs CluBS Clustering nach Verhalten ⚠ frisch aus der Forschung (KDD'26, unveröffentlicht) dbscan->hdbscan GLEICHE DICHTE dpmm DPMM Elliptisch, ohne festes k gmm->dpmm FESTES K leiden Leiden Graph-Clustering ohne Ziel-k spectral->leiden FESTES K

CluBS ist der einzige eigens umrahmte Knoten (gestrichelt): es hat keinerlei Verbindung zu den übrigen neun Knoten. HDBSCAN und Divisive Clustering bleiben inhaltlich weiterhin besondere Fälle - HDBSCAN als echter Zusammenfluss aus DBSCAN und agglomerativem Clustering, Divisive Clustering als bewusster Kontrast statt eines Fixes -, ohne dafür eine eigene Rahmung zu brauchen.

ITERATIVE PARTITIONIERUNG

k-Means für die Standortwahl von Depots

Verfolgen Sie Lloyd's Algorithmus Iteration für Iteration: Zuweisung und Zentren-Update wechseln sich ab, bis die Zielfunktion konvergiert. Ein Vergleich von Zufalls-Start gegen k-Means++ über 40 Läufe zeigt live, wie oft reiner Zufall in einem schlechten lokalen Optimum landet.

Demo starten →
WEICHES CLUSTERING

Gaussian Mixture Models für weiche Sammel-Routen-Zuordnung

Verfolgen Sie den EM-Algorithmus Iteration für Iteration: statt harter Zentren übernehmen volle Gauß-Verteilungen mit eigener Kovarianz, dargestellt als live mitwachsende Ellipsen. Ein Vergleich von vier Kovarianz-Typen an elliptischen, rotierten Gruppen zeigt live, wie stark k-Means' Rundheits-Annahme in der Praxis ins Gewicht fällt.

Demo starten →
DICHTEBASIERTES CLUSTERING

DBSCAN: Sammel-Routen ohne feste Anzahl

Sehen Sie DBSCAN Punkt für Punkt in Core-, Rand- und Noise-Punkte klassifizieren, ganz ohne vorab festgelegte Clusteranzahl. Ein k-Distanz-Plot und ein eps-Sweep über zwei unterschiedlich dichte Gruppen zeigen live, warum ein einzelner globaler Suchradius nicht immer für beide zugleich passt.

Demo starten →
HIERARCHISCHES CLUSTERING

Agglomeratives Clustering: schrittweise Depot-Konsolidierung

Verfolgen Sie, wie agglomeratives Clustering Punkt für Punkt zu einer vollständigen Hierarchie verschmilzt, synchron im Dendrogramm und in der Punktwolke. Ein Vergleich von vier Linkage-Kriterien an einer dünnen Punktbrücke zeigt live, wie Single-Linkage zwei eigentlich getrennte Gruppen fälschlich verkettet.

Demo starten →
DICHTE-HIERARCHIE

HDBSCAN: die Kombination, die Dichte UND Chaining löst

Sehen Sie, wie HDBSCAN eine dichte-angepasste Distanz mit einer Fusionshierarchie kombiniert und daraus per Kondensierung stabile Cluster gewinnt. Zwei geerbte Härtefälle — Dichte-Ungleichgewicht und Chaining — werden hier live gelöst, statt nur behauptet.

Demo starten →
BAYESIANISCHE NICHTPARAMETRIK

Dirichlet-Process-Mixture: Sammel-Routen ganz ohne feste Anzahl

Verfolgen Sie Variational Inference Iteration für Iteration: ein Konzentrationsparameter ersetzt die Clusterzahl k vollständig. Ein Trunkierungs-Regler zeigt live den neuen Kompromiss dieser schnelleren, deterministischen Alternative zum klassischen MCMC-Sampling.

Demo starten →
GRAPHENTHEORIE

Spectral Clustering: nicht-konvexe Sammel-Routen ohne Dichtebegriff

Sehen Sie, wie ein Ähnlichkeitsgraph über seine Graph-Laplace-Matrix in eine Einbettung zerlegt wird, in der k-Means plötzlich leichtfällt. Ein Phasen-Regler zeigt Ähnlichkeitsgraph, Eigenwerte, Einbettung und Ergebnis einzeln — und einen Härtefall mit falsch vorgegebener Clusterzahl.

Demo starten →
MODULARITÄTSOPTIMIERUNG

Leiden-Algorithmus: automatische Depot-Gruppierung ohne Ziel-k

Sehen Sie, wie der Leiden-Algorithmus einen Ähnlichkeitsgraphen Pass für Pass verdichtet und die Gruppenanzahl automatisch findet. Ein Auflösungsparameter macht das Auflösungslimit der Modularität live sichtbar: selbst klar getrennte, aber kleine Gruppen können verschmolzen werden.

Demo starten →
TOP-DOWN-HIERARCHIE

Divisive Clustering: schrittweise Depot-Aufspaltung von oben

Verfolgen Sie, wie Bisecting k-Means eine Hierarchie von der Wurzel nach unten aufbaut — das Gegenstück zum bottom-up arbeitenden agglomerativen Clustering. Ein Vergleich mit einer Single-Linkage-Referenz zeigt live, wann diese günstigere Alternative bei nicht-konvexen Formen scheitert und wann sie überraschend robuster ist.

Demo starten →
VERHALTENS-CLUSTERING

CluBS: Clustering nach Verhalten statt nach Position

Verfolgen Sie, wie CluBS Punkte nicht nach räumlicher Nähe, sondern danach gruppiert, welcher gemeinsamen mathematischen Funktion sie folgen. Ein direkter Vergleich mit einer k-Means-dann-Fit-Baseline zeigt live, warum räumliche Nähe bei überlappenden Punktwolken nicht ausreicht. Frisch aus der Forschung (KDD'26) und explizit als unveröffentlicht gekennzeichnet — kein etablierter Standard wie die übrigen Stücke dieser Reihe.

Demo starten →

Welches Verfahren passt zu meinen Daten?

Zwei Entscheidungsbäume statt einer Fragenliste: Baum 1 klärt zuerst, welche Art von Ähnlichkeit überhaupt gemeint ist - die meisten Fälle führen weiter zu Baum 2, der das passende positionsbasierte Verfahren findet. Fragen-Kästen (beige) sind nicht klickbar, Ergebnis-Kästen (weiß) öffnen die jeweilige Demo direkt.

Baum 1 — Wonach ähneln sich Ihre Punkte?

baum1 root Wonach sollen sich Ihre Punkte ähneln? q_position Position, Dichte oder Hierarchie (der übliche Fall) root->q_position q_graph Liegen die Daten bereits als Netzwerk/Graph vor? root->q_graph q_behavior Gemeinsames Verhalten, nicht Position root->q_behavior jump ↓ weiter mit Baum 2 (unten) q_position->jump q_k Zielgruppenanzahl vorab bekannt? q_graph->q_k clubs CluBS Clustering nach Verhalten ⚠ frisch aus der Forschung (KDD'26, unveröffentlicht) q_behavior->clubs spectral Spectral Clustering Graph-Clustering mit Ziel-k q_k->spectral JA leiden Leiden Graph-Clustering ohne Ziel-k q_k->leiden NEIN

Baum 2 — Welches positionsbasierte Verfahren passt?

baum2 q1 Ganze Hierarchie nötig, nicht nur eine Aufteilung? q1b Grobe Top-Down-Aufteilung reicht, oder volle Fusionsfolge? q1->q1b JA q2 Gruppen rund/elliptisch, oder beliebige Form? q1->q2 NEIN divisive Divisive Top-Down, grobe Schnitte q1b->divisive GROB agglomerativ Agglomerativ Bottom-Up, volle Hierarchie q1b->agglomerativ VOLLSTÄNDIG q3 Gruppenanzahl k vorab bekannt? q2->q3 RUND/ELLIPT. q4 Dichte der Gruppen einheitlich? q2->q4 BELIEBIGE FORM q3b Gleich groß, rund, gleich gestreut? q3->q3b JA dpmm DPMM Elliptisch, ohne festes k q3->dpmm NEIN dbscan DBSCAN Beliebige Form, feste Dichte q4->dbscan JA hdbscan HDBSCAN Beliebige Form, variable Dichte q4->hdbscan NEIN kmeans k-Means Rund, gleich verteilt, hart q3b->kmeans JA gmm GMM Elliptisch, weiche Zuordnung q3b->gmm NEIN

Beige Kästen sind Fragen (nicht klickbar), weiße Kästen sind Ergebnisse (klickbar, öffnen die jeweilige Demo). Achtung bei Single-Linkage (agglomeratives Clustering): neigt zu Chaining - Complete/Average/Ward sind robuster.

Weitere Konzepte folgen. Fehlt Ihnen ein Verfahren, das Sie gerne einmal Schritt für Schritt nachvollziehen würden? Schreiben Sie mir.