BranchandBoundVerfahren
BranchandBoundVerfahren, auch Branch-and-Bound-Verfahren genannt, ist ein globales Optimierungsverfahren zur Lösung von diskreten oder gemischt-ganzzahligen Problemen. Es durchsucht einen Suchbaum, indem es Teilprobleme erzeugt (Branching) und für jedes Teilproblem eine Ober- bzw. Untergrenze des optimalen Werts bestimmt (Bounding). Ein laufender Lösungsvorschlag (Incumbent) dient als Ober- bzw. Untergrenze; wenn ein Teilproblem eine bessere Lösung liefert, wird der Inkumbent aktualisiert. Teilprobleme, deren Grenzwert nicht besser ist als der Inkumbent, werden verworfen (Pruning).
Der Algorithmus setzt sich aus mehreren Bausteinen zusammen: Branching (Aufteilung des Problems in Teilprobleme, z. B.
Typische Bounding-Verfahren umfassen relaxierte Probleme (z. B. LP-Relaxation beim gemischt-ganzzahligen Programmieren), Relaxationen bei Rucksack- oder Knotenproblemen.
Anwendungsgebiete umfassen 0-1-Integer-Programmierung, Transport- und Knapsack-Probleme, TSP, Scheduling. Die Komplexität ist im Allgemeinen exponentiell; die Leistungsfähigkeit