www.wikidata.de-de.nina.az
Branch and Bound engl fur Verzweigung und Schranke oder Verzweigen und begrenzen ist eine im Bereich Operations Research haufig verwendete mathematische Methode deren Ziel darin besteht fur ein gegebenes ganzzahliges Optimierungsproblem eine beste Losung zu finden Branch and Bound fuhrt auf einen Entscheidungsbaum ist selbst aber kein spezielles Verfahren sondern eine Behandlungsmethode ein Meta Verfahren Fur konkrete kombinatorische Optimierungsprobleme ergeben sich dementsprechend angepasste Branch and Bound Algorithmen Inhaltsverzeichnis 1 Das Prinzip 1 1 Branch die Verzweigung 1 2 Bound die Schranke 1 3 Dominanz 2 Anwendung auf Probleme der ganzzahligen linearen Optimierung 2 1 Losungsweg 2 2 Beispiel 2 3 Bewertung des Verfahrens 3 Geschichte 4 Literatur 5 EinzelnachweiseDas Prinzip BearbeitenIm Optimierungsproblem f x min displaystyle f x to min nbsp bei x D displaystyle x in D nbsp sei der zulassige Bereich D displaystyle D nbsp eine diskrete Menge eventuell sogar endlich Alle zugelassenen Belegungen x D displaystyle x in D nbsp durchzuprobieren scheitert meist an inakzeptabel langen Rechenzeiten Deshalb wird D displaystyle D nbsp nach und nach in mehrere Teilmengen aufgespalten Branch Mittels geeigneter Schranken Bound sollen viele suboptimale Belegungen fruhzeitig erkannt und ausgesondert werden so dass der zu durchsuchende Losungsraum klein gehalten wird Im ungunstigsten Fall werden alle Belegungen aufgezahlt vollstandige Enumeration Branch die Verzweigung Bearbeiten Der Aufteilungsschritt Branch Schritt dient dazu das vorliegende Problem in zwei oder mehr Teilprobleme aufzuteilen die eine Vereinfachung des ursprunglichen Problems darstellen Durch rekursives Ausfuhren des Aufteilungsschritts fur die erhaltenen Teilprobleme entsteht eine Baumstruktur Es gibt verschiedene Auswahlverfahren fur die Wahl des nachsten zu bearbeitenden Knotens im Aufteilungsbaum die unterschiedliche Zielsetzungen haben Im Folgenden werden zwei haufig verwendete Verfahren beschrieben Tiefensuche Von den noch nicht bearbeiteten Teilproblemen wird das gewahlt welches als letztes eingefugt wurde Last In First Out Mit dieser Auswahlregel arbeitet sich das Verfahren im Baum moglichst schnell in die Tiefe so dass im Allgemeinen sehr schnell eine zulassige Losung erlangt wird uber deren Qualitat jedoch nichts ausgesagt werden kann Breitensuche Von den noch nicht bearbeiteten Teilproblemen wird das gewahlt welches als erstes in den Baum eingefugt wurde First In First Out Bei Verwendung dieser Auswahlregel werden die Knoten im Baum pro Ebene abgearbeitet bevor tiefer gelegene Knoten betrachtet werden Eine zulassige Losung wird in der Regel erst relativ spat erhalten hat aber tendenziell einen guten Losungswert Diese Strategie fuhrt auch tendenziell fruh zu brauchbaren unteren Schranken Die Verfahren sind kombinierbar Eine erste Losung lasst sich zum Beispiel mit einer Tiefensuche bestimmen um dann bei einer anschliessenden Breitensuche bereits eine globale obere bzw untere Schranke zu haben Bound die Schranke Bearbeiten Der Bound Schritt hat die Aufgabe bestimmte Zweige des Baumes abzuschneiden d h in der weiteren Berechnung nicht mehr zu betrachten um so den Rechenaufwand zu begrenzen Dies erreicht der Algorithmus durch Berechnung und Vergleich der oberen und unteren Schranke Obere Schranken upper bound ergeben sich aus jeder zulassigen Losung Dafur kann gegebenenfalls zuvor eine Heuristik benutzt werden Um gute untere Schranken lower bound zu finden wird oft eine Relaxation zugrunde gelegt Das ist eine auf einer Menge E D displaystyle E supseteq D nbsp definierte leicht zu berechnende Funktion g displaystyle g nbsp mit g x f x displaystyle g x leq f x nbsp fur alle x D displaystyle x in D nbsp Das relaxierte Problem g x min displaystyle g x to min nbsp bei x E displaystyle x in E nbsp sei leicht losbar und besitze eine Optimallosung x displaystyle bar x nbsp Dann gilt f x g x displaystyle f x geq g bar x nbsp fur alle x D displaystyle x in D nbsp Bei x D f x g x displaystyle bar x in D land f bar x g bar x nbsp ist x displaystyle bar x nbsp auch Optimallosung des nicht relaxierten Problems Diese Uberlegungen sind auch auf Teilprobleme anwendbar wo also die Menge D displaystyle D nbsp bereits aufgespalten wurde Kennt man bereits eine zulassige Losung x D displaystyle hat x in D nbsp und ist die untere Schranke fur ein Teilproblem grosser als f x displaystyle f hat x nbsp dann braucht man jenes Teilproblem nicht weiter zu untersuchen weil es keine Optimallosung ergibt Dominanz Bearbeiten Von Dominanz spricht man wenn fur jede Belegung x displaystyle tilde x nbsp aus einer Teilmenge T D displaystyle T subset D nbsp eine nicht schlechtere zulassige Losung x D T displaystyle bar x in D setminus T nbsp konstruiert werden kann Werden nicht alle Optimallosungen gesucht sondern nur eine dann erubrigt sich die Suche in T displaystyle T nbsp selbst wenn die Schranken alleine nicht ausreichen T displaystyle T nbsp von der weiteren Durchmusterung auszuschliessen Dies steigert mitunter die Effizienz des Verfahrens erheblich beispielsweise im mehrdimensionalen Zuschnittsproblem obwohl Dominanztests nicht zur ursprunglichen Methode Branch and Bound gehoren Beispiel z x 1 x 2 x 1 x 2 min displaystyle z x 1 x 2 x 1 x 2 to min nbsp bei x 1 x 2 2 3 4 5 displaystyle x 1 x 2 in 2 3 4 5 nbsp sei zu losen Eine untere Schranke ergibt sich sofort indem alle Summanden nach unten abgeschatzt werden also 2 5 5 2 5 5 displaystyle 2 5 5 2 5 5 nbsp Branch and Bound ohne Dominanzuberlegungen anzuwenden erweist sich hier als unnotig aufwandig Wegen z x 1 1 1 x 2 x 2 x 1 2 x 2 displaystyle z x 1 1 1 x 2 x 2 geq x 1 2 x 2 nbsp ist x 1 displaystyle x 1 nbsp so klein wie moglich zu wahlen einerlei wie gross x 2 displaystyle x 2 nbsp ist das heisst x 1 2 displaystyle x 1 2 nbsp Fur x 2 5 displaystyle x 2 5 nbsp wird z 3 4 displaystyle z 3 4 nbsp bei x 2 4 displaystyle x 2 leq 4 nbsp ist z gt 3 displaystyle z gt 3 nbsp und damit nicht optimal Die einzige Optimallosung lautet x 1 2 x 2 5 displaystyle x 1 2 x 2 5 nbsp Anwendung auf Probleme der ganzzahligen linearen Optimierung BearbeitenDas allgemeine ganzzahlige lineare Optimierungsproblem hat die Gestalt Maximiere G a x displaystyle G a cdot x nbsp unter der Nebenbedingung A x b displaystyle A cdot x leq b nbsp und x N 0 n displaystyle x in mathbb N 0 n nbsp mit A m n Matrix x n dimensionaler Vektor a n dimensionaler Vektor b m dimensionaler Vektor a x skalares Produkt lineare Funktion mit n Variablen reeller Wert Ax m dimensionaler Vektor der als Matrix Vektor Produkt der Matrix A mit dem n dimensionalen Vektor x entsteht Durch Vernachlassigung der Ganzzahligkeitsbedingungen erhalt man die stetige Relaxation die mit dem Simplex Verfahren gelost werden kann Wegen der geforderten Ganzzahligkeit gehort das Ausgangsproblem aber nicht zu den linearen Optimierungsproblemen Losungsweg Bearbeiten Das Problem kann man mit Hilfe des Branch and Bound Verfahrens losen Zuerst wird als bisher bester Zielfunktionswert G displaystyle hat G infty nbsp gesetzt und die Ganzzahligkeitsbedingung weggelassen Maximiere G a x displaystyle G a cdot x nbsp unter den Nebenbedingungen A x b displaystyle A cdot x leq b nbsp und x 0 displaystyle x geq 0 nbsp Das so entstandene Problem nennen wir P0 Dieses nun lineare Optimierungsproblem lost man mit dem Simplex Verfahren Im Allgemeinen wird die erhaltene Losung nicht ganzzahlig sein d h x 1 x 2 x n displaystyle x 1 x 2 ldots x n nbsp sind nicht durchgangig ganzzahlig Ohne Beschrankung der Allgemeinheit wurde dies auch x 1 displaystyle x 1 nbsp betreffen Nun versucht man Losungen mit ganzzahligem x 1 displaystyle x 1 nbsp zu finden Sei s 1 displaystyle s 1 nbsp die grosste ganze Zahl kleiner als x 1 displaystyle x 1 nbsp Dann formuliert man zwei neue lineare Optimierungsprobleme P 11 displaystyle P 11 nbsp und P 12 displaystyle P 12 nbsp derart dass die vorher gefundene Losung jeweils ausgeschlossen wird P 11 displaystyle P 11 nbsp Maximiere G a x displaystyle G a cdot x nbsp unter den Nebenbedingungen A x b displaystyle A cdot x leq b nbsp x 0 displaystyle x geq 0 nbsp x 1 s 1 displaystyle x 1 leq s 1 nbsp P 12 displaystyle P 12 nbsp Maximiere G a x displaystyle G a cdot x nbsp unter den Nebenbedingungen A x b displaystyle A cdot x leq b nbsp x 0 displaystyle x geq 0 nbsp x 1 s 1 1 displaystyle x 1 geq s 1 1 nbsp Eine solche Aufteilung in Unterprobleme nennt man branch engl Verzweigung Beide Teilprobleme werden mit dem dualen Simplexverfahren gelost Folgende Falle konnen auftreten Der zulassige Bereich wird leer Man findet eine ganzzahlige Optimallosung fur das Teilproblem x 1 displaystyle x 1 nbsp wird ganzzahlig dafur aber ein anderes x i displaystyle x i nbsp nicht wobei es keine Rolle spielt ob jenes x i displaystyle x i nbsp vorher ganzzahlig war oder nicht Im Fall 1 erledigt sich das Teilproblem In den anderen Fallen gilt das auch wenn G G displaystyle G leq hat G nbsp ist und nur eine Optimallosung gesucht wird oder G lt G displaystyle G lt hat G nbsp ist und alle Optimallosungen gesucht werden Ansonsten speichert man im Fall 2 die gefundene Losung als bisher beste und ersetzt G displaystyle hat G nbsp durch G displaystyle G nbsp wahrend im Fall 3 das Teilproblem weiter aufzuspalten ist Auf diese Weise wird der gesamte Losungsraum durchsucht und eine Optimallosung gefunden wenn es eine gibt und das Verfahren nicht vorzeitig abgebrochen wurde Es ist durchaus moglich dass man trotz erschopfender Suche keine Losung findet Dann besitzt das Ausgangsproblem keine zulassigen Losungen Beispiel Bearbeiten Anhand einer konkreten Aufgabenstellung wird das Verfahren demonstriert Das Ausgangsproblem lautet Maximiere G x 1 x 2 displaystyle G x 1 x 2 nbsp mit den Nebenbedingungen 2 x 1 x 2 4 displaystyle 2x 1 x 2 leq 4 nbsp x 1 2 x 2 3 displaystyle x 1 2x 2 leq 3 nbsp x 1 x 2 0 displaystyle x 1 x 2 geq 0 nbsp ganzzahligWir lassen die Ganzzahligkeitsbedingung weg und finden mit dem Simplex Verfahren die optimale Losung G 7 3 displaystyle G frac 7 3 nbsp x 1 5 3 displaystyle x 1 frac 5 3 nbsp x 2 2 3 displaystyle x 2 frac 2 3 nbsp Wir fahren fort mit dem Ziel eine Losung mit ganzzahligem x 1 displaystyle x 1 nbsp zu finden Dazu bilden wir 2 weitere Optimierungsaufgaben eine mit der zusatzlichen Nebenbedingung x 1 1 displaystyle x 1 leq 1 nbsp die andere mit x 1 2 displaystyle x 1 geq 2 nbsp P 11 displaystyle P 11 nbsp Maximiere G x 1 x 2 displaystyle G x 1 x 2 nbsp mit den Nebenbedingungen 2 x 1 x 2 4 displaystyle 2x 1 x 2 leq 4 nbsp x 1 2 x 2 3 displaystyle x 1 2x 2 leq 3 nbsp x 1 1 displaystyle x 1 leq 1 nbsp x 1 x 2 0 displaystyle x 1 x 2 geq 0 nbsp P 12 displaystyle P 12 nbsp Maximiere G x 1 x 2 displaystyle G x 1 x 2 nbsp mit den Nebenbedingungen 2 x 1 x 2 4 displaystyle 2x 1 x 2 leq 4 nbsp x 1 2 x 2 3 displaystyle x 1 2x 2 leq 3 nbsp x 1 2 displaystyle x 1 geq 2 nbsp x 1 x 2 0 displaystyle x 1 x 2 geq 0 nbsp Das Problem P 11 displaystyle P 11 nbsp hat die Losung G 2 displaystyle G 2 nbsp x 1 1 displaystyle x 1 1 nbsp x 2 1 displaystyle x 2 1 nbsp Da x 1 displaystyle x 1 nbsp und x 2 displaystyle x 2 nbsp ganzzahlig sind ist dies eine zulassige Losung des Ausgangsproblems Wir wissen aber noch nicht ob es eine bessere Losung gibt Dazu losen wir Problem P 12 displaystyle P 12 nbsp und erhalten G 2 displaystyle G 2 nbsp x 1 2 displaystyle x 1 2 nbsp x 2 0 displaystyle x 2 0 nbsp Auch dies ist wegen der Ganzzahligkeit eine zulassige Losung Da sowohl fur P 11 displaystyle P 11 nbsp als auch fur P 12 displaystyle P 12 nbsp die Zielfunktion den Wert G 2 displaystyle G 2 nbsp annimmt hat das Problem zwei optimale Losungen Bewertung des Verfahrens Bearbeiten Beim Branch and Bound Verfahren mussen mehrere in ungunstigen Fallen sehr viele Optimierungsprobleme gespeichert verwaltet und mit Hilfe des Simplex Verfahrens gelost werden Insbesondere bei grossen Problemen die mehrere hunderttausend Variablen und Nebenbedingungen haben konnen fuhrt dies zu hohem Rechen und Speicheraufwand Dafur vermeidet man den Nachteil des Schnittebenenverfahrens von Gomory bei dem numerische Probleme durch mangelnde Genauigkeit der Zahlendarstellung im Computer die Losungssuche erschweren In der Praxis werden bei der Losung ganzzahliger Optimierungsprobleme oft beide Verfahren zu Branch and Cut kombiniert Dabei werden im Wurzelknoten und manchmal auch in weiteren Knoten des Branch and Bound Baumes Schnittebenen separiert um die lineare Relaxierung zu verscharfen Geschichte BearbeitenDie Idee von Branch and Bound wurde erstmals 1960 von den Operations Research Wissenschaftlerinnen Ailsa Land und Alison Doig spater Alison Harcourt im Bereich des Operations Research formuliert 1 R J Dakin gab 1965 einen einfach zu implementierenden Algorithmus an Literatur BearbeitenR J Dakin A tree search algorithm for mixed integer programming problems In The Computer Journal Volume 8 1965 S 250 255 comjnl oxfordjournals orgEinzelnachweise Bearbeiten A H Land and A G Doig An automatic method of solving discrete programming problems In Econometrica Jg 28 1960 Nr 3 497 520 doi 10 2307 1910129 Abgerufen von https de wikipedia org w index php title Branch and Bound amp oldid 227737762