www.wikidata.de-de.nina.az
Die ganzzahlige lineare Optimierung auch ganzzahlige Optimierung ist ein Teilgebiet der angewandten Mathematik Wie die lineare Optimierung beschaftigt sie sich mit der Optimierung linearer Zielfunktionen uber einer Menge die durch lineare Gleichungen und Ungleichungen eingeschrankt ist Der Unterschied liegt darin dass in der ganzzahligen Optimierung einige oder alle Variablen nur ganzzahlige Werte annehmen durfen und nicht beliebige reelle Werte wie in der linearen Optimierung Die ganzzahlige Optimierung lasst sich geometrisch als Optimierung uber einem konvexen Polyeder einem hoherdimensionalen Vieleck auffassen und ist damit ein Spezialfall der konvexen Optimierung Im Unterschied zur linearen Programmierung ist allerdings das zugrundeliegende Polyeder meist nicht genau bekannt was das Problem aus komplexitatstheoretischer Sicht NP schwer macht Da mindestens eine Variable diskret also nicht kontinuierlich ist ist auch der Begriff diskrete Optimierung gebrauchlich Eine weitere haufige Bezeichnung ist ganzzahlige lineare Programmierung von engl integer linear programming wobei der Begriff Programm im Sinne von Planung zu verstehen ist und nicht im Sinne eines Computerprogramms Er wurde schon in den 1940er Jahren von George Dantzig gepragt bevor Computer zur Losung von Optimierungsproblemen eingesetzt wurden Noch starker als die lineare hat sich die ganzzahlige Optimierung seit ihren Anfangen in den 1950er Jahren zu einem Modellierungs und Optimierungswerkzeug fur viele praktische Probleme entwickelt fur die keine speziellen Algorithmen bekannt sind Durch bedeutende Fortschritte in der Entwicklung der Losungsverfahren in den 1980er und 1990er Jahren hat die ganzzahlige Optimierung heute viele Anwendungen beispielsweise in der Produktion in der Planung von Telekommunikations und Nahverkehrsnetzen und in der Tourenplanung Zur Losung ganzzahliger Optimierungsprobleme gibt es einerseits exakte Losungsverfahren wie beispielsweise Branch and Bound und Schnittebenenverfahren die auf der Losung vieler ahnlicher linearer Programme basieren und andererseits eine Vielzahl von Heuristiken Trotzdem ist die Losung ganzzahliger linearer Programme in der Praxis immer noch eine schwere Aufgabe die je nach Grosse und Struktur des zu losenden Problems eine geschickte Modellierung und mehr oder weniger speziell entwickelte oder angepasste Algorithmen erfordert Oft werden daher mehrere Losungsverfahren kombiniert Inhaltsverzeichnis 1 Problemdefinition 1 1 Mathematische Formulierung 1 2 Geometrische Interpretation 2 Beispiele 3 Anwendungen 3 1 Produktionsplanung 3 2 Offentlicher Nahverkehr 3 3 Telekommunikationsnetze 3 4 Mobilfunknetze 3 5 Tourenplanung 3 6 0 1 Programmierung 4 Geschichte 5 Komplexitat und Losungsverfahren 5 1 Exakte und heuristische Verfahren 5 2 Duale Schranken und Optimalitatsbeweis 5 3 Schnittebenenverfahren 5 4 Branch and Bound bzw Branch and Cut 5 5 Lagrange Relaxierung 5 6 Heuristiken 6 Literatur 7 WeblinksProblemdefinition BearbeitenMathematische Formulierung Bearbeiten Ein ganzzahliges Programm englisch integer program IP hat die gleiche Form wie ein lineares Programm LP mit dem Unterschied dass die Variablen ganzzahlig sein mussen max x Z n c T x A x b x 0 displaystyle max x in mathbb Z n left c T x Ax leq b x geq 0 right nbsp Dabei ist A displaystyle A nbsp eine reelle Matrix und b displaystyle b nbsp und c displaystyle c nbsp sind Vektoren passender Dimension Die Bedingung A x b displaystyle Ax leq b nbsp ist komponentenweise zu verstehen also als a i x j 1 n a i j x j b i displaystyle a i cdot x sum j 1 n a ij x j leq b i nbsp fur alle Zeilen i displaystyle i nbsp der Matrix A displaystyle A nbsp Genauso bedeutet die Bedingung x 0 displaystyle x geq 0 nbsp dass alle Eintrage des Vektors x displaystyle x nbsp nichtnegativ sein mussen Gelten die Ganzzahligkeitsbedingungen nur fur einen Teil der Variablen spricht man auch von einem gemischt ganzzahligen Programm engl mixed integer program MIP Auch die Prazisierung ganzzahliges lineares Programm engl integer linear program ILP ist gebrauchlich Wie auch in der linearen Optimierung gibt es mehrere aquivalente Formulierungen die sich ineinander transformieren lassen siehe Lineare Optimierung Problemdefinition Geometrische Interpretation Bearbeiten Die ganzzahlige Optimierung lasst sich wie die lineare Variante zu einem grossen Teil geometrisch interpretieren Die Menge P x R n A x b x 0 displaystyle P x in mathbb R n Ax leq b x geq 0 nbsp die durch Weglassen der Ganzzahligkeitsbedingungen entsteht bildet ein konvexes Polyeder im n displaystyle n nbsp dimensionalen Raum dessen beschrankende Hyperebenen den Zeilen des Ungleichungssystems entsprechen P displaystyle P nbsp enthalt u a alle zulassigen Punkte des Ausgangssystems also alle ganzzahligen Punkte die die Bedingungen A x b displaystyle Ax leq b nbsp erfullen aber im Unterschied zur linearen Optimierung sind nicht alle Punkte in P displaystyle P nbsp zulassig Das lineare Programm max c T x x P displaystyle max c T x x in P nbsp wird als LP Relaxierung des ganzzahligen Problems bezeichnet und spielt eine bedeutende Rolle fur einige Losungsverfahren siehe unten Wie lineare Programme konnen auch ganzzahlige Programme unlosbar oder unbeschrankt sein In allen anderen Fallen gibt es mindestens eine Optimallosung sofern das Ungleichssystem nur rationale Eintrage hat Es ist im Gegensatz zur reellen linearen Optimierung moglich Probleme zu konstruieren die keine Optimallosung haben obwohl Losungen existieren und die Zielfunktion beschrankt ist Im Unterschied zu LPs ist die Menge der Optimallosungen eines IPs keine Seitenflache des Polyeders P displaystyle P nbsp so dass es neben genau einer oder unendlich vielen optimalen Losungen auch eine andere endliche Anzahl grosser als 1 davon geben kann Beispiele Bearbeiten nbsp Polytop der zulassigen ganzzahligen Punkte rot mit LP Relaxierung blau Im nebenstehenden Bild ist das ganzzahlige lineare Programm max y x y 1 3 x 2 y 12 2 x 3 y 12 x y Z 0 displaystyle begin matrix max amp amp y amp x amp y amp leq 1 amp 3x amp 2y amp leq 12 amp 2x amp 3y amp leq 12 amp amp x y in mathbb Z geq 0 end matrix nbsp dargestellt Die zulassigen ganzzahligen Punkte sind rot eingezeichnet und die rot gestrichelten Linien kennzeichnen ihre konvexe Hulle also das kleinste Polyeder das alle diese Punkte enthalt Uber diesem Polyeder soll eigentlich optimiert werden aber es ist meist nicht genau bekannt Die blauen Linien zusammen mit den Koordinatenachsen begrenzen das Polyeder P displaystyle P nbsp der LP Relaxierung das durch das Ungleichungssystem ohne Ganzzahligkeitsbedingungen gegeben ist Ziel der Optimierung ist es die schwarz gestrichelte Linie so weit parallel nach oben in Richtung des Vektors c 0 1 displaystyle c 0 1 nbsp zu verschieben dass sie das jeweilige Polyeder gerade noch beruhrt Die Optimallosungen des ganzzahligen Problems sind also die Punkte 1 2 displaystyle 1 2 nbsp und 2 2 displaystyle 2 2 nbsp mit dem Zielfunktionswert c T x 0 1 T 1 2 0 1 T 2 2 2 displaystyle c T x 0 1 T 1 2 0 1 T 2 2 2 nbsp Die in diesem Fall eindeutige optimale Losung der LP Relaxierung mit dem Zielfunktionswert 2 8 ist der blau markierte Punkt L P o p t 1 8 2 8 displaystyle LP opt 1 8 2 8 nbsp der nicht ganzzahlig und damit auch nicht zulassig fur das IP ist Das folgende IP ist ein Beispiel fur den oben erwahnten Spezialfall max 2 x y 2 x y 0 x 1 y 0 x y Z displaystyle begin matrix max amp sqrt 2 x amp y amp sqrt 2 x amp y amp leq 0 amp amp x amp geq 1 amp amp y amp geq 0 amp amp x y in mathbb Z end matrix nbsp Die zulassigen Losungen wie z B 10 14 displaystyle 10 14 nbsp stellen rationale Approximationen fur 2 displaystyle sqrt 2 nbsp in der Form y x displaystyle frac y x nbsp dar Da 2 displaystyle sqrt 2 nbsp irrational ist und daher beliebig genau approximiert werden kann gibt es keine Optimallosung obwohl die Zielfunktion durch die erste Bedingung nach oben beschrankt ist Anwendungen BearbeitenDie Ganzzahligkeitsbedingungen erweitern die Modellierungsmoglichkeiten fur praktische Probleme gegenuber der linearen Optimierung betrachtlich Es gibt zwei Hauptgrunde fur ganzzahlige Variablen Die Variablen mussen aus praktischen Grunden ganzzahlig sein Beispielsweise konnen nicht 3 7 Flugzeuge gebaut werden sondern nur eine ganze Anzahl Die ganzzahligen Variablen sind auf die Werte 0 oder 1 beschrankt sogenannte Binarvariablen und reprasentieren Entscheidungen Beispielsweise kann ein Bus nicht zu einem Drittel fahren sondern nur entweder ganz oder gar nicht Oft treten auch beide Falle zusammen auf Die ganzzahlige Optimierung kann in vielen praktischen Anwendungsfeldern eingesetzt werden von denen nachfolgend einige kurz beschrieben werden sollen Produktionsplanung Bearbeiten In der Produktionsplanung taucht oft das Problem auf Produktionsmengen fur mehrere Produkte zu bestimmen die sich gemeinsame Ressourcen Maschinen Arbeitszeit Lagerkapazitaten teilen Ziel ist beispielsweise die Maximierung des gesamten Deckungsbeitrags ohne die vorhandenen Ressourcen zu uberschreiten In einigen Fallen lasst sich dies mit Hilfe eines linearen Programms ausdrucken aber oft mussen die Variablen aus praktischen Grunden ganzzahlig sein s o Offentlicher Nahverkehr Bearbeiten Bei der Dienst und Umlaufplanung im offentlichen Nahverkehr geht es darum beispielsweise Busse oder U Bahnen so auf die einzelnen Linien zu verteilen dass der Fahrplan erfullt werden kann und sie mit Fahrern auszustatten Hier spielen binare Entscheidungsvariablen eine grosse Rolle die z B ausdrucken ob ein bestimmter Bustyp eine Linie befahrt oder nicht oder ob ein U Bahn Fahrer einem bestimmten Zug zugewiesen wird oder nicht Telekommunikationsnetze Bearbeiten Ziel der Kapazitats und Routing Planung in landesweiten Telekommunikationsnetzen ist es Kapazitat auf den Knoten und Leitungen eines Netzes so zu installieren und Kommunikationsbedarfe darin so zu routen dass alle Bedarfe erfullt werden und die Gesamtkosten des Netzes minimal sind Die Kapazitat kann in der Regel nicht in beliebigen Anteilen installiert werden sondern nur in bestimmten ganzzahligen Einheiten Meist gibt es abhangig von der verwendeten Technologie noch weitere Beschrankungen die sich als lineare Ungleichungen mit ganzzahligen oder binaren Variablen modellieren lassen Mobilfunknetze Bearbeiten Die Aufgabe der Frequenzplanung in GSM Mobilfunknetzen besteht darin die verfugbaren Frequenzen so auf die Antennen zu verteilen dass alle Nutzer bedient werden konnen und die storende Interferenz zwischen den Antennen minimiert wird Dieses Problem lasst sich als ganzzahliges lineares Programm formulieren bei dem u a Binarvariablen reprasentieren ob eine Frequenz einer bestimmten Antenne zugewiesen wird oder nicht Tourenplanung Bearbeiten Die Tourenplanung speziell das Problem des Handlungsreisenden ist ein klassisches Beispiel der ganzzahligen Optimierung dessen Untersuchung viel zur Entwicklung allgemeiner Losungsverfahren beigetragen hat Anschaulich geht es darum eine kurzeste Rundreise zwischen einer gegebenen Menge von Stadten zu finden Dieses Problem kann als ganzzahliges lineares Programm mit exponentiell vielen Ungleichungen modelliert werden Verschiedene erweiterte Varianten der Tourenplanung tauchen in der Praxis beispielsweise beim Bohren von Leiterplatten auf oder auch bei der Planung der Fahrtrouten fur Aussendienstmitarbeiter z B eines technischen Kundendienstes oder einer Versicherung die alle ihre Kunden mit moglichst kurzen Wegen bedienen wollen 0 1 Programmierung Bearbeiten Ein besonders wichtiger Spezialfall der ganzzahligen Optimierung ist die Optimierung bei der die Variablen nicht nur ganzzahlige Werte annehmen durfen sondern auf die binaren Werte 0 oder 1 beschrankt sind Dadurch lasst sich die Suche nach Losungen fur Boolesche Funktionen in die Geometrie ubertragen Das Finden einer Belegung einer solchen Funktion wird aquivalent zum Finden von 0 1 Punkten in Schnitt und der Vereinigung von hochdimensionalen Polytopen Diese Methode wird disjunktive Programmierung genannt und wurde Ende der 1960er Jahre von Egon Balas entwickelt 0 1 Programmierung ist ein kombinatorisch schwieriges Problem und gehort zu Karps 21 NP vollstandigen Problemen Geschichte BearbeitenDer Beginn der ganzzahligen Optimierung hangt eng mit der Entwicklung der linearen Optimierung Mitte der 1940er Jahre zusammen Im Jahre 1947 veroffentlichte George Dantzig mehrere entscheidende Arbeiten zur linearen Optimierung und zum Simplex Verfahren die er in den darauffolgenden Jahren zusammen mit John von Neumann und anderen weiterentwickelte Als mit dem Aufkommen von Computern in den 1950er Jahren die ersten praktisch einsetzbaren Computerprogramme zur Losung linearer Programme entwickelt wurden ruckte auch die Losbarkeit ganzzahliger Optimierungsprobleme in erreichbare Nahe Mitte der 1950er Jahre arbeiteten D R Fulkerson G Dantzig und S Johnson an ersten Schnittebenen fur das Problem des Handlungsreisenden Ohne Kenntnis dieser Arbeiten und motiviert durch ehemalige Kollegen der US Navy die an ganzzahligen Losungen interessiert waren entwickelte Ralph Gomory im Jahre 1958 wahrend seines Aufenthaltes in Princeton das erste allgemein einsetzbare Schnittebenenverfahren das zumindest theoretisch die vollstandige Losbarkeit beliebiger ganzzahliger Programme erlaubte Auch wenn sich dies praktisch nur teilweise umsetzen liess stellte dieses Verfahren einen entscheidenden algorithmischen Fortschritt dar Kurz danach im Jahre 1960 stellten Ailsa Land und Alison Doig spater Alison Harcourt das Branch and Bound Verfahren vor das auf einer geschickten Enumeration des Suchraumes basiert 1965 gab R J Dakin einen einfach implementierbaren Algorithmus dazu an Spater wurde massgeblich von Egon Balas Branch and Bound mit Schnittebenenverfahren zu Branch and Cut kombiniert was die Losung deutlich grosserer ganzzahliger linearer Programme erlaubte Ende der 1960er Jahre entwickelte unter anderem Egon Balas eine allgemeine Methode um lineare Beschreibungen zu finden die von vorneherein nur ganzzahlige Ecken enthalten Dieses sogenannte Lift and Project beruht auf der Idee die Optimierung in einen hochdimensionalen Raum zu verlagern und die gefundene Losung in niedrigere Dimensionen zu projizieren In den 1980er Jahren arbeiteten Manfred Padberg und andere an Schnittebenen fur oft auftauchende Teilstrukturen wie Rucksackprobleme die oft auch in allgemeinerem Kontext eingesetzt werden konnen Die enormen algorithmischen Fortschritte in der linearen Optimierung in den 1990er Jahren schlugen sich auch in einer deutlich besseren Losbarkeit ganzzahliger Programme nieder da beispielsweise bei der Anwendung von Schnittebenenverfahren und Branch and Bound Algorithmen sehr viele lineare Programme gelost werden mussen Neben besseren Modellierungen und Losungstechniken fur haufig auftauchende Teilprobleme wie beispielsweise Netzwerkflusse wurden parallel dazu viele Heuristiken also Naherungsverfahren entwickelt die meist in kurzer Zeit zulassige Losungen berechnen Sie konnen u a auch als Teil von Branch and Cut Verfahren eingesetzt werden um diese zu beschleunigen All diese Verfahren sind noch Gegenstand aktueller Forschung Komplexitat und Losungsverfahren BearbeitenIm Unterschied zu linearen Programmen die beispielsweise mit Innere Punkte Verfahren in Polynomialzeit optimal gelost werden konnen ist das Finden einer beweisbaren Optimallosung fur ganzzahlige Programme ein NP schweres Problem Dies macht sich auch in der Praxis bemerkbar Wahrend selbst grosse lineare Programme heute weitgehend mit Standardmethoden gelost werden konnen hangt die Losbarkeit ganzzahliger Programme sehr viel starker von den spezifischen Eigenheiten des jeweiligen Planungsproblems und von der gewahlten Modellierung ab Ein Optimierungsproblem mit hundert ganzzahligen Variablen kann aus praktischer Sicht unlosbar sein wahrend andere Probleme mit tausenden ganzzahliger Variablen innerhalb weniger Sekunden gelost werden Es gibt zwar auch in der ganzzahligen Optimierung Standardmethoden mit denen durch grosse algorithmische Fortschritte innerhalb der letzten zehn Jahre mittlerweile viele praktische Planungsprobleme als IP gelost werden konnen aber gerade die Losung grosser ganzzahliger Programme in annehmbarer Zeit erfordert oft eine geschickte Modellierung und eine Kombination mehrerer Losungsverfahren mit problemspezifischen Anpassungen Exakte und heuristische Verfahren Bearbeiten Bei der Klassifizierung der Algorithmen ist zu unterscheiden zwischen exakten und heuristischen Losungsverfahren Heuristische Verfahren liefern typischerweise zulassige Losungen in relativ kurzer Zeit aber keine Information daruber wie gut diese im Vergleich zu einer Optimallosung sind Wenn eine Heuristik keine Losung findet ist nicht bekannt ob dies am Algorithmus liegt oder ob das betrachtete Optimierungsproblem prinzipiell unlosbar ist Heuristische Verfahren sind meist an das zu losende Problem angepasst wie beispielsweise die k Opt Heuristiken fur das Problem des Handlungsreisenden Bei Metaheuristiken wie Tabu Suche ist zwar der grundsatzliche Ablauf generisch aber die einzelnen Schritte des Algorithmus mussen abhangig vom betrachteten Problem definiert werden Exakte Verfahren finden beweisbar stets eine optimale Losung oder stellen fest dass das Problem unlosbar oder unbeschrankt ist vorausgesetzt man lasst den Algorithmus beliebig lange laufen Beispiele hierfur sind Branch and Bound Schnittebenenverfahren sowie deren Kombination Branch and Cut In der Praxis kann man diese Verfahren durch Anpassung an das zu losende Problem und durch Kombination mit Heuristiken oft deutlich beschleunigen Ein eleganter Weg schnell eine exakte Losung zu finden besteht darin den Suchraum das konvexe Polyeder im n dimensionalen Raum das alle moglichen Losungen enthalt von vornherein so zu modellieren dass er nur ganzzahlige Extremalpunkte enthalt Dies ist beispielsweise fur total unimodulare Matrizen der Fall Das Polyeder wird also nicht nachtraglich mit Schnittebenen verkleinert Gelingt das zum Beispiel durch Lift and Project dann kann man die Optimierungsaufgabe einfach zum Beispiel durch Ausfuhren des Simplex Algorithmus losen Duale Schranken und Optimalitatsbeweis Bearbeiten nbsp Obere und untere SchrankenAlle praktisch relevanten exakten Verfahren beruhen auf der iterativen Losung und Modifikation einer Relaxierung also eines einfacheren Problems dessen Losungsmenge alle Losungen des Ursprungsproblems enthalt Beispielsweise verwenden Branch and Bound und Schnittebenenverfahren die LP Relaxierung lassen also zunachst die Ganzzahligkeitsbedingungen weg Dies lasst sich auch geometrisch interpretieren Eigentlich ist eine optimale Ecke des IP Polyeders P I displaystyle P I nbsp im obigen Bild rot gestrichelt gesucht das von allen zulassigen ganzzahligen Punkten aufgespannt wird Da dieses Polyeder meist nicht genau bekannt ist wird stattdessen eine optimale Ecke des Polyeders P displaystyle P nbsp der LP Relaxierung gesucht das P I displaystyle P I nbsp enthalt im obigen Beispiel blau umrandet Dies geht verhaltnismassig einfach z B mit dem Simplex Verfahren Da in der Relaxierung mehr Losungen zugelassen sind als im Ausgangsproblem ist ihr Optimalwert mindestens so hoch bei einem Maximierungsproblem wie der unbekannte Optimalwert des IPs liefert also fur diesen eine obere allgemein duale Schranke Gleichzeitig definiert der Wert jeder zulassigen ganzzahligen Losung L displaystyle L nbsp eine untere allgemein primale Schranke fur den Wert einer Optimallosung da diese ja per Definition mindestens so gut ist wie L displaystyle L nbsp Durch Vergleich der oberen und unteren Schranken kann ein maximaler relativer Abstand der sogenannte Optimalitatsgap zwischen dem Wert einer gefundenen Losung und dem Optimalwert angegeben werden ohne diesen genau zu kennen Im obigen Beispiel betragt der optimale Wert der LP Relaxierung 2 8 Der Optimalwert des ganzzahligen Problems kann nicht hoher sein da dort weniger Losungen zugelassen sind als in der LP Relaxierung Der Punkt 1 1 displaystyle 1 1 nbsp den man beispielsweise durch Raten oder uber eine Heuristik gefunden haben kann ist eine zulassige Losung des ganzzahligen Problems und hat den Zielfunktionswert 1 Eine optimale Losung ist per Definition mindestens genauso gut wie die gefundene Losung Der Optimalwert des ganzzahligen Problems muss also zwischen 1 und 2 8 liegen Der absolute Optimalitatsgap ist die Differenz zwischen der oberen und unteren Schranke hier also 2 8 1 1 8 displaystyle 2 8 1 1 8 nbsp Der haufiger angegebene relative Optimalitatsgap ergibt sich durch Normierung dieses Wertes mit der unteren Schranke in diesem Fall also als 1 8 1 1 8 180 displaystyle 1 8 1 1 8 180 nbsp Er besagt dass der Optimalwert des ganzzahligen Programms um hochstens 180 hoher liegt als der Wert der Losung 1 1 displaystyle 1 1 nbsp Dies erlaubt eine in diesem Fall nicht besonders gute Qualitatsabschatzung der Losung Der tatsachliche Unterschied betragt 2 1 1 1 100 displaystyle 2 1 1 1 100 nbsp d h der Optimalwert ist doppelt so hoch wie der Wert der gefundenen Losung Im Laufe des Algorithmus wird die Relaxierung schrittweise verscharft beispielsweise durch Hinzufugen zusatzlicher Ungleichungen so dass die sich daraus ergebende obere Schranke immer kleiner wird Gleichzeitig wird versucht bessere zulassige Losungen zu finden um die untere Schranke anzuheben Dies ist in der nebenstehenden Abbildung illustriert Sind der Wert einer gefundenen Losung und die duale Schranke gleich im Beispiel beim Wert 2 ist dies der Beweis dass die gefundene Losung optimal ist Im Folgenden werden einige wichtige exakte und heuristische Losungsverfahren etwas genauer vorgestellt Schnittebenenverfahren Bearbeiten Hauptartikel Schnittebenenverfahren nbsp Hinzufugen einer Schnittebene grun Schnittebenenverfahren englisch cutting plane algorithm berechnen zunachst eine Losung der LP Relaxierung Diese ist meist nicht ganzzahlig liefert aber eine duale Schranke fur den Optimalwert des IPs Diese duale Schranke wird anschliessend durch schrittweises Hinzufugen sogenannter Schnittebenen verscharft Eine Schnittebene ist eine zusatzliche Ungleichung die von allen zulassigen Punkten des IPs erfullt wird aber nicht von der aktuellen LP Losung Wird die Ungleichung dem LP hinzugefugt muss daher beim erneuten Losen eine andere Losung herauskommen Dies wird solange fortgefuhrt bis eine ganzzahlige Losung gefunden wird die dann automatisch auch optimal fur das ganzzahlige Programm ist oder keine geeigneten Ungleichungen mehr gefunden werden Geometrisch entspricht dieses Vorgehen dem Hinzufugen einer Hyperebene welche die optimale Ecke des LP Polyeders P displaystyle P nbsp von dem unbekannten Polyeder abschneidet das von den ganzzahligen Losungen aufgespannt wird Beim erneuten Losen wird eine optimale Ecke des beschnittenen Polyeders bestimmt Ist diese ganzzahlig so hat man eine zulassige und optimale Losung des ganzzahligen linearen Programms gefunden Andernfalls wird wieder nach einer neuen Schnittebene gesucht Im nebenstehenden Bild ist die Schnittebene x 2 y 6 displaystyle x 2y leq 6 nbsp grun dargestellt die das bisherige LP Optimum blau vom IP Polyeder trennt separiert Alle zulassigen Punkte liegen auf einer Seite der Hyperebene die LP Losung auf der anderen Seite Erneutes Losen des LPs mit dieser zusatzlichen Ungleichung liefert den grun markierten Punkt 4 3 7 3 Dieser Punkt ist immer noch nicht zulassig hat aber den kleineren Zielfunktionswert 7 3 wodurch sich beispielsweise der relative Optimalitatsgap fur die Losung 1 1 von 180 auf 7 3 1 1 4 3 133 displaystyle 7 3 1 1 4 3 approx 133 nbsp verringert In der praktischen Anwendung sind Schnittebenenverfahren ein wichtiges Hilfsmittel reichen aber allein meist nicht aus und konnen bei unvorsichtiger Anwendung zu numerischen Problemen fuhren Stattdessen werden sie haufig mit Branch and Bound kombiniert Wie gut das funktioniert hangt stark von der Struktur des zu losenden Problems ab Die besten Schnittebenen die man finden kann sind Facetten des IP Polyeders Im obigen Beispiel sind das die Ungleichungen y 2 displaystyle y leq 2 nbsp und x y 4 displaystyle x y leq 4 nbsp die den rot gestrichelten Linien entsprechen Um solche Ungleichungen zu identifizieren ist meist eine genauere mathematische Untersuchung der zugrundeliegenden Polyeder notwendig Branch and Bound bzw Branch and Cut Bearbeiten Hauptartikel Branch and Bound und Branch and Cut nbsp Branching auf der Variablen xAuch Branch and Bound beginnt mit dem Losen der LP Relaxierung Ist die erhaltene Losung nicht ganzzahlig wird das Problem so in zwei oder mehr Teilprobleme zerlegt dass jede zulassige Losung in einem dieser Teilprobleme enthalten ist Auf diese Art wird ein Verzweigungsbaum mit der LP Relaxierung als Wurzelknoten aufgebaut An jeder Verzweigung englisch branch wird der Wertebereich einer oder mehrerer Variablen eingeschrankt Dies wird solange durchgefuhrt bis eine beste ganzzahlige Losung gefunden wurde In dieser reinen Form entspricht das Verfahren einer vollstandigen Enumeration aller moglichen Losungen Mit Hilfe der dualen Schranken die man durch die Losung der Relaxierungen an jedem Knoten des Verzweigungsbaums erhalt konnen aber Teilbaume abgeschnitten werden engl bound wenn sich erweist dass sie keine Optimallosung enthalten konnen Als alleiniger Algorithmus reicht Branch and Bound meist nicht aus weil zu wenig vom Suchbaum abgeschnitten werden kann Gute IP Loser kombinieren dieses Verfahren daher zur Verbesserung der dualen Schranke mit Schnittebenenverfahren Dieser Ansatz heisst dann Branch and Cut Im nebenstehenden Beispiel werden ausgehend von der gebrochenen LP Losung 1 8 2 8 displaystyle 1 8 2 8 nbsp die beiden Teilprobleme betrachtet die durch Hinzufugen der zusatzlichen Bedingung x 1 displaystyle x leq 1 nbsp bzw x 2 displaystyle x geq 2 nbsp entstehen Jede zulassige Losung ist in genau einem der beiden Teilpolyeder grun umrandet enthalten Das Losen der LP Relaxierung mit den zusatzlichen Bedingungen liefert im rechten Teilproblem die gebrochene Losung 2 8 3 displaystyle 2 8 3 nbsp mit dem Zielfunktionswert 8 3 displaystyle 8 3 nbsp und im linken Teilproblem die ganzzahlige Losung 1 2 displaystyle 1 2 nbsp mit dem Wert 2 Dadurch verbessert sich die untere Schranke fur den optimalen IP Wert auf 2 der Wert der besten bekannten zulassigen Losung wahrend sich die obere Schranke auf 8 3 displaystyle 8 3 nbsp verringert der hohere LP Wert der beiden Teilprobleme Der Optimalitatsgap reduziert sich damit auf 8 3 2 2 1 3 displaystyle 8 3 2 2 1 3 nbsp d h der Optimalwert ist hochstens 1 1 3 displaystyle 1 1 3 nbsp mal so hoch wie der Wert der Losung 1 2 displaystyle 1 2 nbsp Tatsachlich ist diese Losung bereits optimal da sie eine ganzzahlige Losung einer Relaxierung des ursprunglichen Problems ist Lagrange Relaxierung Bearbeiten Hauptartikel Lagrange Multiplikator Die Lagrange Relaxierung ist ein Verfahren aus der nichtlinearen Optimierung das auch auf die ganzzahlige Optimierung angewandt werden kann Die Grundidee besteht darin storende Ungleichungen wegzulassen so dass das verbleibende Problem mit Ganzzahligkeitsbedingungen leicht losbar ist und stattdessen die Verletzung dieser Ungleichungen gewichtet mit sogenannten Lagrange Multiplikatoren in der Zielfunktion zu bestrafen Eine Losung dieses einfacheren Problems wird in den meisten Fallen die in die Zielfunktion relaxierten Bedingungen nicht erfullen Um dies zu andern werden die Lagrange Multiplikatoren mit Hilfe eines Subgradientenverfahrens abhangig von der aktuellen unzulassigen Losung so angepasst dass ein erneutes Losen mit den neuen Gewichten eine etwas zulassigere Losung erzeugt welche die relaxierten Ungleichungen weniger stark verletzt Dieser Prozess wird iterativ wiederholt bis alle Bedingungen erfullt sind Man kann zeigen dass jede Losung einer Lagrange Relaxierung eine duale Schranke fur das ursprungliche IP liefert und dass dieses Verfahren bei geeigneter Anpassung der Multiplikatoren konvergiert Heuristiken Bearbeiten Fur fast jedes Optimierungsproblem lassen sich leicht eine Vielzahl von Heuristiken finden die fur dieses spezielle Problem schnell zulassige Losungen finden Dagegen ist die Entwicklung heuristischer Verfahren die zuverlassig gute Losungen finden und das moglichst auch noch fur eine ganze Klasse verwandter Optimierungsprobleme und nicht nur fur ein spezielles Problem eine nicht triviale Aufgabe Beispiele fur problemspezifische Heuristiken beim Problem des Handlungsreisenden sind die Minimum Spanning Tree Heuristik zur Konstruktion einer zulassigen Tour mit Hilfe eines minimal aufspannenden Baumes und die k Opt Heuristiken zur Verbesserung einer bereits gefundenen Tour Dieses Optimierungsproblem ist auch eines der wenigen Beispiele bei denen sich leicht heuristische duale Schranken angeben lassen Beispielsweise enthalt jede Tour durch n displaystyle n nbsp Knoten auch genau n displaystyle n nbsp Kanten so dass eine kurzeste Tour mindestens so lang sein muss wie die Summe der n displaystyle n nbsp kurzesten Kantenlangen Im Allgemeinen ist es deutlich schwieriger gute duale Schranken anzugeben Neben solchen speziell fur ein Problem entwickelten Verfahren gibt es sogenannte Metaheuristiken die auf problemunabhangige Weise Strategien zur Suche zulassiger Losungen beschreiben Die einzelnen Schritte dieser Algorithmen mussen allerdings speziell auf das zu losende Problem angepasst werden Beispiele hierfur sind das Runden von LP Losungen lokale Suche Tabu Suche Evolutionare Algorithmen Simulated Annealing Variable Nachbarschaftssuche und Ameisenalgorithmen Einige dieser Verfahren haben Prozesse wie die naturliche Selektion oder das Verhalten von Ameisen auf der Suche nach Futter zum Vorbild inwieweit das fur die Losungsqualitat und die Losungszeiten in der Praxis von Vorteil ist ist umstritten Als alleiniges Losungsverfahren haben all diese Algorithmen den Nachteil dass sie erstens nicht immer eine Losung finden und zweitens meistens nichts uber die Qualitat gefundener Losungen im Vergleich zu einer Optimallosung bekannt ist Sie konnen aber beispielsweise sehr sinnvoll im Rahmen eines Branch and Cut Ansatzes eingesetzt werden um an verschiedenen Knoten des Suchbaumes beispielsweise aus der aktuellen LP Losung gute zulassige Losungen zu generieren und so evtl Teile des Baumes abschneiden zu konnen Literatur BearbeitenBucherWolfgang Domschke Andreas Drexl Robert Klein Armin Scholl Einfuhrung in Operations Research 9 Auflage Springer Berlin 2015 ISBN 978 3 662 48215 5 speziell Kap 6 Josef Kallrath Gemischt Ganzzahlige Optimierung Modellierung in der Praxis Vieweg Wiesbaden 2002 ISBN 3 528 03141 7 Richard K Martin Large Scale Linear and Integer Optimization A Unified Approach Kluwer Academic Publishers Boston Mass 2004 ISBN 0 7923 8202 1 George Nemhauser Laurence Wolsey Integer and Combinatorial Optimization Wiley Interscience New York 1999 ISBN 0 471 35943 2 Leena Suhl Taieb Mellouli Optimierungssysteme Modelle Verfahren Software Anwendungen Springer Berlin 2006 ISBN 3 540 26119 2 AufsatzeRobert J Dakin A tree search algorithm for mixed integer programming problems In The Computer Journal Bd 8 1965 S 250 255 Ralph Gomory Early Integer Programming In Operations Research Bd 50 2002 Nummer 1 S 78 81 Ailsa H Land Alison G Doig An automatic method of solving discrete programming problems In Econometrica Bd 28 1960 S 497 520 Weblinks BearbeitenLinear Programming FAQ Abschnitt uber Integer Programming englisch Vergleich nichtkommerzieller Codes zum Losen von MIPs englisch von Hans Mittelmann Arizona State University mit Links zu den Codes Optimierung in der Praxis englisch Normdaten Sachbegriff GND 4155949 6 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Ganzzahlige lineare Optimierung amp oldid 228136286