Ganzzahlige und gemischt-ganzzahlige Optimierung

Werbung
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
Herunterladen