Ganzzahlige und gemischt-ganzzahlige Optimierung Mike Hüftle 28. Juli 2006 Inhaltsverzeichnis 1 Einleitung 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 2 Schnittebenenverfahren 2.1 Methodenbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . 4 4 3 Branch and Bound/Branch and Cut 3.1 Methodenbeschreibung . . . . . . . . . 3.1.1 Nebenpfad: Branch and Bound 3.2 Varianten . . . . . . . . . . . . . . . . 3.3 Branch and Cut . . . . . . . . . . . . . 3.4 Anwendung . . . . . . . . . . . . . . . 3.5 Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 6 8 9 10 11 4 Branch and Price 4.1 Methodenbeschreibung . . . . . . . . . 4.1.1 Nebenpfad: Column Generation 4.2 Varianten . . . . . . . . . . . . . . . . 4.3 Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 13 14 15 5 Benders Dekomposition 16 5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6 Nichtlineare gemischt-ganzzahlige 6.1 Nichtlineares Modell . . . . . . . 6.2 Methoden . . . . . . . . . . . . . 6.3 Methoden . . . . . . . . . . . . . 1 Optimierung 17 . . . . . . . . . . . . . . . . . . 17 . . . . . . . . . . . . . . . . . . 18 . . . . . . . . . . . . . . . . . . 19 7 Literatur und Methoden 7.1 Literatur zu Schnittebenenverfahren . . . . . . . 7.1 Literatur zu Branch and Bound/Branch and Cut 7.1 Literatur zu Branch and Price . . . . . . . . . . . 7.1 Literatur zu Benders Dekomposition und MINLP 7.1 Methoden . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 20 20 21 22 23 1 Einleitung 1.1 Ganzzahlige Optimierung Optimierungsprobleme mit ganzzahligen Variablen gehören zu den NPschwerenProblemen, d.h. der Rechenaufwand zur Bestimmung einer exakten optimalen Lösung ist in der Regel sehr groß, so dass die Optimallösung nicht mit vertretbarem Aufwand berechnet werden kann. Ein ganzzahliges Optimierungsmodell kann folgendermaßen formuliert werden: Ganzzahliges Optimierunsmodell min f (x) s. d. gj (x) ≤ 0, x ∈ X ganzzahlig Binäre Optimierung Wenn die ganzzahligen Variablen nur zwei Werte annehmen dürfen heißt dies binäres oder Boolesches Optimierungsmodell. Kombinatorische Optimierungsprobleme lassen sich oft mit Binärvariablen beschreiben. 3 1.2 Lösungsmethoden Methoden Zur Bestimmung einer näherungsweise optimalen Lösung können Heuristiken wie Tabu Search, genetische Algorithmen oder problemspezifische Heuristiken eingesetzt werden. Die einzelnen Heuristiken werden detailliert im Kapitel “Heuristiken“besprochen, so dass hier nicht näher auf diese Methoden eingegangen wird. Eine andere Möglichkeit zur Lösung ganzzahliger Probleme ist die effiziente Bestimmung einer näherungsweise optimalen Lösung mit einem exakten Verfahren, wobei die Berechnung in der Nähe des Optimalpunktes abgebrochen wird. Im Folgenden werden verschiedene exakte Verfahren vorgestellt: Schnittebenenverfahren, Entscheidungsbaumverfahren sowie Dekompositionsverfahren. Anwendung Beispiele für häufige Anwendungbereiche ganzzahliger Optimierungsprobleme sind das Handlungsreisenden-Problem, Zuordnungsprobleme oder das Rucksackproblem. 4 2 2.1 Schnittebenenverfahren Methodenbeschreibung Methodenbeschreibung Die Schnittebenenverfahren von GOMORY [] waren die ersten Verfahren zur Lösung ganzzahliger Optimierungsprobleme. Das Prinzip dieser Verfahren besteht darin, anstelle des ganzzahligen Problems eine Folge linearer Probleme zu lösen. Ist die Lösung des jeweiligen linearen Problems nicht ganzzahlig, so wird eine Schnittebene berechnet und diese als zusätzliche Restriktion zu den Nebenbedingungen hinzugefügt. Dann wird erneut das lineare Programm gelöst. Dies wird so lange wiederholt, bis ein lineares Programm eine ganzzahlige optimale Lösung hat oder bis feststeht, dass keine ganzzahlige Lösung existiert. Dieses Verfahren endet in endlich vielen Schritten, falls der zulässige Lösungsraum beschränkt ist und ein Kreisen des Verfahrens verhindert wird. Anwendung Die Anzahl der Iterationen kann bei Schnittebenenverfahren sehr hoch sein, weshalb sie in der Praxis -im Gegensatz zu Branch and Bound-Verfahren- meist ein sehr ungünstiges Laufzeitverhalten zeigen. Bewährt hat sich jedoch eine Kombination aus Schnittebenen- und Branch and Bound-Verfahren, indem letztere durch Hinzufügen einiger Schnitte beschleunigt werden. 5 3 3.1 Branch and BoundVerfahren Branch and Bound/Branch and Cut Methodenbeschreibung Die Branch and Bound-Methode und ihre Erweiterungen sind die Grundlage für die gebräuchlichsten Verfahren zur Lösung ganzzahliger und gemischtganzzahliger Optimierungsprobleme. Ausgehend von einer optimalen, nicht-ganzzahligen (relaxierten) Lösung werden Unterprobleme erzeugt, denen so lange Restriktionen hinzugefügt werden, bis alle Ganzzahligkeitsbedingungen erfüllt sind. Der Lösungsaufwand wird einerseits durch geschicktes Verzweigen (Branching) nach Teilproblemen und andererseits durch möglichst frühzeitiges Terminieren (Bounding) von nicht Erfolg versprechenden Teilen des Entscheidungsbaumes verringert. Methodenbeschreibung Branch and Bound-Verfahren lösen das ganzzahlige Optimierungsproblem mittels kontrollierter, teilweiser Enumeration der ganzzahligen Lösungen. Hierzu wird die zulässige Lösungsmenge schrittweise in Teilmengen separiert und das Problem für jede dieser Teilmengen gelöst. Diese Strategie zur Lösungsfindung wird auch als divide-and-conquer“ bezeichnet und kann anschaulich in einem ” Enumerations- bzw. Entscheidungsbaum dargestellt werden. Die Abbildung zeigt einen binären Entscheidungsbaum mit drei Variablen. Da schon bei wenigen Variablen die vollständige Enumeration, d.h. die Berechnung aller Äste des Entscheidungsbaumes nicht mehr effizient möglich ist, müssen möglichst viele Teilmengen von der Lösungssuche ausgeschlossen werden. Hier detaillierte Methodenbeschreibung des Branch and Boundfinden sie eine Algorithmus. ärer Baum.png ärer Baum.pdf ärer Baum.jpg ärer Baum.mps Effizienz Da Entscheidungsbäume für praktische Probleme sehr umfangreich werden können, muss auch der Speicherplatzbedarf der Branch and Bound-Verfahren berücksichtigt werden. Eine minimale Forderung ist, dass die Liste der aktiven, noch nicht untersuchten Knoten mit ihren oberen und unteren Schranken sowie eine optimale oder näherungsweise optimale Basis gespeichert werden sollten. Durch die Speicherung zusätzlicher Informationen erhöht sich der Speicherbedarf, gleichzeitig kann aber die Laufzeit des Algorithmus verringert werden. 6 3.1.1 Nebenpfad: Branch and Bound Die grundlegenden Elemente eines Branch and Bound-Verfahrens sind die Initialisierung, die Verzweigung (Branching) und die Terminierung (Bounding). Initialisierung Im Rahmen der Initialisierung wird das ganzzahlige Optimierungsmodell oder seine Relaxation betrachtet und bei Minimierungsproblemen eine aktuelle untere Schranke für den Zielfunktionswert berechnet. Dies basiert auf der Idee, dass sich durch das Einhalten der Ganzzahligkeitsbedingungen der Zielfunktionswert nur verschlechtern kann. Bei einem Maximierungsproblem gilt genau das Umgekehrte, es wird also mit der Initialisierung eine obere Schranke für den Zielfunktionswert berechnet. Als Relaxation wird meist die LP-Relaxation verwendet, es ist jedoch auch die Initialisierung mittels einer Lagrange-Relaxation möglich. Verzweigung (Branching) Bei der Verzweigung werden von einem Knoten des Entscheidungsbaumes aus zwei oder mehr Teilprobleme erzeugt. Die Art der Aufspaltung in Teilprobleme hängt immer vom betrachteten Problem ab. Hierzu werden ausgehend von der Lösung in einem Knoten mit mindestens einer nicht ganzzahlige Variablen x¡sub¿i¡/sub¿’=a ([a] sei der nächstkleinere Wert zu a) zwei neue lineare Modelle aufgestellt, wobei eines die Restriktion x0i ≤ [a] und das andere die Restriktion x0i ≥ [a] + 1 erhält. Die Wahl der Entscheidungsvariablen, nach der verzweigt wird, erfolgt meist nach dem Kriterium der größtmöglichen Separation (vgl. z.B. [], pp. 99 f.). Für die im Verzweigungsschritt aufgestellten Modelle werden die Zielfunktionswerte als obere Schranken für das Gesamtproblem berechnet. Diese schränken den Bereich, in dem die optimale Lösung liegen kann, weiter ein und werden als Ausscheidungskriterium für die Verzweigung herangezogen, d.h. wenn der Zielfunktionswert eines Teilmodells größere ist als die kleinste obere Schranke, die bisher berechnet wurde, so kann der Ast dieses Teilmodells terminiert werden. Auswahlregeln Mit der Auswahlregel wird die Reihenfolge festgelegt, in der die Knoten in den Verzweigungsschritt einbezogen werden. Die bekanntesten Auswahlregeln sind die LIFO-Regel (last-in first-out), die relativ wenig Speicherplatz benötigt und die Regel der kleinsten Schranke (bei einem Minimierungsproblem), welche 7 jenen Knoten untersucht, der die kleinste untere Schranke besitzt. Die Auswahlregel kann im Verlauf des Verfahrens geändert werden. So ist es beispielsweise üblich, am Anfang zuerst einen schnellen Pfad zu einer ganzzahligen Lösung zu suchen, um (bei einem Minimierungsproblem) eine obere Schranke für den Zielfunktionswert zu erhalten. Terminierung (Bounding) Die Terminierung eines Knotens erfolgt wenn: • Der Lösungsraum des Teilmodells leer ist • Eine zulässige Lösung gefunden ist, d.h. alle Variablen des Teilmodells ganzzahlig sind • Für den Zielfunktionswert eine untere Schranke angegeben werden kann, die nicht kleiner ist als die aktuell kleinste obere Schranke Die Qualität der berechneten oberen und unteren Schranken ist somit der entscheidende Faktor für die Effizienz eines solchen Verfahrens. Je besser die Schranken sind, desto schneller können Teilbäume von der weiteren Untersuchung ausgeschlossen werden und desto geringer ist der Lösungsaufwand. Da die unteren Schranken aus den Zielfunktionswerten der Teilmodelle gewonnen werden, ist eine möglichst exakte Lösung dieser Teilmodelle notwendig. Es sollte jedoch immer zwischen der Qualität der Schranken und dem hierzu notwendigen Rechenaufwand abgewogen werden. 8 3.2 Varianten Erweiterungen des Branch and BoundVerfahrens Der grundlegende Branch and Bound-Algorithmus kann auf verschiedene Weise ergänzt werden, um eine Effizienzsteigerung zu erreichen. Prioritäten und GUB Branching Der Benutzer kann die einzelnen Variablen für die Knotenauswahl mit Proritäten versehen, welche die relative Wichtigkeit der Variablen aus der Sicht des Benutzers abbilden. Viele Verfahren beinhalten das so genannte GUB Branching, welches zu einem balancierten Entscheidungsbaum führt. Optimale Auswahlregeln Spezielle Auswahlregeln wählen anhand von Optimalitätsüberlegungen die Variable, nach der zu verzweigen ist. Es wird beispielsweise überprüft, welche Variablenwahl den höchsten Informationsgewinn mit sich bringt []. Branch and Cut and PriceVerfahren Branch and Cut-Verfahren können mit Pricing-Strategien kombiniert werden. Dies führt zu so genannten Branch and Cut and Price-Verfahren. Bei diesen werden sowohl die Lösungsvariablen als auch die Schnittebenen dynamisch im Verlauf des Branch and Bound-Algorithmus generiert []. Kombination mit Heuristiken Werden die Verfahren mit einer Heuristik zur näherungsweisen Abschätzung des, in einem nicht-ganzzahligen Knoten noch zu erreichenden, Zielfunktionswertes kombiniert, so können eventuell Teilbäume früher abgeschlossen und damit das Laufzeitverhalten verbessert werden []. 9 3.3 Branch and Cut-Verfahren Branch and Cut Für viele NP-schwere Probleme sind Branch and Bound-Ansätze nicht effizient genug. Ein Ansatz zur Lösung solcher Probleme sind Branch and CutVerfahren. Diese generieren zusätzliche Schnittebenen in den Teilproblemen des Branch and Bound-Baumes, welche den zulässigen Lösungsraum weiter beschneiden. Der Schnittebenenansatz wurde ursprünglich von Gomory entwickelt. Methodenbeschreibung Bei Branch and Cut-Verfahren wird ausgehend von einem Branch and BoundAlgorithmus in jedem Knoten überprüft, ob Schnittebenen eingefügt werden können. Ist dies der Fall, so werden Schnittebenen als neue Ungleichungsrestriktionen dem linearen Modell hinzugefügt und dieses erneut gelöst. Dies kann mehrmals wiederholt werden, bis das Modell zulässig ist oder keine neue Schnittebene mehr gefunden werden kann. Ist das Modell nicht zulässig und können keine neuen Schnitte durchgeführt werden, so folgt wieder ein Verzweigungsschritt aus dem Branch and Bound-Algorithmus. Die Abbildung zeigt die Vorgehensweise des Branch and Cut-Verfahrens. Z*: aktuelle obere Schranke, z: Zielfunktionswert des LP 10 3.4 Effizienz Anwendung Die Schnittebenen im Branch and Cut-Verfahren besitzen für den gesamten Entscheidungsbaum Gültigkeit und benötigen deshalb einen wesentlich geringeren Speicherbedarf als die Schnittebenen des Verfahrens von Gomory. Branch and Cut-Algorithmen besitzen im Allgemeinen gute Konvergenzeigenschaften. Das Einführen neuer Schnittebenen kann den Rechenaufwand in den einzelnen Knoten erhöhen. Da die zusätzlichen Ungleichungen jedoch in der Regel eine bessere Abschätzung der unteren bzw. oberen Schranken ermöglichen, ist die Anzahl der zu untersuchenden Knoten geringer als beim Branch and Bound-Verfahren, und das Verfahren ist somit insgesamt recheneffizienter [] []. Vorteile von Branch and BoundVerfahren • Die Verfahren sind sehr anschaulich. • Zur Lösung der Teilprobleme kann meist das Simplex-Verfahren verwendet werden. • Branching-Verfahren sind sehr flexibel und können in jedem Schritt durch eine Vielzahl von Heuristiken problemspezifisch angepasst werden. Nachteile • Der größte Teil des Rechenaufwandes wird darauf verwandt, die Optimalität einer meist schnell berechneten, sehr guten oder sogar optimalen Lösung zu beweisen. • Bei Branch and Bound-Verfahren muss in der Regel ein größerer Baum durchsucht werden als bei Branch and Cut-Verfahren. • Branch and Cut-Verfahren sind in den einzelnen Knoten rechenaufwändiger als Branch and Bound-Verfahren. 11 3.5 Anwendung Anwendung Branch and Bound- sowie Branch and Cut-Verfahren werden bei NP-schweren, ganzzahligen und gemischt-ganzzahligen Optimierungsproblemen zum Auffinden einer optimalen oder näherungsweise optimalen Lösung eingesetzt. Branch and Cut-Verfahren wurden für Handlungsreisendenprobleme mit über 7.000 bzw. über 2.000 Städten implementiert [] []. Anwendungsbeispiele Branching-Verfahren werden insbesondere bei fast allen kombinatorischen Optimierungsproblemen eingesetzt, beispielsweise bei: -Problemen []Tourenplanungs-Problemen [] Scheduling-Problemen RucksackPoblemen [] Ordnungsproblemen [] Zuordnungsproblemen [] 12 4 4.1 Branch and PriceVerfahren Branch and Price Methodenbeschreibung Branch and Price-Verfahren werden bei sehr großen gemischt-ganzzahligen Optimierungsproblemen eingesetzt. Die Idee dieser Verfahren ist ähnlich den Branch and Cut-Verfahren. Sie arbeiten jedoch anstatt mit Schnittebenen mit einer Pricing-Strategie in den Knoten des Branch and Bound-Baumes um eine große Anzahl von Variablen verarbeiten zu können. Das Pricing wird mittels so genannter Column Generation-Verfahren durchgeführt. Methodenbeschreibung Branch and Price-Verfahren kombinieren ein Branch and Bound-Verfahren mit Column Generation-Algorithmus, wobei letzterer in jedem Knoten einem des Branch and Bound-Baumes gestartet wird. Durch den Column GenerationAlgorithmus ist nicht sichergestellt, dass die optimale Lösung auch ganzzahlig ist. Daher wird der Algorithmus in ein Branch and Bound-Verfahren eingebettet. Ausgehend von einer optimalen Lösung des Column Generation-Algorithmus wird weiter verzweigt, d.h. es wird ein Branching-Schritt eingefügt, wenn die Lösung nicht ganzzahlig ist. Hierdurch werden neue Knoten des Branch and Bound-Baumes erzeugt, in denen der Column Generation-Algorithmus angewendet wird. Obere und untere Schranken Eine entscheidende Komponente bei allen Verfahren, die auf einer BranchingStrategie beruhen, sind obere und untere Schranken für den Zielfunktionswert, die einzelne Teilbäume von der weiteren Betrachtung ausschließen und erst damit das Problem effizient lösbar machen. Bei Branch and Price-Verfahren wird das Ergebnis des Column Generation-Algorithmus im Wurzelknoten des Baumes als globale untere Schranke (bei einem Minimierungsproblem) verwendet. Eine globale obere Schranke ist durch die Berechnung einer ganzzahligen Lösung gegeben. Lokale obere Schranken für das Minimierungsproblem werden bestimmt, indem entweder der Column Generation-Algorithmus mit einer ganzzahligen Lösung endet oder aber mittels einer Näherungsheuristik eine ganzzahlige Lösung geschätzt wird. Hierfür wird oftmals das Verfahren von Martello [] oder das von Jörnsten und Nasberg []eingesetzt. 13 4.1.1 Column Generation Nebenpfad: Column Generation Column Generation ist ein Verfahren zur Lösung hochdimensionaler linearer Programme. In einem ersten Schritt wird eine kleine Teilmenge der Variablen des Ausgangsproblems (Master-Problem) ausgewählt. Mit dieser wird das, auf diese Weise reduzierte, lineare Programm gelöst. Um die Optimalität dieses reduzierten Problems zu überprüfen wird ein so genanntes Pricing-Problem gelöst. Dieses bestimmt die Variablen, welche für die optimale Lösung relevant sind, also in den Lösungsvektor aufgenommen werden müssen. Hierzu wird anhand der Grenzkostender Variablen, die aktuell nicht im linearen Programm enthalten sind, überprüft, ob durch deren Aufnahme der Zielfunktionswert verbessert werden kann. Wurde eine solche Variable gefunden, so wird diese dem linearen Programm hinzugefügt, die optimale Lösung erneut berechnet und anschließend wieder geprüft, ob die aktuelle Lösung durch Hinzufügen weiterer Variablen verbessert werden kann. Die letzte, so berechnete Lösung ist eine optimale Lösung für das Ausgangsproblem. 14 4.2 Varianten Problemspezifische Aufgrund der großen Bedeutung in praktischen Anwendungen für sehr große Varianten ganzzahlige Optimierungsprobleme und gemischt-ganzzahlige Optimierungsprobleme, wurden eine Vielzahl von problemspezifischen Varianten der Branch and Price-Methode entwickelt. Zahlreiche Variationsmöglichkeiten ergeben sich einerseits bei der Auswahl des Branch and Bound-Verfahrens und andererseits beim Column Generation-Verfahren. Auch wurden so genannte Branch and Cut and Price-Verfahren implementiert, die Branch and Cut-Strategien mit einem Column Generation-Verfahren kombinieren und so weitere Effizienzsteigerungen bei hochdimensionalen Problemen versprechen []. Vorteile • Es können viel mehr Variablen verarbeiten werden, als bei reinen Branch and Bound-Verfahren. • Branch and Price-Verfahren finden schnell eine näherungsweise optimale Lösung. • Die Methode ist für den Anwender gut nachvollziehbar. Nachteile • Branch and Price-Verfahren sind rechenaufwändiger als Branch and Bound-Verfahren. • Eine exakte, optimale Lösung ist nur mit sehr großem Aufwand berechenbar. • Die Implementierung ist relativ aufwändig. 15 4.3 Anwendung Branch and Price-Verfahren wurden für NP-schwere, hochdimensionale ganzzahlige und gemischt-ganzzahlige Optimierungsprobleme entwickelt, bei denen nur wenige Variablen tatsächlich in der optimalen Lösung vorkommen. Dies sind einerseits Probleme, bei denen eine große Anzahl an Variablen berücksichtigt werden muss, und andererseits solche, bei denen eine Umformulierung des Problems unter Inkaufnahme zusätzlicher Variablen Vorteile bringt (z.B. Umgehen einer symmetrischen Matrizenstruktur, Verschärfung der LP-Relaxation). Anwendungsbeispiele Branch and Price-Verfahren wurden z.B. eingesetzt bei: • Scheduling-Problemen im Luftverkehr [] [] • Scheduling-Problemen im ÖPNV [] [] • Routing-Problemen [] • Zuordnungsproblemen [] [] 16 5 Benders Dekomposition 5.1 Dekompositionsansatz Der Dekompositionsansatz von Benders [] ist eine Möglichkeit zur Lösung gemischt-ganzzahligerOptimierungsaufgaben mit einer speziellen Struktur. Mit diesem Ansatz wird das Optimierungsproblem in ein gewöhnliches lineares, nicht-ganzzahliges und ein rein ganzzahliges Teilproblem aufgespalten. Der Algorithmus bestimmt zunächst eine erste Basislösung mit einer linearen Optimierungsmethode. Mit dieser Lösung wird das ganzzahlige Teilproblem gelöst und auf ein Abbruchkriterium überprüft. Ist diese Bedingung nicht erfüllt, so wird eine zusätzliche Restriktion eingefügt, die als Benders Schnitt bezeichnet wird. Nun wird wieder ein rein ganzzahlige, ergänztes Problem gelöst. Dieser Algorithmus bricht nach endlich vielen Schritten mit einer Optimallösung des Ausgangsproblems ab. 17 6 6.1 Nichtlineare gemischtganzzahlige Optimierung Nichtlineare gemischt-ganzzahlige Optimierung Nichtlineares Modell Gemischt-ganzzahlige nichtlineare Programme (MINLPs) sind Modelle mit ganzzahligen und kontinuierlichen Variablen, die einen nichtlinearen Anteil in der Zielfunktion und in den Nebenbedingungen besitzen. Die allgemeine Form eines MINLP ist die folgende: Nichtlineares gemischtganzzahliges Optimierungsmodell Anwendung von MINLPs min f (x, y) s. d. gj (x) ≤ 0, x∈ X z. T. nichtlinear, y ∈ Y linear, ganzzahlig MINLPs finden in vielen verschiedenen Bereichen Anwendung, beispielsweise wenn gleichzeitig die Systemstruktur mit diskreten Variablen und das System mit kontinuierlichen Systemparameter modelliert werden. Dies ist häufig in der chemischen Industrie der Fall. 18 6.2 Lösungsproblematik Branch and BoundMethoden für MINLPs Methoden Nichtlineare gemischt-ganzzahlige Optimierungsprobleme (MINLPs) sind schwer zu lösen, da sie die Problematik der NP-schweren gemischt-ganzzahligen Optimierung und der nichtlinearen Optimierung übernehmen. Jedoch können viele Methoden zur Lösung von MINLPs aus der gemischt-ganzzahligen (MILP) und der nichtlinearen Optimierung (NLP) abgeleitet werden. Branch and Bound-Methoden für MINLPs werden durch Lösen der kontinuierlichen NLP-Relaxation initialisiert, d.h. die Ganzzahligkeitsbedingungen werden bei der Lösung ignoriert. Wenn alle diskreten Variablen ganzzahlige Werte annehmen stoppt der Algorithmus. Ansonsten wird ein Baum mit den ganzzahligen Variablen als Knoten aufgebaut. Diese werden sukzessive festgelegt und damit neue NLP-Probleme formuliert. Deren Lösungen dienen als untere Schranken der Lösung des MINLPs. Die Branch and Bound-Methode wird im Allgemeinen nur angewendet, wenn die NLP-Teilprobleme effizient zu lösen sind oder wenn nur wenige solche Probleme gelöst werden müssen. Dies ist vor allem dann der Fall, wenn das Modell nur wenige ganzzahlige Variablen enthält (vgl. z.B. []). Äußere Approximation und Benders Dekomposition Äußere Approximationsmethoden lösen das MINLP durch eine endliche, alternierende Folge von nichtlinearen Teilproblemen und einem MILP-Masterproblem. Die Lösung der nichtlinearen Teilprobleme wird durch die Fixierung der ganzzahligen Variablen möglich. Die Verallgemeinerte Benders-Dekomposition arbeitet ebenfalls auf der Basis von nichtlinearen Teilproblemen und einem MILP-Masterproblem. Der Unterschied zwischen den beiden Methoden liegt in der Definition des MILP-Masterproblems, wobei bei der Dekompositionsmethode nur die aktiven Restriktionen berücksichtigt werden. Die unteren Grenzen für die iterierten Lösungen können bei äußeren Approximationsmethoden enger gefasst werden als bei der Benders Dekomposition. Die Approximationsmethode ist jedoch nicht generell effizienter als die Benders-Dekomposition []. 19 6.3 Methoden Erweiterte Schnittebenenverfahren Erweiterte Schnittebenenverfahren,wie z.B. von [], basieren auf der schrittweisen Linearisierung der am meisten verletzten Nebenbedingungen. Diese Methode setzt eine lineare Zielfunktion voraus, die jedoch auf einfache Weise aus einer nichtlinearen Zielfunktion durch eine Transformation gewonnen werden kann. Erweiterte Schnittebenenverfahren benötigen unter Umständen eine relativ große Anzahl von Iterationen zur Berechnung der optimalen Lösung. Globale Optimierungsansätze Problematisch ist der Fall Zielfunktionen und/oder nicht-konvexer Nebenbedingungen. Dann ist für die NLP-Teilprobleme keine globale Optimalität gewährleistet. Die Berechnung unterer Schranken mit dem Masterproblem kann dann dazu führen, dass das globale Optimum abgeschnitten wird. Algorithmen zur globalen Optimierung erfordern daher die Lösung der Teilprobleme über konvexe Relaxationendes Ausgangsproblems. Globale Optimierungsansätze für MINLPs wurden beispielsweise von [] oder [] vorgestellt. Neuere Ansätze lösen das globale Problem mittels Tabu Search, Simulated Annealing oder Genetischen Algorithmen []. Diese werden bei den Heuristiken vorgestellt. 20 7 7.1 Literatur und Methoden Literatur zu Schnittebenenverfahren Literaturverzeichnis Literatur Gomory, R.E.: An Algorithm for Integer Solutions to Linear Programs, in. Graves, R.L./Wolfe, P. (eds.): Recent Advances in Mathematical Programming, New York, San Francisco 1963, pp. 269-302. Jeroslow, R.: The Theory of Cutting Planes, in: Christofides, N,/Mingozzi, A./Toth, P./Sandi, C. (eds.): Combinatorial Optimization. John Wiley, Chichester et al. 1979, Ch. 2. Nemhauser, G./ Wolsey, L.: Integer and Combinatorial Optimization. John Wiley & Sons, New York Chichester 1988. Burkard, R.: Methoden der Ganzzahligen Optimierung. Springer-Verlag, Wien New York, 1972. 7.1 Literatur zu Branch and Bound/Branch and Cut Literaturverzeichnis Einführende Literatur Garfinkel, R.: Branch and Bound Methods for Integer Programming, in: Christofides, N,/Mingozzi, A./Toth, P./Sandi, C. (eds.): Combinatorial Optimization. John Wiley, Chichester 1979, Chapter 1. Nemhauser, G.L. /Wolsey, L.A.: Integer and Combinatorial Optimization, New York 1988. Nemhauser, G.L. /Wolsey, L.A.: Integer Programming, in: Nemhauser, G.L./Rinnooy Kan, A.H.G./Todd, M.J. (eds.): Optimization Vol. 1, North Holland, Amsterdam 1989, pp. 447-521. Lucena, A./Beasley, J.E.: Branch and Cut Algorithms, in: Beasley, J.E. (ed.): Advances in Linear and Integer Programming, Oxford University Press, Oxford 1996, Chapter 5. Wolsey, L.A.: Integer Programming. John Wiley, New York Chichester 1998. Literaturverzeichnis Weiterführende Literatur Applegate, D./Bixby, R./Chvtal, V./Cook, W.: Finding Cuts in the TSP. Technical Report 95.05, DIMACS Center, Rutgers University, Piscataway, NJ 08855-1179, 1995.Caprara, A./Fishetti, M.: Branch-and-cut 21 Algorithms, in Dell’Amico, M./ Maffioli, F./Martello, S. (eds.): Annotated Bibliographies in Combinatorial Optimization, 1997. Christofides, N.: Vehicle Routing, in Lawler, E.L./Lenstra, J.K./Rinnooy Kan, A.H.G./Shmoys, D.B. (eds.): The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, Wiley, New York 1985, pp. 431-448. Fukasawa, R./J. Lysgaard, M. Poggi de Arago, M. Reis, and E. Uchoa: Robust branch-and-cut-and-price for the Capacitated Vehicle Routing Problem, in: Integer Programming and Combinatorial Optimization - 10th International IPCO Conference, New York, Lecture Notes in Computer Science, Vol 3064, Springer-Verlag, 2004, pp. 1-15. Geoffrion, A.M.: Lagrangian Relaxation for Integer Programming, in: Mathematical Programming Study Vol. 2, 1974, pp. 82-114. Grötschel, M./Junger, M./Reinelt, G.: A cutting plane algorithm fort the linear ordering problem, in: Operations Research, Vol. 32, 1984, pp. 1195-1220. Hoffmann, K.L./Padberg, M.: Solving Airline Crew-Scheduling Problems by Branchand-Cut, in: Management Science, Vol. 39, 1993, pp. 657-682. Jünger, M./Reinelt, G./Thienel, S.: Practical Problem Solving with Cutting Plane Algorithms in Combinatorial Optimization, in Cook, W.J./Lovsz, L./Seymour, P. (eds.): Combinatorial Optimization. DIMACS Series in Discrete Mathematics and Computer Science, AMS 1995, pp. 11-152. Martello, S./Toth, P.: A branch and bound algorithm for the zero-one multiple knapsack problem, in: Discrete Applied Mathematics, Vol. 3, 1981, pp. 275-288. Padberg, M./Rinaldi, G.: A branch-and-cut algorithm for the resolution of large-scale symmetric travelling salesman problems, in: SIAM Review, Vol. 33, 1991, pp. 60-100. Ross, G.T./Soland, R.M. : A branch and bound algorithm for the generalized assignment problem, in: Mathematical Programming, Vol. 8, 1975, pp.91-103. Savelsbergh, M.W.P.: A Branch-And-Cut Algorithm for the Generalized Assignment Problem, in: Operations Research, Vol. 45, 1997, pp. 831-841. Solomon, M.M.: Algorithms for the vehicle routing and scheduling problem with time window constraints, in: Operations Research, Vol. 35, 1987, pp. 254-265. Wolsey, L.A.: Facets and Strong Valid Inequalities for Integer Programs, in: Operations Research, Vol. 24, 1975, pp. 367-372. 7.1 Literatur zu Branch and Price Literaturverzeichnis Einführende Literatur Barnhart, C./Johnson, E.L./Nemhauser, G.L./Savelsbergh, M.W.P./Vance, P.H.: Branch-and-Price: Column Generation for Solving Huge Integer Programs, in: Operations Research, Vol. 46, 1996. Auf URL: http://citeseer.ist.psu.edu/barnhart96branchprice.html Jünger, M./Thienel, S.: The ABACUS System for Branch and Cut 22 and Price Algorithms in Integer Programming and Combinatorial Optimization, Technical Report No. 98.322, Universität Köln 1998. N.N.: http://www.branchandcut.org. Savelsbergh, M.W.P.: A Branch-andPrice Algorithm for the Generalized Assignment Problem, in: Operations Research, Vol. 45, 1997, pp. 831-841. Literaturverzeichnis Weiterführende Literatur Borndörfer, R./Löbel, A.: Dienstplanoptimierung im ÖPNV, 2000, auf URL: http://www.zib.de/borndoerfer/Homepage/ Bibliography/paper/BorndoerferLoebel2000.pdf Desrochers, M./Soumis, F.: A Column Generation Approach to the Urban Transit Crew Scheduling Problem, in: Transportation Science, Vol. 23, 1989, pp. 1-13. Fores, S.: Column generation approaches to bus driver scheduling, University of Leeds PhD thesis, 1996. Auf URL: http://citeseer.ist.psu.edu/fores96column.html Freling, R./Romeijn, H.E./Romero Morales/Wagelmans, A.P.M.: A branch and price algorithm for the multi-period single-sourcing problem. ERASM Management Report Series No. 49, Erasmus University Rotterdam, 1999. Auf URL: http://citeseer.ist.psu.edu/freling99branch.html Jörnsten, K./Nasberg, M.: A new Lagrangian relaxation approach to the knapsack problem. European Journal of Operations Research, Vol. 27,1986, pp. 313-323. Lavoie, S./Minoux, M./Odier, E.: A New Approach for Crew Pairing Problems by Column Generation with an Application to Air Transportation, in: European Journal of Operations Research, Vol. 35, 1988, pp. 45-58. Martello, S./Toth, P.: An algorithm for the generalized assignment problem, in: Brans, J.P. (ed.): Operational Research 81, North-Holland, Amsterdam 1981, pp. 589-603. Vance, P.H./Barnhart, C./Johnson, E.L./Nemhauser, G.L.: Solving Binary Cutting Stock Problems by Column Generation and Branch-and-Bound, in: Computational Optimization and Applications, Vol. 3, 1994, pp. 111-130. Vance, P.H./Atamtürk, A./Barnhart, C./Gelman, E./Johnson, E.L./Krishna, A./Mahidhara, D./Nemhauser, G.L./Rebello, R.: A Heuristic Branch-and-Price Approach for the Airline Crew Pairing Problem 1997. Auf URL: http://citeseer.ist.psu.edu/vance97heuristic.html 7.1 Literatur zu Benders Dekomposition und MINLP Literaturverzeichnis Einführende Literatur zu Benders Dekompositionsansatz Benders, J.F.: Partitioning Procedures for Solving Mixed Variables 23 Programming Problems, in: Numerische Mathematik, Vol. 4, 1962, pp. 238-252. Burkard, R.E.: Ganzzahlige Optimierung, in: Gal, Th. (Hrsg.): Grundlagen des Operations Research - Band 2. Springer, Berlin Heidelberg New York 1987, S. 421 ff. Literaturverzeichnis Einführende Literatur zu MINLP Bussieck, M.R./Pruessner, A.: Mixed-Integer Nonlinear Programming, 2003, auf URL: citeseer.ist.psu.edu/708044.html Westerlund, T./Petersson, F.: A Cutting Plane Method for Solving Convex MINLP Problems, Computers Chem. Eng., 19, 1995, pp.131-136. Weiterführende Literatur zu MINLP Grossmann, I.E.: Review of Nonlinear Mixed-Integer and Disjunctive Programming Techniques, 2003, auf URL: citeseer.ist.psu.edu/530855.html Gupta, O.K./Ravindran, A.: Branch and Bound Experiments in Convex Nonlinear Integer Programming, Management Science, 31 (12), 1985, pp. 1533-1546. Fletcher, R./Leyffer, F.: Solving mixed integer nonlinear programs by outer approximation, Math. Prog. 66 (1994), no. 3, 327. http://citeseer.ist.psu.edu/fletcher96solving.html Nowak, I.: LaGO: A Lagrangian Global Optimizer, 2003, http://www-iam.mathematik.huberlin.de/eopt/index en.html Ryoo, H.S./ Sahinidis, N.V.: Global Optimization of Nonconvex NLPs and MINLPs with Applications in Process Design. Computers and Chemical Engineering, 19(5), 1995, pp. 551-566. Tawarmalani, M./Sahinidis, N.V.: Convexification and Global Optimization in Continuous and Mixed-Integer Nonlinear Programming (Nonconvex Optimization and Its Applications). Kluwer Academic Publishers 2003. 7.1 Methoden Verzeichnis der erläuterten Methoden Äußere Approximationsmethoden Benders Dekompositionsansatz Branch and Bound-Verfahren Branch and Cut-Verfahren Branch and Cut and Price-Verfahren 24 Branch and Price-Verfahren Schnittebenenverfahren von Gomory 25