A cutting plane algorithm for graph coloring

Größe: px
Ab Seite anzeigen:

Download "A cutting plane algorithm for graph coloring"

Transkript

1 A cutting plane algorithm for graph coloring Ein Schnittebenenverfahren zur Färbung von Graphen Bachelor-Thesis von Lena Maria Schwan aus Hachenburg Oktober 2010 Fachbereich Mathematik AG Optimierung

2 A cutting plane algorithm for graph coloring Ein Schnittebenenverfahren zur Färbung von Graphen Vorgelegte Bachelor-Thesis von Lena Maria Schwan aus Hachenburg 1. Gutachten: Dr. habil. Marko Lübbecke 2. Gutachten: Prof. Dr. Stefan Ulbrich Tag der Einreichung:

3 Erklärung zur Bachelor-Thesis Hiermit versichere ich, die vorliegende Bachelor-Thesis ohne Hilfe Dritter nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die aus Quellen entnommen wurden, sind als solche kenntlich gemacht. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. Darmstadt, den 14. Oktober 2010 (Lena Maria Schwan) 1

4 Inhaltsverzeichnis 1 Das Graphenfärbungsproblem Definitionen Anwendungen des Graphenfärbungsproblems Modellierung Color order model Independent set order model Independent set order model Bewertung der 3 Modelle LP-Relaxation und Schnittebenenverfahren LP-Relaxation Das Schnittebenenverfahren Wahl der Schnittebenen Facetten von CP Dimension der konvexen Hülle der Lösungen Facetten definierende Ungleichungen Ungleichungen anhand unabhängiger Mengen Cliquen-Ungleichung Weitere Facetten Das Schnittebenenverfahren von I. Méndez-Díaz und P. Zabala LP-Relaxation Obere und untere Schranken Finden von Schnittebenen Verlauf des Schnittebenenverfahrens Ergebnisse zum Schnittebenenverfahren von I. Méndez-Díaz und P. Zabala Wie entwickelt sich die untere Schranke und in welcher Zeit? Wieviel Zeit wird zum Finden von Schnittebenen verwendet? Wieviel Prozent der gefundenen Ungleichungen können als Schnittebenen verwendet werden? Gesamtergebnis 29 7 Benutzte Literatur 30 2

5 1 Das Graphenfärbungsproblem 1.1 Definitionen Das Graphenfärbungsproblem ist eines der berühmtesten Probleme der diskreten Mathematik. Dabei sollen die Knoten eines ungerichteten Graphen G = (V, E) mit möglichst wenigen Farben so gefärbt werden, dass adjazente Knoten nie die gleiche Farbe zugeordnet bekommen. Das Graphenfärbungsproblem ist eine Knotenmakierung, das heißt, es gibt eine Abbildung f : V S, die jedem Knoten v i V eine Farbe aus der Farbenmenge S zuordnet. Definition: Eine Abbildung f : V S heißt Färbung des Graphen G = (V, E), wenn gilt: f (v i ) f (v j ) v i, v j V mit v i v j und (v i, v j ) E [1] Definition: Ein Graph G = (V, E) heißt k-färbbar, wenn eine Färbung mit einer k-elementigen Farbenmenge S existiert. Das kleinste k, für das der Graph G eine Färbung besitzt, nennt man die chromatische Zahl χ(g) von G [2] Beispiel 1: Sei S ={blau, grün, rot, gelb, orange, pink, lila, braun} die Farbmenge und G = (V, E) der folgende Graph: Der Graph ist 5-färbbar, denn man kann ihn mit der 5-elementigen Farbmenge S={blau, grün, rot, gelb, orange} einfärben:

6 Man kann ihn aber auch mit weniger Farben färben, denn er hat die chromatische Zahl χ(g) = 3. Es müssen also mindestens 3 Farben verwendet werden, um eine gültige Färbung zu erlangen. Mit minimaler Anzahl an Farben könnte man ihn zum Beispiel so färben: Definition: U V ist eine unabhängige Knotenmenge genau dann, wenn für alle i, j U gilt: (i, j) / E. Das heißt, keine zwei Knoten in U sind mit einer Kante verbunden. [2] Eine k-färbung entspricht einer Aufteilung des Graphen in k unabhängige Knotenmengen, wobei jeder Knotenmenge eine Farbe zugeordnet wird. Eine obere Schranke für die chromatische Zahl eines Graphen G = (V, E) ist die Anzahl der Knoten n. Es gibt zwar viele Graphen, die sich mit weniger als n Farben färben lassen, aber bei vollständigen Graphen benötigt man genau n Farben, da alle Knoten adjazent zueinander sind. Eine untere Schranke lässt sich also anhand der vollständigen Teilgraphen G = (V, E ), den sogenannten Cliquen, ableiten. Die Anzahl der Knoten der größten Clique des Graphen ist eine untere Schranke für die chromatische Zahl von G. Im Beispiel 1 hat die größte Clique 3 Knoten, das heißt in diesem Beispiel wird die untere Schranke angenommen. Das Färbungsproblem gehört zu der Klasse der NP-schweren Probleme. Durch die Frage: Gibt es zu dieser Instanz eine Lösung, die besser als x ist?, kann man jedes Optimierungsproblem in polynomialer Zeit in ein Entscheidungsproblem umwandeln. Ein Optimierungsproblem heißt NP-schwer, falls das zugehörige, NP-vollständige Entscheidungsproblem Π in polynomialer Zeit gelöst werden kann, wenn das Optimierungsproblem in polynomialer Zeit gelöst werden kann. Da das zugehörige Entscheidungsproblem in der Klasse der NP-vollständigen Probleme liegt, ist bisher kein Algorithmus bekannt, der das Problem in polynomieller Zeit lösen kann. [3] Weitere nützliche Definitionen: Definition: Eine Menge C R n heißt konvex, wenn mit je zwei Punkten aus C auch die gesamte Verbindungsstrecke zwischen den Punkten in C liegt, das heißt wenn aus x 1, x 2 C und λ [0, 1] folgt: λx 1 + (1 λ)x 2 C. [6] Definition: Der Durchschnitt aller konvexen Mengen, die M enthalten, heißt die konvexe Hülle von M und wird mit conv M bezeichnet. Es gilt: Die konvexe Hülle einer Menge M ist die Menge aller Konvexkombinationen von Punkten aus M. [6] 4

7 1.2 Anwendungen des Graphenfärbungsproblems Die berühmteste Anwendung der Graphenfärbung ist das Vierfarbenproblem. Dabei geht es darum, zu zeigen, dass jede Landkarte mit 4 Farben so färbbar ist, dass Länder mit gemeinsamer Grenze nie die gleiche Farbe haben. Jede Landkarte lässt sich als planarer Graph darstellen, das heißt, man kann ihn so in der Ebene darstellen, dass sich keine Kanten schneiden [1]. Jedes Land entspricht dabei einem Knoten. Zwei Knoten sind durch eine Kante verbunden, wenn die zugehörigen Länder eine gemeinsame Grenze haben. Um diese Aussage zu beweisen, muss man also zeigen, dass alle planaren Graphen die chromatische Zahl 4 haben. Dies wurde bis heute aber nur bewiesen, indem ein Rechner die 4-Färbung für 1936 Graphen, auf die sich alle planaren Graphen reduzieren lassen, errechnet hat. Auch das im Moment so beliebte Rätsel Sudoku könnte anhand der Graphenfärbung gelöst werden. Dazu benötigt man einen Graph mit 81 Knoten (ein Knoten für jedes auszufüllende Kästchen). Zwei Knoten werden verbunden, wenn sie: in einer Reihe oder Spalte stehen beide in einem der kleineren Vierecke sind. Gesucht ist eine 9-Färbung, wobei durch die schon zu Beginn eingetragenen Zahlen die Aufteilung in unabhängige Knotenmengen eingeschränkt wird. Man kann die Graphenfärbung auch sehr gut benutzen, um Zeitpläne zu erstellen. Man könnte z.b. den optimalen Zeitplan für die Ausschusssitzungen eines Parlamentes erstellen, bei dem jeder Ausschuss einen Tag lang tagen will und es möglich ist, dass mehrere Personen in verschiedenen Ausschüssen sitzen. Man erstellt einen Graphen G, in dem jeder Knoten einen Ausschuss repräsentiert. Zwei Ausschüsse, die nicht gleichzeitig tagen können, da es Mitglieder gibt, die in beiden Gremien sitzen, verbindet man mit einer Kante. Sie bekommen also bei der Lösung durch einen Färbungsalgorithmus eine unterschiedliche Farbe zugeordnet. Interpretiert man nun die Farben als die unterschiedlichen Tage, ist garantiert, dass Mitglieder des Parlamentes nie gleichzeitig in mehreren Ausschüssen sitzen müssen. Die chromatische Zahl des erstellten Graphen entspricht der minimalen Zeit, die für die Ausschusstagungen angesetzt werden muss. Es gibt noch viele weitere Anwendungsbereiche für das Färbungsproblem in der Praxis. Deshalb ist es wichtig, einen guten Algorithmus zur Lösung dieses Problems zu finden oder bestehende Algorithmen zu verbessern. 1.3 Modellierung Für den Graphen G = (V, E) mit n Knoten und m Kanten lässt sich das Problem folgendermaßen modellieren [4]: Sei x i j {0, 1} mit i V und 1 j n (da man höchstens n Farben benötigt, um G zu färben). 1, wenn Knoten i die Farbe j hat Es gilt: x i j = 0, sonst Sei außerdem w j {0, 1} mit 1 j n und es gilt: 1, falls mind. einem Knoten die Farbe j zugeordnet ist w j = 0, falls keinem Knoten die Farbe j zugeordnet ist 5

8 Man kann das Problem nun als ganzzahliges Minimierungsproblem darstellen: n min s.t. w j j=1 n x i j = 1 i V (1.1) j=1 x i j + x k j w j (i, k) E, 1 j n (1.2) x i j {0, 1} w j {0, 1} i V, 1 j n 1 j n Wegen Nebenbedingung (1) wird jedem Knoten genau eine Farbe zugeordnet. Nebenbedingung (2) stellt sicher, dass benachbarte Knoten nicht die gleiche Farbe zugeordnet bekommen, denn wird die Farbe j überhaupt nicht benutzt, dann muss gelten: x i j = x k j = 0. Wird die Farbe j benutzt, muss w j = 1 sein und es darf höchstens eine der beiden Variablen den Wert 1 haben. Da diese Bedingung für alle (i, j) E gelten muss, ist dieses ganzzahlige Problem eine Modellierung für das Färbungsproblem. Sei die Menge aller Lösungen dieses Problems. Eine Lösung des Problems ist dabei eine zulässige Belegung (x 11,..., x nm, w 1,..., w m ) der Variablen. Diese Modellierung ist oft nicht geeignet, um das Färbungsproblem mit einem Algorithmus zu lösen, da es bei einigen Graphen sehr lange dauern würde, bis eine optimale Lösung gefunden wird. Das Problem dieser Modellierung ist, dass es zu viele zulässige, aber symmetrische Lösungen gibt. Symmetrische Lösungen haben das gleiche Endergebnis, eine k-färbung. Allerdings benutzen sie dafür zum Beispiel andere Farben oder Permutationen der Farben anderer Lösungen oder eine unterschiedliche Aufteilung in unabhängige Mengen. Es gibt also viele verschiedene zulässige Färbungen des Graphen G mit Farben aus der zugehörigen Farbmenge S. Dies ist aber für das Ergebnis, also die Lösung des Problems, nicht wichtig. Meistens ist es nur wichtig herauszufinden, was die chromatische Zahl des Graphen ist oder ob es eine k-färbung gibt und nicht wieviele k-färbungen zu gegebener Farbmenge existieren. Will man also nur eine mögliche k-färbung finden, so ist es sinnvoll, solche symmetrischen Lösungen auszuschließen Color order model Beispiel 2: Sei G = (V, E) der Graph aus Beispiel 1. Sei S={blau, grün, rot, gelb, orange, pink, lila, braun} die Farbmenge. Gesucht wird eine 3-Färbung mit Farben aus der Farbmenge S. Eine mögliche Färbung aus ist:

9 Dies ist eine andere Färbung aus, die genau die gleiche Anzahl an Farben wie die Färbung vorher benutzt, aber andere Farben aus der Farbmenge auswählt: Da uns beim Färbungsproblem jedoch nur interessiert, wieviele Farben man benötigt, um den Graphen einzufärben und nicht, welche Farben man benutzt, reicht es, für eine k-färbung nur die ersten k Farben zu betrachten. Um diese Einschränkung zu beachten, muss man zu den Nebenbedingungen (1) und (2) noch weitere hinzufügen: w j x i j i j n (3) i V w j w j+1 1 j n (4) Nebenbedingung (3) stellt sicher, dass w j kleiner ist als die Summe der Knoten, die mit der Farbe j gefärbt werden. Wenn kein Knoten die Farbe j hat, muss w j = 0 sein. Nebenbedingung (4) schränkt die Farbwahl ein, denn durch sie wird garantiert, dass eine Farbe nur benutzt werden darf, wenn die Farbe, die in der Reihenfolge vor ihr liegt, schon benutzt wurde. Dadurch wird sichergestellt, dass für eine k-färbung nur die ersten k Farben aus der Farbmenge benutzt werden und symmetrische Lösungen, wie in Beispiel 2, ausgeschlossen werden. Sei = conv( {(x, w) : (x, w) erfüllt (3) und (4)}). Die Anzahl der zulässigen Lösungen verringert sich durch diese beiden neuen Nebenbedingungen sehr. Es sei eine Aufteilung in unabhängige Mengen gegeben, mit u vielen Mengen. In der Farbmenge sind S viele Farben. Damit gab es vor dieser Einschränkung S u u! Möglichkeiten, den Graph zu färben. Jetzt gibt es nur noch u! Möglichkeiten. Für den Graph und die Wahl der unabhängigen Mengen aus Beispiel 2 ergibt sich eine Verringerung von 56 auf 6 Möglichkeiten. Beachten man, dass normalerweise keine Aufteilung in unabhängige Mengen vorgegeben ist, verringert sich die Anzahl der Lösungen also für jede mögliche Aufteilung, was die Lösungsmenge erheblich verkleinert Independent set order model 1 Trotzdem sind in der Lösungsmenge noch viele symmetrische Lösungen enthalten, wie das folgende Beispiel zeigt: Beispiel 3: Man betrachte wieder den Graphen aus Beispiel 1 und 2 und die Farbmenge S={blau, grün, rot, gelb, orange, pink, lila, braun}. Gesucht ist eine 3-Färbung des Graphen. Durch die neu hinzugefügten Nebenbedingungen (3) und (4) wurde die Farbwahl eingeschränkt, das heißt, es sind nur noch solche Färbungen zulässig, die nur die ersten 3 Farben, also blau, grün und rot benutzen. 7

10 Eine mögliche Färbung aus ist: Eine weitere Lösung aus ist: Die verschiedenen möglichen Lösungen entstehen durch Permutionen der ersten k Farben. Um einige davon auszuschließen, fügt man zu den Nebenbedingungen (1) und (2) folgende Nebenbedingungen hinzu: w j x i j 1 j n (5) i V n n i=1 x i j x i j+1 1 j n 1 (6) i=1 Nebenbedingung (5) ist identisch zu Nebenbedingung (3). Nebenbedingung (6) bewirkt, dass die Farbe j immer mehr Knoten färbt, als die Farbe j + 1. Hat man also eine Aufteilung des Graphen in unabhängige Knotenmengen und sortiert diese absteigend nach der Anzahl der enthaltenen Knoten, so ist sichergestellt, dass einer der Knotenmengen mit maximaler Anzahl an Knoten die Farbe 1 zugeordnet wird und einer Knotenmenge mit minimaler Anzahl die Farbe k. Gibt es nur eine Sortierung, also enthalten alle unabhängigen Mengen eine unterschiedliche Anzahl an Knoten, so ist auch die Farbverteilung eindeutig. Sei 1 = conv( {(x, w):(x, w) erfüllt (4) und (6)}). 1 ist eine Teilmenge von, denn jede Lösung aus 1 benutzt für eine k-färbung nur die ersten k Farben, da die Farbe j mehr Knoten einfärben muss als die Farbe j + 1. Dadurch kann man keine Farbe überspringen, da sonst alle darauf folgenden Farben nicht mehr benutzt werden dürfen. Die Anzahl der symmetrischen Lösungen in 1 wird umso kleiner, je mehr unabhängige Knotenmengen mit unterschiedlicher Anzahl an Knoten es gibt. 8

11 1.3.3 Independent set order model 2 Wird der Graph aber so in unabhängige Knotenmengen aufgeteilt, dass einige die gleiche Anzahl an Knoten haben, so entstehen weiterhin viele symmetrische Lösungen durch Permutationen. Denn immer wenn mehrere unabhängige Knotenmengen gleich viele Knoten enthalten, kann man sie in der Sortierung der Knotenmengen vertauschen, sodass es mehrere mögliche Färbungen gibt, die die Nebenbedingungen nicht verletzen. Beispiel 4: Sei S={rot, grün, blau, gelb} und G=(V,E) folgendermaßen: Eine Unterteilung in unabhängige Knotenmengen mit anschließender Färbung könnte so aussehen: Bei diesem Graphen sind nun alle unabhängigen Knotenmengen gleich groß. Die Sortierung der Knotenmengen ist also nicht eindeutig. Es gibt für diese Aufteilung 3! mögliche Sortierungen. Das heißt, jede Menge kann auch eine andere der ersten 3 Farben annehmen, ohne dass eine Nebenbedingung verletzt wird, sodass für diese Aufteilung 6 äquivalente Lösungen entstehen. Um auch diese Symmetrien für eine bestimmte Aufteilung in unabhängige Knotenmengen auszuschließen, geht man folgendermaßen vor: sortiere die unabhängigen Knotenmengen nach dem kleinsten enthaltenen Knoten erlaubt sind nur Färbungen, die der j-ten unabhängigen Knotenmenge die j-te Farbe zuweisen Die entsprechenden Nebenbedingungen, die hinzugefügt werden müssen, lauten: x i j = 0 j i + 1 (7) x i j i 1 k=j 1 i V \ {1}, 2 j i 1 (8) 9

12 Der Knoten i kann höchstens in der i-ten unabhängigen Knotenmenge sein und zwar genau dann, wenn die Knoten 1 bis i eine Clique bilden. Nebenbedingung (7) besagt nun, dass der Knoten i nur Farben bis i annehmen darf, da die Farbnummer der Nummer der unabhängigen Menge entspricht, zu der i gehört. So kann der Knoten 1 zum Beispiel nur die Farbe 1 annehmen, da er auf jeden Fall in der unabhängigen Menge ist, die bei der Sortierung an erster Stelle steht. Nebenbedingung (8) stellt sicher, dass die Farbe j nur dann benutzt werden darf, wenn die Farbe j 1 schon benutzt wurde. Es reicht dabei, die Summe erst bei k = j 1 zu beginnen, da alle anderen Knoten nicht in der Knotenmenge j 1 sein können. Sei 2 = conv( {(x, w):(x, w) erfüllt (7) und (8)}). Für jede mögliche Aufteilung in unabhängige Knotenmengen ist die Lösung jetzt eindeutig, denn es gibt keine symmetrischen Lösungen mehr, die durch die Äquivalenz der Farben entstehen, da die Zuweisung eindeutig ist. Allerdings gibt es weiterhin noch mehrere Möglichkeiten, den Graphen einzufärben, denn es gibt meistens mehrere Aufteilungen in unabhängige Knotenmengen. 2 ist eine Teilmenge von, denn Nebenbedingung (8) bewirkt, dass für eine k-färbung nur die ersten k Farben der Farbmenge benutzt werden dürfen. Die Symmetrie, die durch verschiedene Aufteilungen in unabhängige Mengen entsteht, könnte man zum Beispiel beheben, indem man aus allen möglichen Aufteilungen die Aufteilung auswählt, die bei minimaler Anzahl an Mengen möglichst viele Mengen unterschiedlicher Größe besitzt. Kommen so mehrere Aufteilungen in Betracht, kann man zum Beispiel die Aufteilung wählen, bei der möglichst viele Knoten in der unabhängigen Menge mit Knoten 1 sind. Wenn es trotzdem mehrere Möglichkeiten gibt, wendet man das gleiche Kriterium auf die unabhängige Menge mit dem kleinsten Knoten an, der nicht in der vorher betrachteten Menge ist und so weiter. Gibt es weiterhin mehrere Möglichkeiten, zieht man die Aufteilung vor, bei der die kleineren Knoten in der ersten Menge sind, beziehungsweise in einer späteren, wenn bis dahin alle Knoten gleich waren. So könnte man auch diese Symmetrie noch beheben und zu einer wirklich eindeutigen Lösung gelangen. 1.4 Bewertung der 3 Modelle Die 3 Ansätze eliminieren symmetrische Lösungen anhand verschiedener Kriterien. Normalerweise bevorzugt man ein Modell mit möglichst wenigen symmetrischen Lösungen, da es das Problem am besten wiederspiegelt. Dies würde bedeuten, dass man die dritte Modellierung den anderen Beiden vorziehen würde, da 2 am wenigesten symmetrische Lösungen enthält. Will man dieses Modell aber benutzen, um mit einem Algorithmus eine Lösung zu erzielen, sind auch andere Kriterien wichtig, zum Beispiel die Anzahl der Variablen, die Anzahl der Nebenbedingungen und der benötigte Speicherplatz, denn davon hängt zum Beispiel die Schnelligkeit eines LP-Solvers auf der zugehörigen LP-Relaxation ab. Man muss also die Vor- und Nachteile der 3 Modelle abwägen, um zu einem Modell zu gelangen, das den Ansprüchen des Benutzers entspricht. Es kann also sein, dass für einen Algorithmus die erste Modellierung geeigneter ist, obwohl die zugehörige Lösungsmenge größer ist, als die der anderen beiden Modellierungen. Man muss also bei der Entwicklung eines Algorithmus zur Lösung des Färbungsproblems nicht nur die einzelnen Komponenten des Algorithmus verbessern, sonder auch unterschiedliche Modellierungen betrachten, um so zu einer für den Benutzer optimalen Lösung zu gelangen. 10

13 2 LP-Relaxation und Schnittebenenverfahren 2.1 LP-Relaxation Eine Relaxation ist eine Vereinfachung. Die Idee ist, einen Teil des Problems wegzulassen, sodass das Problem wesentlich einfacher wird. Die LP-Relaxation ist eine solche Vereinfachung. Bei der Modellierung des Färbungsproblems wurden die Variablen x i j und w j benutzt, wobei x i j den Wert 1 annimmt, wenn der Knoten i mit der Farbe j gefärbt wird. Sonst gilt x i j = 0. Wenn die Farbe j benutzt wird, hat w j den Wert 1, sonst 0. Zwei Nebenbedingungen unseres Problems lauten also: x i j {0, 1} und w j {0, 1}. Bei der LP-Relaxation werden die Ganzzahligkeitsbedingungen weggelassen. Das heißt, dass zum Beispiel aus einer Nebenbedingung x Z durch die LP-Relaxation x R wird. In unserem Fall werden aus den Nebenbedingungen x i j {0, 1} und w j {0, 1} die neuen Nebenbedingungen 0 x i j 1 und 0 w j 1. Durch diese Vereinfachung erhält man das folgende lineare Grundmodell: n min s.t. w j j=1 n x i j = 1 i V (1) j=1 x i j + x k j w j (i, k) E, 1 j n (2) 0 x i j 1 i V, 1 j n 0 w j 1 für 1 j n Bei den anderen Modellen werden nur lineare Nebenbedingungen hinzugefügt, das heißt, wir haben auf jeden Fall ein lineares Problem. Der Lösungsraum ist ein konvexes Polyeder, welches unter anderem alle zulässigen Lösungen des ganzzahligen Problems enthält. Dieses lineare Optimierungsproblem kann man nun zum Beispiel mit dem Simplex- Algorithmus lösen. So erhält man eine optimale Lösung für die LP-Relaxation. Ist diese Lösung ganzzahlig, hat man auch eine Lösung für das ursprüngliche Problem gefunden. Ist sie nicht ganzzahlig, muss ein Weg gefunden werden, anhand dieser Lösung der LP-Relaxation zu einer zulässigen Lösung unseres Modells zu gelangen. Dies kann man zum Beispiel mit dem Schnittebenenverfahren erreichen. 2.2 Das Schnittebenenverfahren Definition: Sei P R n das Polyeder der LP-Relaxation zu einem diskreten linearen Modell und sei Z die Menge der zulässigen ganzzahligen Lösungen. Außerdem sei x R n die nicht ganzzahlige gefundene Optimallösung für P. Eine Schnittebene ist eine Ebene s T x = b, die den Punkt x von allen zulässigen ganzzahligen Lösungen trennt. Das heißt, es gilt bei einem Maximierungsproblem: s T x > max{s T z z conv (Z)} (bei einem Minimierungsproblem analog mit < und min ). Das Problem, eine solche Ebene zu finden, nennt man Separierungsproblem. [7] Beim Schnittebenenverfahren wird mit Hilfe der LP-Relaxation eine optimale Lösung x opt für das ursprüngliche System gefunden. Dies funktioniert folgendermaßen: 11

14 Schritt 1: Man berechnet z.b. mit dem Simplex-Algorithmus eine optimale Lösung x für das Polyeder P der LP-Relaxation, also das ursprüngliche Problem ohne die Ganzzahligkeitsbedingung. Schritt 2: Nun muss man überprüfen, ob die so erhaltene Lösung ganzzahlig ist oder nicht. Ist sie ganzzahlig, hat man eine Lösung für das ursprüngliche System gefunden und ist fertig. Ansonsten hat man bei einem Maximierungsproblem eine obere Schranke (x opt < x ), bei einem Minimierungsproblem eine untere Schranke (x opt > x ) für den Wert der Optimallösung des Ursprungssystems gefunden, denn der Lösungsraum ist eine Teilmenge des konvexen Polyeders der LP-Relaxation. Schritt 3: Ist die Optimallösung nicht ganzzahlig, muss man eine Schnittebene finden, die man als Ungleichung dem Programm der LP-Relaxation hinzufügen kann, sodass die gefundene optimale Lösung nicht mehr zu dem neuen zulässigen Bereich gehört. Man muss also eine Ebene finden, die die gefundene Lösung vom neuen Lösungsraum separiert und dabei keine zulässige ganzzahlige Lösung abschneidet. Sei s T x = b die gefundene Schnittebene. Schritt 4: Man fügt die gefundene Schnittebene als Nebenbedingung zum linearen Programm der LP-Relaxation hinzu. Das neue Polyeder eines Maximierungsproblems wird definiert durch: P := P s T x b (beim Minimierungssystem analog mit ). Die Lösungsmenge des linearen Problems wurde auf diese Art verkleinert, sodass sie meistens ein anderes Optimum besitzt. Man wiederholt die Schritte 1 bis 4 solange, bis die Lösung der LP-Relaxation ganzzahlig ist. Diese Lösung ist eine optimale Lösung des ursprünglichen ganzzahligen Problems, es gilt also: x opt = x. Das Schnittebenenverfahren entwickelt also mit Hilfe der zuletzt gefundenen Lösung ein neues verbessertes lineares Programm, indem es eine weitere Nebenbedingung hinzufügt. Die Lösungen dieser verbesserten Programme konvergieren gegen die gesuchte Lösung des ganzzahligen Problems [5]. Es ist allerdings im Voraus nicht bekannt, wieviele Schritte maximal benötigt werden. In jeder Iteration kann aber die obere bzw. untere Schranke für die Lösung des ganzzahligen Problems verbessert werden, da die neue Lösungsmenge immer eine Teilmenge (wieder ein konvexes Polyeder) des vorherigen ist. So kann der Zielfunktionswert beim Maximierungsproblem nur kleiner werden oder er bleibt gleich. Analog gilt beim Minimierungsproblem, dass der Zielfunktionswert der Teilmenge nur größer werden oder gleich bleiben kann. 12

15 2.3 Wahl der Schnittebenen Die Wahl der Schnittebenen beeinflusst die Geschwindigkeit, mit der man zu einer Optimallösung des ganzzahligen Problems gelangen kann. Daher ist für den Benutzer interessant, möglichst gute Schnittebenen zu finden, um den Lösungsraum schnell zu verkleinern. Beispiel 5: Es gibt viele Möglichkeiten, eine Schnittebene so zu wählen, dass sie das Optimum der LP-Relaxation von der neuen Lösungsmenge separiert. Da man allerdings die Anzahl der Durchläufe des Schnittebenenverfahrens verringern möchte, ist eine solche Schnittebene besser als die oben gezeigten, da sie einen möglichst großen Anteil der Lösungsmenge abschneidet: Man benötigt also ein Kriterium, um sinnvolle Schnittebenen zu finden. Definition: Eine nichttriviale Seitenfläche F eines konvexen Polyeders P heißt Facette von P, falls F in keiner anderen echten Seitenfläche von P enthalten ist. Ist P R n, so gilt: dim(f) = dim(p) 1. [6] Eine gute Schnittebene schneidet viel unnötigen Lösungsraum ab. Außerdem ist es sinnvoll, nur solche Ebenen zu wählen, die nicht durch das Einfügen einer anderen Schnittebene redundant werden. Denn sonst hätte man diese neue Schnittebene sofort wählen können und sich so eine Iteration gespart. Man darf den Lösungsraum der LP-Relaxation nur so weit verkleinern, dass auch wirklich noch alle zulässigen Punkte in ihr liegen. Das heißt, die konvexe Hülle conv(p) ist immer eine Teilmenge dieses Lösungsraums. Es dürfen also keine Schnittebenen hinzugefügt werden, die einen Teil der konvexen Hülle abschneiden. 13

16 Die Optimallösung liegt immer auf dem Rand der konvexen Hülle der zulässigen ganzzahligen Lösungen. Deshalb ist es sinnvoll, den Lösungsraum der LP-Relaxation in bestimmten Bereichen möglichst schnell auf diese konvexe Hülle zu verkleinern. Dafür wählt man, um möglichst viel vom Lösungsraum der LP-Relaxation abzuschneiden, ohne dass die Schnittebene später redundant wird, am besten die Facetten der konvexen Hülle der zulässigen ganzzahligen Lösungen. Mit dieser Wahl der Schnittebenen kann man schneller zu einer optimalen ganzzahligen Lösung gelangen. 14

17 3 Facetten von CP Im folgenden wird mit der Modellierung des Color Order Models aus gearbeitet. Die konvexe Hülle der ganzzahligen Lösungen dieser Modellierung ist. Da für eine Facette F eines Polyeders P gilt dim(f) = dim(p) 1, muss man zuerst die Dimension der konvexen Hülle aller ganzzahligen zulässigen Lösungen berechnen, bevor man ihre Facetten bestimmen kann. 3.1 Dimension der konvexen Hülle der Lösungen Definition: k k Die Vektoren x 1,...x k heißen affin unabhängig, falls aus λ i x i = 0 und λ i = 0 folgt: λ 1 =... = λ k = 0 [9]. i=1 i=1 Geht man davon aus, dass der Graph keinen Knoten enthält, der adjazent zu allen anderen ist, also keine sogenannten universalen Knoten besitzt, gilt: χ(g) < V. Enthält der Graph außerdem keine isolierten Knoten, die durch keine Kante mit einem anderen Knoten verbunden sind, gilt: 2 χ(g) < V, da jeder Knoten mindestens einen Nachbar hat. In diesem Fall gilt: Satz 1: Die Dimension von ist n 2 χ(g) 1 Beweisidee: Teil 1: zu zeigen: dim n 2 χ(g) 1 Existiert nur eine Lösung, so ist die Lösungsmenge ein Punkt und hat die Dimension 0. Gibt es dagegen 2 affin unabhängige Lösungen, so ist der Raum, in dem die beiden liegen, eine Gerade und hat die Dimension 1. Um die Aussage zu beweisen, muss man also zeigen, dass es n 2 χ(g) affin unabhängige Lösungen gibt. Man betrachtet einen Graph mit n Knoten v 1,.., v n und einer Farbmenge S mit n Farben. Da es keine universalen Knoten gibt, kann man o.b.d.a annehmen, dass v n 1 und v n nicht adjazent sind. Eine erste Färbung kann man erzeugen, indem man einfach jedem Knoten eine Farbe zuordnet (v 1 hat die Farbe 1 usw.) Farbe 1 Farbe 2 Farbe 3... Farbe i... Farbe n 1 Farbe n v 1 v 2 v 3... v i... v n 1 v n Für i = 1 kann man nun aus dieser Lösung weitere Lösungen durch das Vertauschen einzelner Knoten erzeugen. Für j = 1,.., n 1, i j kann man folgendermaßen tauschen: Knoten v n wird der Farbe i zugeordnet Knoten v j der Farbe n Knoten v i der Farbe j Außerdem kann man den Knoten v i der Farbe n zuordnen und den Knoten v n der Farbe i. 15

18 Damit ergeben sich folgende n 1 Lösungen: Farbe 1 Farbe 2 Farbe 3... Farbe i... Farbe n 1 Farbe n v n v 1 v 3... v i... v n 1 v 2 v n v 2 v 1... v i... v n 1 v v n v 2 v 3... v 1... v n 1 v i v n v 2 v 3... v i... v 1 v n 1 v n v 2 v 3... v i... v n 1 v 1 Nach dieser Vorgehensweise kann man außerdem n 1 Färbungen für jedes i {2,..n 2} erzeugen. Es ergeben sich also für i = 1,...n 2 genau (n 2) (n 1) Färbungen. Für i = n 1 und j = 1,..., n 1 lassen sich durch folgende Vertauschungsvorschrift neue Lösungen aus der ersten Lösung erzielen: ordne den Knoten v n der Farbe n 1 zu Knoten v j der Farbe n Knoten v n 1 der Farbe j Damit ergeben sich folgende n 1 Färbungen: Farbe 1 Farbe 2 Farbe 3... Farbe i... Farbe n 1 Farbe n v n 1 v 2 v 3... v i... v n v 1 v 1 v n 1 v 3... v i... v n v v 1 v 2 v 3... v n 1... v n v i v 1 v 2 v 3... v i... v n v n 1 Weitere n 1 Lösungen lassen sich dadurch erzeugen, dass den Knoten v n 1 und v n immer eine gemeinsame Farbe zugeordnet wird. Dies ist erlaubt, da die beiden Knoten laut Annahme nicht adjazent sind. Es ergeben sich folgende Lösungen: Farbe 1 Farbe 2 Farbe 3... Farbe i... Farbe n 1 Farbe n v n 1, v n v 2 v 3... v i... v 1 - v 1 v n 1, v n v 3... v i... v v 1 v 2 v 3... v n 1, v n... v i v 1 v 2 v 3... v i... v n 1, v n - Wählt man nun noch je eine j-färbung für j = χ(g),..., n 2 ergibt sich für die gesamte Anzahl der erzeugten Lösungen: 1 + (n 1)(n 2) + (n 1) + (n 1) + (n 2) (χ(g) 1) = n 2 χ(g) Kann man nun noch zeigen, dass diese n 2 χ(g) Lösungen affin unabhängig sind, gilt: dim n 2 χ(g) 1 16

19 Teil 2: zu zeigen: dim n 2 χ(g) 1 Satz 2: Sei A eine m n-matrix und Ax = b ein lineares Gleichungssystem, das mindestens eine Lösung besitzt. Dann ist die Dimension des Lösungsraumes: n rang(a) [8]. Man betrachtet das Gleichungssystem GS: n x i j = 1 j=1 w j = 1 n x in = w n i=1 i V 1 j χ(g) Das Gleichsungssystem GS hat n + χ(g) + 1 linear unabhängige Gleichungen, das heißt, es gilt für dieses System: rang(a) = n + χ(g) + 1. Es gibt n 2 + n Variablen, das heißt, falls eine Lösung existiert, hat die Lösungsmenge von GS die Dimension n 2 + n (n + χ(g) + 1 = n 2 χ(g) 1. Kann man nun zeigen, dass eine Teilmenge der Lösungsmenge von GS ist, so gilt: dim n 2 χ(g) 1 Teil 3: Aus Teil 1 und Teil 2 folgt nun: dim = n 2 χ(g) 1 Den vollständigen Beweis kann man bei [4] nachlesen. 3.2 Facetten definierende Ungleichungen Es gibt viele Bereiche, anhand derer man Ungleichungen finden kann, die Facetten der konvexen Hülle der Lösungen, also in diesem Fall von, definieren Ungleichungen anhand unabhängiger Mengen Definition: Mit α(g) bezeichnet man die größte Mächtigkeit einer unabhängigen Menge im Graphen G. Dies ist die Stabilitätszahl. [2] Da jede Knotenmenge, der eine Farbe zugeordnet wird, eine unabhängige Menge ist, muss deren Größe kleiner als α(g) sein. Da dies natürlich auch für jeden Teilgraph G = (V, E ) mit der zugehörigen Stabilitätszahl dieses Graphen gilt, ist die folgende Ungleichung für jede Farbe j 0 erfüllt: v V x v j0 α(g )w j0 Weist man der größten unabhängigen Menge in G die Farbe j 0 zu, so werden α(g ) viele der n Knoten von G mit dieser Farbe gefärbt. Man benötigt also noch höchstens n α(g ) + 1 Farben, um die restlichen Knoten zu färben. Jede (n α(g ) + 1)-Färbung, die diese Farbwahl vorweist, erfüllt die Ungleichung mit Gleichheit. Das heißt, es handelt sich um eine Seitenfläche. Es muss sich allerdings nicht um eine Facette handeln. 17

20 Man kann diese Ungleichung noch verstärken, denn es gilt laut [4] für jede Lösung: n x v j w n α(g )+1 j=n α(g )+1 v V Aus diesen beiden Ungleichung ergibt sich: x v j0 + v V n x v j α(g )w j0 + w n α(g )+1 j=n α(g )+1 v V Wann diese Ungleichung eine Facette beschreibt, wird im folgenden Satz aufgezeigt: Satz 3: Sei V V, G = G(V ) mit α(g ) < α(g), j 0 n α(g ) und der gültigen Ungleichung v V x v j0 + n j=n α(g )+1 v V x v j α(g )w j0 + w n α(g )+1 Diese Ungleichung definiert eine Facette, falls gilt: Es gibt eine unabhängige Menge der Größe α(g ) + 1 in G(V {v }) für alle v V \ V Es existiert eine maximale unabhänige Menge I von G, so dass V \ I keine Clique ist Es gibt eine χ(g)-färbung, die auf der Seitenfläche, die durch die Ungleichung erzeugt wird, liegt [4] Beweis: siehe [4] Cliquen-Ungleichung Definition: Ein vollständiger Graph ist ein Graph, in dem jeder Knoten mit jedem anderen durch eine Kante verbunden ist. Eine Clique in einem Graphen ist ein vollständiger Teilgraph. Eine maximale Clique ist eine Clique, die in keiner anderen (als Teilgraph) echt enthalten ist. [1] Zu einer beispielhaften Ungleichung, die eine Facette des Graphen definiert, kann man gelangen, indem man sich die Cliquen des Graphen anschaut. Satz 4: Sei K eine maximale Clique. Die Cliquen-Ungleichung x v j0 w j0 0 v K ist eine Facetten definierende Ungleichung von [4]. 18

21 Beweis: Die Ungleichung aus Satz 4 ist für jede Clique des Graphen erfüllt, denn höchstens ein Knoten der Clique kann mit der Farbe j 0 gefärbt werden. Wählt man V = K, so gilt α(g ) = 1, da der betrachtete Teilgraph eine Clique ist. Aus der Cliquen-Ungleichung ergibt sich also: v V x v j0 α(g )w j0. Außerdem gilt, da die Farbe n bei einem Graph mit n Knoten höchstens einmal benutzt wird: = n j=n α(g )+1 v V n j=n v V = v V x v n x v j w n = w n α(g )+1 x v j Damit ist die Cliquen-Ungleichung aus Satz 4 ein Spezialfall der Ungleichung aus Satz 3. Um zu zeigen, dass die Cliquen- Ungleichung eine Facette ist, muss man also beweisen, dass die drei Bedingungen aus Satz 3 gelten. Bedingung 1: zu zeigen: Es gibt eine unabhängige Menge der Größe 2 in G(K {v }) für alle v V \ K Da K eine maximale Clique ist, gibt es zu jedem Knoten v V \ K einen Knoten v K, der nicht adjazent zu v ist. Denn sonst würde dieser Knoten v zur Clique gehören. Das geht nicht, da es eine maximale Clique ist. Betrachtet man nun den Graph G(K {v }), gibt es eine unabhängige Menge der Größe 2, zu der genau die beiden Knoten v und v gehören. Da man diese Menge für jeden Knoten v V finden kann, ist die erste Bedingung erfüllt. Bedingung 2: zu zeigen: Es existiert eine maximale unabhänige Menge I von G, so dass V \ I keine Clique ist Da K eine maximale Clique ist, hat jede unabhängige Menge von K die Größe 1 und man kann zwei Knoten v 1, v 2 K wählen, sodass v 1 einen nicht adjazenten Knoten in V \ K besitzt. Wählt man also als maximale unabhängige Menge den Knoten v 2, so ist V \ {v 2 } keine Clique. Damit ist Bedingung 2 erfüllt. Bedingung 3: zu zeigen: Es gibt eine χ(g)-färbung, die auf der Seitenfläche, die durch die Ungleichung erzeugt wird, liegt Um dies zu zeigen, muss man beweisen, dass es eine χ(g)-färbung gibt, die die Cliquen-Ungleichung mit Gleichheit erfüllt. Jede Färbung, die einem Knoten in der Clique K die Farbe j 0 zuweist erfüllt die Ungleichung mit Gleichheit, denn wird die Farbe j 0 benutzt, gilt w j0 = 1. Da K eine Clique ist, kann höchstens ein Knoten die Farbe j 0 haben, das heißt, es gilt: x v j0 w j0 = 1 1 = 0. Da es eine χ(g)-färbung gibt, die die Farbe j 0 einem Knoten in der Clique K zuweist, v K ist auch die dritte Bedingung erfüllt. 19

22 3.2.3 Weitere Facetten Außer der Betrachtung von Cliquen gibt es noch weitere Bereiche, durch die man zu Facetten definierenden Ungleichungen gelangen kann. Einige Ungleichungen aus der Modellierung des Färbungsproblems sind schon Facetten. Man muss also zeigen, dass sie eine Seitenfläche der Dimension n 2 χ(g) 1 beschreiben. Weitere Facetten kann man finden, wenn man sich zum Beispiel Kreise ohne Sehnen und ihre Komplenmente oder Wege des Graphen anschaut und die gefundenden Gleichungen auf die Situation in Satz 3 zurückführt. Es gibt noch viele weitere Bereiche, bei deren Betrachtung man Facetten von finden kann. Man kann zum Beispiel außerdem Mehrfarben-Cliquen-Ungleichungen, Mehrfarben-Wege-Ungleichungen und Block-Farben-Ungleichungen aufstellen, die Facetten von definieren. Diese gefundenen Facetten kann man nun als Schnittebenen benutzen, um zu einer optimalen Färbung zu gelangen. 20

23 4 Das Schnittebenenverfahren von I. Méndez-Díaz und P. Zabala 4.1 LP-Relaxation Der erste Schritt zu einem guten Schnittebenenverfahren ist es, eine gute Relaxation für das ganzzahlige Problem zu finden. Die normale LP-Relaxation aus Kapitel 2.1 lässt nur die Ganzzahligkeitsbedingungen weg. So hat man aber immer noch viele Nebenbedingungen der Art: x uj + x v j w j (i, k) E, 1 j n. Die Nebenbedingungen legen fest, dass zwei benachbarte Knoten nie die gleiche Farbe haben. Bei kleinen Graphen ist das kein Problem, man kann sie mit einem Schnittebenenverfahren, das eine normale LP-Relaxation als Grundlage hat, färben. Bei großen und dichten Graphen gibt es allerdings zu viele solcher Nebenbedingungen, was das Lösen erschwert, da der LP-Solver zu lange braucht und so der gesamte Algorithmus zu langsam ist. Man muss also eine verbesserte Relaxation als Grundlage für das Schnittebenenverfahren finden, wenn man den Algorithmus auf Graphen aller Art anwenden will. Es gibt allerdings keinen vorgeschriebenen Weg, der zu einer besseren Relaxation führt. Man muss also verschiedene Ansätze durchprobieren, bis man zu einem guten Ergebnis kommt. Ob ein Ergebnis, also die gefundene Relaxation, gut ist, kann man an bestimmten Kriterien erkennen, die für den Anwender wichtig sind. Ein mögliches Kriterium ist zum Beispiel die Zeit, die der LP-Solver benötigt, um die Relaxation zu lösen. Ein anderes Kriterium ist die Entwicklung der unteren Schranke für die chromatische Zahl χ(g) des Graphen, wenn man eine bestimmte Relaxation als Grundlage wählt, denn man möchte, wenn es geht, eine optimale Lösung mit möglichst wenigen Durchgängen finden. Méndez-Díaz und Zabala haben zum Beispiel zuerst versucht, die oben genannten Nebenbedingen einfach wegzulassen oder durch Ungleichungen zu ersetzen, die man durch die Betrachtung von Cliquen erhält. Beide Möglichkeiten wurden verworfen, da sie zu keiner wirklichen Verbesserung der Relaxation und des darauf aufbauenden Schnittebenenverfahrens geführt haben. Dies wurde durch Ausprobieren des Algorithmus auf viele Graphen verschiedener Größe und Dichte herausgearbeitet. Auf diese Weise sind sie auch zu einer für sie guten Lösung gelangt, indem sie neben der LP-Relaxation eine weitere Relaxation mit Hilfe von Nachbarschaftsungleichungen vorgenommen haben. Sei v V und sei N(v ) die Nachbarschaft von v. N(v ) umfasst also alle Knoten, die adjazent zu v sind. Es gilt: δ(v ) = N(v ), δ(v ) gibt also an, wieviele Nachbarn der Knoten v hat. Das Modell des Färbungsproblems enthält für alle Knoten v und alle Farben j die Nebenbedingungen: x v j + x k j w j k N(v ) Kombiniert man diese Nebenbedingungen für einen Knoten v, so erhält man die Ungleichung: x k j + δ(v )x v j δ(v )w j k N(v ) 21

24 Jede Lösung der Modellierung erfüllt diese Ungleichung, da immer einer dieser drei Fälle eintritt: Knoten v hat die Farbe j kein Knoten aus der Nachbarschaft kann die Farbe j haben 0 + δ(v ) = δ(v ) Knoten v hat nicht die Farbe j, aber mindestens ein Knoten der Nachbarschaft wird mit Farbe j gefärbt x k j + 0 δ(v ) k N(v ) Keiner der betrachteten Knoten wird mit der Farbe j gefärbt 0 = 0 oder 0 δ(v ), je nachdem ob die Farbe j zum Färben anderer Knoten genutzt wird. Diese gefundene Ungleichung kann noch verstärkt werden, indem man statt δ(v ) die Zahl r wählt, wobei r die Größe der größten unabhängigen Menge des Graphen ist. So erhält man die Ungleichung: k N(v ) x k j + r x v j r w j Jede Lösung der Modellierung erfüllt auch diese Ungleichung, da k N(v ) x k j höchstens den Wert r annehmen kann. Da eine Färbung aber gerade eine Aufteilung in unabhängige Mengen ist, wobei jeder unabhängigen Menge eine Farbe zugeordnet wird, kann man die Zahl r vor der Lösung des Problems nicht bestimmen. Stattdessen kann man N(v) mit einem Greedy-Algorithmus in Cliquen zerlegen. Der Greedy-Algorithmus fügt jeden betrachteten Knoten v i N(v ) zur ersten Clique hinzu, in der nur Knoten enthalten sind, die adjazent zu v i sind. Gibt es keine solche Clique, in die der Knoten v i passt, wird eine neue Clique hinzugefügt, die bis jetzt nur den Knoten v i beinhaltet. Diese Aufteilung gibt meistens nicht die wirkliche Anzahl der Cliquen wieder, sondern nur eine obere Schranke. Es kann sein, dass man einen Knoten zu einer Clique hinzufügt, der dann das Hinzufügen anderer Knoten behindert und man so mehr Cliquen als nötig als Lösung erhält. Anstatt der Zahl r wählt man nun die Anzahl der gefundenen Cliquen. Dies ist sinnvoll, denn die Farbe j kann in jeder Clique höchstens einmal vertreten sein. Bei der normalen LP-Relaxation gab es mn Ungleichungen der Art x uj + x v j w j. Ersetzt man diese durch die gefundenen Nachbarschaftsungleichungen, wird das Polytop weiter relaxiert. Diese neue LP-Relaxation hat nicht so viele Nebenbedingungen wie die ursprüngliche, was das Lösen von großen und dichten Graphen in annehmbarer Zeit ermöglicht. Laut den Erfahrungen von Méndes-Díaz und Zabala kann mit dieser Relaxation ein gutes Gleichgewicht zwischen der benötigten Zeit, dem benötigten Speicherplatz und der Verbesserung der unteren Schranke geschaffen werden. Dies waren die für sie wichtigen Kriterien, um eine Verbesserung der ursprünglichen LP-Relaxation zu finden. Es kann also sein, dass es Anwender gibt, für die diese Relaxation nicht optimal ist, da für sie hauptsächlich eines dieser 3 Kriterien wichtig ist. Sie würden eine Relaxation bevorzugen, die auf diesem Gebiet Verbesserungen bringt und sind dazu auch bereit Verschlechterungen auf anderen Gebieten hinzunehmen. Möchte man aber eine Relaxation, bei der diese 3 Kriterien ungefähr gleich wichtig sind, was normalerweise der Fall ist, so ist die gefundene Relaxation geeignet. 4.2 Obere und untere Schranken Obere und untere Schranken sind wichtig, da man damit die Anzahl der Variablen einschränken kann und so das Problem nicht zu groß wird. Hat man eine untere Schranke ˇχ gefunden, so bedeutet dies, dass gilt ˇχ χ(g). Man weiß also, dass die Farben 1 bis ˇχ auf jeden Fall benutzt werden, was die Lösungsmenge verkleinert. Eine obere Schranke ist wichtig, um die Anzahl der Farben einzuschränken, die zum Färben des Graphen genutzt werden können. Hat man zum Beispiel einen Graph mit 1000 Knoten, liegt die obere Schranke ˆχ für χ(g) zunächst bei Würde man diese nicht verbessern, müsste man den Graphenfärbungsalgorithmus mit einer Farbmenge durchführen, für die gilt: S = Es müssten also 1000 Farben in der Farbmenge sein. So erhält man Variablen und viele Nebenbedingungen. Findet man nun aber heraus, dass χ(g) 10 = ˆχ gilt, kann man nun eine Farbmenge mit S = 10 22

25 betrachten. Dadurch sinkt die Zahl der Variablen von auf und es fallen auch einige Nebenbedingungen weg. Eine untere Schranke ˇχ kann man mit einem Greedy-Algorithmus bestimmen. Dieser könnte zum Beispiel so aussehen: Man beginnt mit einer Clique C, zu der nur der Knoten 1 gehört. Dann fügt man zur Menge C der Reihe nach die Knoten hinzu, die zu allen bisher enthaltenen Knoten adjazent sind. So findet man eine Clique des Graphen und damit eine untere Schranke. Diese Clique ist in den meisten Fällen kleiner als die wirklich größte Clique des Graphen, da man wahrscheinlich einen Knoten zu C hinzufügt, der normalerweise nicht in der größten Clique enthalten ist, aber zum Einfügezeitpunkt mit allen bis dahin in der Menge C enthaltenen Knoten adjazent ist. Will man eine genauere untere Schranke erreichen, muss dieser Greedy-Algorithmus also verbessert werden. Eine Möglichkeit ist zum Beispiel, die Knoten nicht in der Reihenfolge der Numerierung durchzuprobieren, sondern zuerst die Knoten zu betrachten, die möglichst viele Nachbarn haben. Hat man eine Clique der Größe ˇχ gefunden, kann man das Problem vereinfachen, indem man jedem Knoten dieser gefundenen Clique eine der ersten ˇχ Farben zuweist und damit die Werte einiger Variablen fixiert. Denn man weiß nun, dass w 1,..., w ˇχ den Wert 1 annehmen müssen und auch der Wert der Variabeln x c j mit c C und 1 j ˇχ ist fest bestimmt. Dadurch verkleinert sich das Problem und kann schneller gelöst werden. Eine obere Schranke kann man mit dem DSATUR Algorithmus finden, der dichtere Bereiche des Graphen zuerst färbt und so zu einer möglichst guten oberen Schranke führt. Am Anfang werden alle Knoten nach dem Grad geordnet, also nach der Anzahl der adjazenten Knoten, beginnend bei dem Knoten mit den meisten Nachbarn. Jedem Knoten wird die Zahl sat der Farben beigeordnet, die bisher benutzt wurden, um benachbarte Knoten einzufärben. Diese Zahl gibt also an, wieviele Farben aus der Farbmenge der bisher benutzten Farben man nicht mehr zum Färben des betrachteten Knoten benutzen kann. Am Anfang wird jedem Knoten die Zahl 0 zugeordnet, da noch kein Knoten gefärbt wurde. Zuerst wird ein Knoten mit maximalem Grad mit der Farbe 1 gefärbt. Danach wird für alle übrigen Knoten die beigeordnete Zahl sat neu berechnet. Im weiteren Verlauf wird immer der Knoten ausgewählt, dem die größte Zahl sat zugeordnet wurde. Gibt es mehrere Knoten, die so zur Auswahl stehen, wird einer der Knoten mit maximalem Grad ausgewählt. Dieser Knoten wird nun mit einer möglichst kleinen Farbe gefärbt. Dies wird solange wiederholt, bis alle Knoten gefärbt sind. Die Anzahl der Farben, die für diese Färbung benutzt wurden, ist eine obere Schranke für die chromatische Zahl χ(g). Hat man eine solche obere Schranke ˆχ gefunden, kann man alle Variablen w j und x v j mit j > ˆχ entfernen. Durch die geringere Anzahl an Variablen und Nebenbedingungen erhält man ein kleineres Modell und kann so schneller zu einer Lösung gelangen. 4.3 Finden von Schnittebenen Das wichtigste beim Schnittebenenverfahren ist die Suche nach Schnittebenen, die die gefundene nicht ganzzahlige Lösung der Relaxation von der konvexen Menge der Lösungen trennt. In Teil 3 wurden Facetten definierende Ungleichungen angesprochen, die als Schnittebenen dienen können. Diese sind allerdings nur allgemein definiert und noch nicht auf den zu färbenden Graphen angepasst. Zum Beispiel werden bei der Cliquen-Ungleichung alle Knoten einer Clique betrachtet. Wenn der Algorithmus gestartet wird, ist aber noch nicht bekannt, welche Knoten des Graphen eine Clique bilden. Man muss also die Facetten definierenden Ungleichungen erst aufstellen beziehungsweise finden. Es ist wichtig, die Schnittebenen auf eine möglichst effiziente Art zu finden, damit der gesamte Algorithmus schneller und mit weniger Speicheraufwand zu einer optimalen Lösung gelangen kann. Méndez-Díaz und Zabala haben daher für die verschiedenen Arten von Facetten definierenden Ungleichungen unterschiedliche Wege gefunden, diese aufzustellen. Um die Cliquen-Ungleichung aufzustellen, könnte man zum Beispiel, bevor man den Algorithmus startet, eine Liste mit maximalen Cliquen des Graphen aufstellen. Anhand dieser Liste könnte man dann die zugehörigen Ungleichungen aufstellen. Dies ist laut [4] allerdings nicht geeignet, da es zwar eine schnelle Möglichkeit ist, die Ungleichungen aufzustellen, man so aber nicht genügend Schnittebenen erhält. Außerdem kann man so nicht den Wert der Lösung der LP-Relaxation (x, w ) ausnutzen. 23

26 Um Cliquen-Ungleichungen zu finden, verwenden sie stattdessen für jede Farbe j 0 die folgende Greedy-Heuristik: Man erstellt eine Liste mit den Werten {x i j 0 : i V, x i j 0 < 1} der aktuellen Lösung (x, w ) der LP-Relaxation, beginnend mit dem größten Wert. Ist x i j 0 nicht ganzzahlig, initialisiert man eine Clique, die nur den Knoten i enthält. Dieser Clique fügt man nun, in der Reihenfolge der Liste, weitere Knoten hinzu, wenn diese zu allen Knoten der bisher gefundenen Clique adjazent sind. Es werden so viele Knoten hinzugefügt, bis eine bestimmte Zahl erreicht wurde, die man beim Starten des Algorithmus bestimmen muss oder man am Ende der Liste angelangt ist. Mit der so gefundenen Clique kann man nun die Cliquen-Ungleichung aufstellen. Diese kann aber nicht immer auch als Schnittebene benutzt werden, da bisher nur eine Facette von, also der konvexen Hülle der Lösungen, gefunden wurde. Es kann sein, dass die aktuelle Lösung (x, w ) der LP-Relaxation die Ungleichung erfüllt. Das heißt, das Hinzufügen dieser Ungleichung würde das Problem nur vergrößern, da nun eine zusätzliche Nebenbedingung existiert. Sie würde aber nicht dazu beitragen, dass durch das erneute Lösen der LP-Relaxation eine verbesserte Annäherung an eine optimale ganzzahlige Lösung erhalten wird. Man muss also zuerst prüfen, ob die durch die Greedy-Heuristik gefundene Cliquen- Ungleichung den Punkt (x, w ) von separiert. Ist dies der Fall, kann die gefundene Ungleichung als Schnittebene verwendet werden. Mit diesen gefundenen Cliquen kann man auch die Mehrfarben-Cliquen-Ungleichungen aufstellen und prüfen, ob sie als Schnittebenen verwendet werden können. Für die übrigen Arten Facetten definierender Ungleichungen muss man andere Wege finden, Gleichungen aufzustellen und Schnittebenen zu erzeugen. Bei den Block-Farben-Ungleichungen geht man alle möglichen Ungleichungen per Brute-Force durch. Mehrfarben-Pfad-Ungleichungen werden aufgestellt, indem man Pfade anhand von bestimmten Gewichten generiert, die man den Kanten zuweist. Für die Ungleichungen, zu denen man durch das Betrachten sehnenloser Kreise gelangen kann, wird ein bestimmter Algorithmus verwendet. Es gibt also viele verschiedene Arten, wie man Facetten definierende Ungleichungen aufstellen und überprüfen kann. Will man einen bestehenden Algorithmus verbessern, so ist eine Möglichkeit zum Beispiel das Finden von neuen und besseren Methoden zum Aufstellen von Schnittebenen. Die hier genannten Methoden waren aus der Sicht von Méndez-Díaz und Zabala am geeignetesten. 4.4 Verlauf des Schnittebenenverfahrens Im Gegensatz zur Erklärung des Schnittebenenverfahrens in Teil 2.2, wird bei dem Algorithmus von Méndez-Díaz und Zabala nicht nur eine Schnittebene pro Iteration hinzugefügt, sondern eine Menge von Ungleichungen. Dies ist ein Vorteil, da der Algorithmus für große Graphen sehr viel Zeit benötigen würde, wenn in jeder Iteration nur eine Ungleichung hinzugefügt werden würde. Eine Schwierigkeit, die dabei auftritt, ist die zunehmende Größe der zu lösenden LP-Relaxation. Man kann nicht einfach nur bei jeder Iteration alle gefundenen Schnittebenen hinzufügen, da das Problem sonst mit der Zeit zu groß wird und der LP-Solver zu lange braucht, um die Relaxation zu lösen. Daher müssen die Ungleichungen, die bei einer früheren Iteration zum Problem hinzugefügt wurden, jetzt aber nicht mehr wichtig sind, gelöscht werden. Das heißt, sie werden nicht mehr als Nebenbedingungen des Problems verwendet. Da es aber sein kann, dass diese Ungleichungen zu einem späteren Zeitpunkt noch einmal gebraucht werden, ist es nicht sinnvoll, sie vollständig zu löschen, da man sie sonst neu finden muss. Man sammelt diese Ungleichungen also in einer Datenbasis, damit man schnell wieder auf sie zugreifen kann. Neben diesen Ungleichungen werden dort auch solche gespeichert, die nie als Nebenbedingungen zum Problem hinzugefügt wurden, da sie zu dem Zeitpunkt, als sie gefunden wurden, die Lösung (x, w ) nicht von separiert haben. Dies kann aber in einer späteren Iteration der Fall sein. Da nur Heuristiken verwendet werden, um die Ungleichungen zu finden, kann es sein, dass man eine Ungleichung, die man in der ersten Iteration aufgestellt hat, aber nicht benutzen konnte, so schnell nicht wieder finden und aufstellen kann. Deshalb werden auch diese Ungleichungen in der Datenbasis gespeichert. 24

27 Die Ungleichungen aus der Datenbasis können schnell überprüft werden, weshalb man am Anfang jeder Iteration, also nachdem die neue Relaxation gelöst wurde, zuerst diese Basis nach verletzten Ungleichungen durchsucht. Werden in der Datenbasis schon mehr als 200 Ungleichungen gefunden, die (x, w ) von separieren, optimiert man das Problem, indem man diese Ungleichungen als Schnittebenen hinzufügt und eventuell unwichtige Nebenbedingungen entfernt. 25

28 5 Ergebnisse zum Schnittebenenverfahren von I. Méndez-Díaz und P. Zabala Wie gut ein Schnittebenenverfahren funktioniert, hängt davon ab, wie gut die Wahl der Schnittebenen ist und wie schnell und mit welchem Aufwand man diese Ungleichungen finden kann. Facetten sind meist gute Schnittebenen, was aber nicht immer so sein muss. Um auszuwerten, welche Facetten besonders geeignet sind, um sie als Schnittebenen der Relaxation hinzuzufügen, kann man zum Beispiel folgende Bewertungskriterien betrachten: Wie entwickelt sich die untere Schranke? Welche Zeit wird benötigt? Wieviel Zeit wird zum Finden von Schnittebenen verwendet? Wieviel Prozent der gefundenen Ungleichungen können als Schnittebenen verwendet werden? Um dies für verschiedene Kombinationen von Schnittebenen zu testen, muss man zuerst Graphen erzeugen, die man einfärben lässt. Méndez-Díaz und Zabala haben sich zufällige Graphen mit 125 Knoten und verschiedener Dichte erzeugen lassen, wobei bei geringer Dichte weniger als 30% der möglichen Kanten verwendet wurden, bei mittlerer Dichte zwischen 40% und 50% und bei hoher Dichte mehr als 70%. Für jede Dichte haben sie 8 Graphen erstellt und auf diesen jeweils 50 Iterationen des Schnittebenenverfahrens durchgeführt. Dabei hat sich herausgestellt, dass nach diesen Iterationen bei allen getesteten Kombinationen die gleiche untere Schranke gefunden wurde, außer wenn die Cliquen- Ungleichungen nicht als mögliche Schnittebenen verwendet wurden. War dies der Fall, konnte die untere Schranke nicht so sehr verbessert werden. Darum scheinen Cliquen-Ungleichungen wichtige Schnittebenen zu sein, die man auf jeden Fall verwenden sollte. Es wurden also folgende Kombinationen der möglichen Ungleichungen getestet: C 1 C 2 C 3 C 4 C 5 Cliquen Cliquen, Block-Farben, Mehrfarben-Wege Cliquen, Block-Farben, Mehrfarben-Wege, Mehrfarben-Cliquen Cliquen, Mehrfarben-Cliquen, sehnenlose Kreise Cliquen, Block-Farben, Mehrfarben-Wege, Mehrfarben-Cliquen, s. Kreise 5.1 Wie entwickelt sich die untere Schranke und in welcher Zeit? Die Entwicklung der unteren Schranke ist wichtig, da dies wiedergibt, wie und wie schnell sich die Lösung der LP- Relaxation einer optimalen ganzzahligen Lösung annähert. Während der 50 Iterationen pro Graph wird beobachtet, bei welcher Iteration die beste untere Schranke LB angenommen wird und wieviel Zeit dafür benötigt wurde. Außerdem wird für die 8 Graphen, die der gleichen Dichtekategorie angehören, berechnet, wieviel Prozent durchschnittlich am Anfang zwischen der oberen Schranke ˆχ und der unteren Schranke ˇχ liegen und wieviel Prozent im Durchschnitt nach den 50 Iterationen zwischen ˆχ und LB liegen. Die Ergebnisse sind in den folgenden Tabellen dargestellt: geringe Dichte mittlere Dicht hohe Dichte Zeit Iteration Zeit Iteration Zeit Iteration C C C C C

29 geringe Dichte mittlere Dichte hohe Dichte Unterschied ˆχ, ˇχ 47% 52% 43% Unterschien ˆχ, LB 35% 38% 27% Man kann also im Bezug auf das Finden der endgültigen unteren Schranke LB sagen, dass sie bei geringer Dichte schon am Anfang gefunden wird, bei mittlerer Dichte fast genau in der Mitte der 50 Iterationen und es bei hoher Dichte auch am Schluss noch Verbesserungen gibt. Diese untere Schranke wird für die jeweilige Dichte in etwa in der gleichen Runde gefunden, egal welche Ungleichungen man als Schnittebenen verwendet. Man kann also anhand von diesem Kriterium keine Ungleichung als besonders nützlich oder unbrauchbar bezeichnen. Mit zunehmender Dichte des Graphen fällt auch der durchschnittliche prozentuale Anstieg der unteren Schranke höher aus, das heißt, die untere Schranke wird deutlicher verbessert, wenn es sich um einen dichten Graphen handelt. Betrachtet man nun die Zeit, die zum Finden dieser unteren Schranke benötigt wurde, sieht man, dass der Algorithmus vor allem bei den dichteren Graphen länger braucht, wenn man die durch sehnenlose Kreise bestimmten Ungleichungen und Mehrfarben-Cliquen-Ungleichungen benutzt. Diese beiden Arten von Ungleichungen scheinen laut diesem Kriterium weniger geeignet zu sein. 5.2 Wieviel Zeit wird zum Finden von Schnittebenen verwendet? Ein weiteres Bewertungskriterium ist die Zeit, die zum Separieren benötigt wird. Fällt diese sehr hoch aus, sollte man überlegen, andere Verfahren zum Aufstellen der Schnittebenen zu finden. Die folgende Tabelle zeigt für die verschiedenen benutzten Ungleichungen, welche Zeit durchschnittlich für die jeweils 8 Graphen einer Dichtekategorie verwendet wurde, und wieviel Zeit davon im Durchschnitt für das Finden von Schnittebenen, also für das Separieren, angefallen ist. geringe Dichte mittlere Dicht hohe Dichte Gesamtzeit Separieren % Gesamtzeit Separieren % Gesamtzeit Separieren % C 1 47,2 6, ,8 9, , C 2 49,6 6, , ,4 3 C 3 51, ,8 11, ,2 17,2 3 C 4 66,2 15, , ,8 35,8 5 C 5 69, ,4 24, , Man kann sehen, dass insgesamt nur ein geringer Teil der Zeit zum Finden von Schnittebenen verwendet wird. Es wird aber prozentual mehr Zeit benötigt, wenn man Mehrfarben-Cliquen-Ungleichungen und Ungleichungen, die anhand von sehnenlosen Kreisen gefunden wurden, als Schnittebenen verwendet. Auch nach diesem Kriterium scheinen diese beiden Ungleichungsarten nicht optimal zu sein. 5.3 Wieviel Prozent der gefundenen Ungleichungen können als Schnittebenen verwendet werden? Wie schon angesprochen, kann nicht jede Ungleichung, die im Laufe der Lösungsfindung aufgestellt wurde, als Schnittebene verwendet werden. Es ist also interessant herauszufinden, wie hoch der Anteil der wirklich gebrauchten Ungleichungen gegenüber den insgesamt aufgestellten Ungleichungen aus den verschiedenen Bereichen ist. Ist der Anteil sehr gering, so kann es sinnlos sein, viel Zeitaufwand zu betreiben und Speicherplatz zu verwenden, um eine solche Gleichung aufzustellen. Betrachtet man die einzelnen Arten von Ungleichungen, so kann man feststellen, dass das Suchen der Mehrfarben- Wege-Ungleichungen sehr effektiv ist, da die Wahrscheinlichkeit, dass sie auch als Schnittebene verwendet werden 27

30 können, hoch ist. Für die verschiedenen Dichten des Graphen liegt die Verwendbarkeit oft über 70%. Für die Cliquen- Ungleichungen liegt diese Verwendbarkeit dagegen, unabhängig von der Dichte des Graphen, zwischen 16,8 und 33,6%. Dies ist nicht sehr hoch, aber da die Cliquen-Ungleichungen auf jeden Fall enthalten sein sollten, da die Entwicklung der unteren Schranke sonst schlechter ist, ist sie annehmbar. Bei den Ungleichungen, die man anhand sehnenloser Kreise aufstellen kann, verschlechtert sich die Verwendbarkeit, je dichter der Graph ist. Bei einem Graph mit geringer Dichte (also einer Kantenwahrscheinlichkeit von 0,3) liegt die Verwendbarkeit bei etwa 85%, was eine sehr hohe Quote ist. Diese sinkt, bis sie bei einem Graph mit sehr hoher Dichte (Wahrscheinlichkeit 0,9) bei 11 bis 29% liegt. Die Block-Farben- Ungleichungen werden per Brute-Force aufgestellt, was die schlechten Ergebnisse erklärt. Der Algorithmus zur Suche dieser Ungleichungen wird nicht oft aufgerufen, aber wenn er aufgerufen wird, so liegt die Verwendbarkeit unter 5%. Am Schlechtesten fällt die Verwendbarkeit bei den Mehrfarben-Cliquen-Ungleichungen aus. Es werden zwar vereinzelt einigermaßen gute Ergebnisse, wie zum Beispiel 31,4% auf einem Graph mit sehr hoher Dichte erzielt, meistens liegt die Verwendbarkeit aber bei unter 1%. Wie in den vorherigen Betrachtungen, erhalten auch hier die Mehrfarben-Cliquen- Ungleichungen eine schlechte Bewertung. Die genauen Ergebnisse und die Voraussetzungen, unter denen die Ergebnisse gefunden wurden, können in [4] nachgelesen werden. 28

31 6 Gesamtergebnis Anhand der drei Beobachtungen aus Teil 5 kann man folgende Resultate ziehen: Cliquen-Ungleichungen sollten auf jeden Fall als Schnittebenen verwendet werden, da sie die Entwicklung der unteren Schranke positiv beeinflussen und somit wichtig für das Ergebnis des Schnittebenenverfahrens sind. Zusammen mit den Block-Farben-Ungleichungen und mit den Ungleichungen aus der Betrachtung sehnenloser Kreise erzielen sie in allen 3 Untersuchungsgebieten einigermaßen gute Ergebnisse. Mit dieser Kombination erzielt man eine gute Verbesserung der unteren Schranke in einer annehmbaren Zeit. Die Zeit, die zum Separieren verwendet wird, ist nicht zu hoch und auch die Verwendbarkeit der Ungleichungen als Schnittebenen ist vertretbar. Daher ist diese Kombination eine gute Grundlage zum Finden von Schnittebenen. Die anderen beiden Ungleichungsarten schneiden dagegen in fast allen Beobachtungen am schlechtesten ab. Die Zeit, die zum Finden der unteren Schranke benötigt wird, ist bei den Kombinationen, die diese Ungleichungen verwenden, höher. Es wird mehr Zeit zum Separieren benötigt, aber die gefundenen Ungleichungen können, im Falle der Mehrfarben-Cliquen-Ungleichungen, nur in sehr geringem Maße auch als Schnittebenen verwendet werden. Daher kann man zu dem Schluss kommen, dass diese Ungleichungen nicht geeignet sind, als Schnittebenen verwendet zu werden. Man könnte zum Beispiel den Algorithmus zuerst nur mit den anderen 3 Ungleichungsarten starten. Kann man mit diesen keine Verbesserung der unteren Schranke mehr erzielen oder findet man keine weiteren Ungleichungen, die als Schnittebenen dienen können, kann man immer noch auf diese beiden Arten zurückgreifen und versuchen, mit ihnen eine Verbesserung zu erzielen. Insgesamt muss man sagen, dass dies nur eine Variante für ein Schnittebenenverfahren zum Färben von Graphen ist. Will man dieses verbessern, kann man dies an mehreren Stellen versuchen. Man kann versuchen, zu Beginn eine geeignetere Relaxation zu finden, so dass das Problem schneller gelöst werden kann. Oder man kann ein besseres Verfahren entwickeln, um eine genauere Abschätzung der unteren und oberen Schranken zu erreichen, so dass das Problem verkleinert wird und man so schneller zu einer Lösung gelangen kann. Dieses Verfahren sollte aber weiterhin recht einfach sein, da man immer abwägen muss, wieviel Aufwand sich lohnt, um eine bestimmte Verbesserung zu erzielen. Dies sind die Grundlagen des Algorithmus. Das Herzstück des Algorithmus ist allerdings das Finden von als Schnittebenen geeigneten Ungleichungen. Gute Schnittebenen sind wichtig, da man mit ihnen weniger Iterationen benötigt, um zu einer optimalen Lösung zu gelangen. Wie sich herausgestellt hat, gehören die Cliquen-Ungleichungen zu dieser Gruppe, da sich die Entwicklung der unteren Schranke verbessert, wenn man diese Ungleichungsart als Schnittebenen verwendet. In Teil 5.3 wurde aber festgestellt, dass der Anteil der gefundenen Ungleichungen, die auch als Schnittebene verwendet werden können, nicht überragend ist. Ein Algorithmus oder eine Heuristik, die diesen Anteil in annehmbarer Zeit verbessert, würde auch die Ergebnisse des gesamten Algorithmus verbessern. Dies kann man natürlich nicht nur beim Aufstellen der Cliquen-Ungleichungen versuchen, sondern auch bei den übrigen. Es wäre zum Beispiel sinnvoll, für die Block-Farben-Ungleichungen eine andere Möglichkeit wie die Brute-Force Methode zu finden. Man darf dabei aber nicht vergessen, dass eine Brute-Force Methode, die viele unbrauchbare Ungleichungen aufstellt, sinnvoller sein kann als ein genauer Algorithmus, wenn dieser Algorithmus zu viel Zeit oder Speicherplatz benötigt, um eine Ungleichung aufzustellen. Man muss also immer den Nutzen neuer Methoden mit den dafür in Kauf genommenen Verschlechterungen vergleichen und abwägen, ob die Methoden sinnvoll sind. Neben verbesserten Methoden zum Aufstellen von Schnittebenen aus dem Bereich der bekannten Facetten kann man auch versuchen, neue Ungleichungsarten zu finden, die man dann als Schnittebenen benutzen kann. Hat man solche Ungleichungen gefunden muss man Wege erarbeiten, diese effizient aufzustellen. So kann es sein, dass man mit Hilfe dieser neuen Ungleichungen schneller eine optimale Lösung finden kann. Es gibt auch Fälle, die mit den bisher betrachteten Ungleichungen nicht lösbar sind, da keine Schnittebenen mehr gefunden werden können, mit denen die untere Schranke verbessert werden kann, bis sie ganzzahlig ist. Mit den neu gefundenen Ungleichungen kann man dann im besten Falle zu einer optimalen ganzzahligen Lösung für jedes Färbungsproblem gelangen. 29

32 7 Benutzte Literatur [1] H. Waldschmidt, K. Guntermann, Grundlagen der Informatik 2 Skript [2] R. Diestel, Graphentheorie, 3. Auflage, Springer-Verlag, Berlin Heidelberg, 2006 [3] R. Hemmecke, Vorlesungsskript Algorithmische diskrete Mathematik, TU Darmstadt, 2009 [4] I. Méndez-Díaz, P. Zabala, A cutting plane algorithm for graph coloring [5] Th. Ellinger, G. Beuermann, R. Leisten, Operations Research, 6. Auflage, Springer-Verlag, 2003 [6] A. Martin, Vorlesungsskript Optimierung, TU Darmstadt, 2008 [7] A. Martin, Vorlesungsskript Diskrete Optimierung, TU Darmstadt, 2006 [8] B. Pareigis, Lineare Algebra für Informatiker, Springer-Verlag, Berlin Heidelberg, 2000 [9] F. Jarre, J.Stoer, Optimierung, Springer-Verlag, Berlin Heidelberg,

Übung zur Vorlesung Diskrete Strukturen I

Übung zur Vorlesung Diskrete Strukturen I Technische Universität München WS 00/0 Institut für Informatik Aufgabenblatt Prof. Dr. J. Csirik. November 00 Brandt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am. und.

Mehr

Schnittebenenverfahren für das symmetrische

Schnittebenenverfahren für das symmetrische Schnittebenenverfahren für das symmetrische TSP Sebastian Peetz Mathematisches Institut Universität Bayreuth 19. Januar 2007 / Blockseminar Ganzzahlige Optimierung, Bayreuth Gliederung 1 Das symmetrische

Mehr

Überblick Kap. 5: Graph Coloring

Überblick Kap. 5: Graph Coloring Überblick Kap. 5: Graph Coloring Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 10./11. VO 18.12.0 / 8.1.07 5.1 Einführung Definition und Motivation Sudoku 5.2 ILP-Formulierungen

Mehr

Kap. 5: Graph Coloring

Kap. 5: Graph Coloring Kap. 5: Graph Coloring Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 10./11. VO 18.12.06 / 8.1.07 Überblick 5.1 Einführung Definition und Motivation Sudoku 5.2 ILP-Formulierungen

Mehr

Knoten-Partitionierung in feste Eigenschaften ist NP-schwer

Knoten-Partitionierung in feste Eigenschaften ist NP-schwer Knoten-Partitionierung in feste Eigenschaften ist NP-schwer Seminar: Ausgewählte Kapitel der Informatik bei Prof. Dr. R. Schrader Seminarvortrag von Nils Rosjat Wintersemester 09 / 10 1 Einleitung Dieser

Mehr

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016 Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 [email protected] 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +

Mehr

4 Färbungen Begriffe Komplexität Greedy-Algorithmus Knotenreihenfolgen Das 4-Farben-Problem...

4 Färbungen Begriffe Komplexität Greedy-Algorithmus Knotenreihenfolgen Das 4-Farben-Problem... Inhaltsverzeichnis 4 Färbungen 41 4.1 Begriffe....................... 41 4.2 Komplexität..................... 42 4.3 Greedy-Algorithmus................ 42 4.4 Knotenreihenfolgen................. 43 4.5

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

durch Einfügen von Knoten konstruiert werden kann.

durch Einfügen von Knoten konstruiert werden kann. Satz von Kuratowski Definition Unterteilung eines Graphen Sei G = (V, E) und e = {u, v} E. 1 Das Einfügen eines neuen Knoten w in die Kante e führt zum Graphen G = (V {w}, E \ e {{u, w}, {w, v}}). 2 Der

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 7 und 8: Euler- und Hamilton-Graphen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca [email protected] 17. April 2018 1/96 WIEDERHOLUNG Eulersche

Mehr

Fünf-Farben-Satz. Seminar aus reiner Mathematik, WS 13/14. Schweighofer Lukas, November Seite 1

Fünf-Farben-Satz. Seminar aus reiner Mathematik, WS 13/14. Schweighofer Lukas, November Seite 1 Der Fünf- Farben-Satz Seminar aus reiner Mathematik, WS 13/14 Schweighofer Lukas, November 2013 Seite 1 Inhaltsverzeichnis Vorwort...3 Graphentheoretische Grundlagen...4 Satz 2 (Eulerscher Polyedersatz)...7

Mehr

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 5 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 20. Dezember 2017 Abgabe 16. Januar 2018, 11:00 Uhr

Mehr

Knotenfärbung. Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E.

Knotenfärbung. Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E. Knotenfärbung Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E. Die chromatische Zahl χ(g) eines Graphen G ist die minimale

Mehr

Übung zur Vorlesung Diskrete Strukturen I

Übung zur Vorlesung Diskrete Strukturen I Technische Universität München WS 00/03 Institut für Informatik Aufgabenblatt 6 Prof. Dr. J. Csirik 18. November 00 Brandt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Effiziente Algorithmen Lösen NP-vollständiger Probleme 320 Approximationsalgorithmen In polynomieller Zeit lässen sich nicht exakte Lösungen von NP-harten Problemen berechnen. Approximationsalgorithmen

Mehr

mit. Wir definieren (Skalarprodukt = Winkel).

mit. Wir definieren (Skalarprodukt = Winkel). 1 Grundidee des Simplexverfahrens (von George Dantzig): Man bestimmt eine beliebige Ecke (Extremalpunkt) einer Lösungsmenge eines Ungleichungssystems. Nun geht man an den Kanten vom Punkt entlang und kontrolliert

Mehr

1 Pfade in azyklischen Graphen

1 Pfade in azyklischen Graphen Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 1 1 Pfade in azyklischen Graphen Sei wieder ein gerichteter Graph mit Kantengewichten gegeben, der diesmal aber keine Kreise enthält, also azyklisch ist.

Mehr

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik Prof. Dr. A. Taraz, Dipl-Math. A. Würfl, Dipl-Math. S. König Weihnachtsblatt Aufgabe W.1 Untersuchen Sie nachstehenden

Mehr

Operations Research. Ganzzahlige lineare Programme. ganzzahlige lineare Programme. Ganzzahlige lineare Programme. Rainer Schrader. 25.

Operations Research. Ganzzahlige lineare Programme. ganzzahlige lineare Programme. Ganzzahlige lineare Programme. Rainer Schrader. 25. Operations Research Rainer Schrader Ganzzahlige lineare Programme Zentrum für Angewandte Informatik Köln 25. Juni 2007 1 / 49 2 / 49 Ganzzahlige lineare Programme Gliederung ganzzahlige lineare Programme

Mehr

VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)

VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) 53 Wiederholung! Basis-Startlösung berechnet! Künstliche Variablen! Erkennung von unlösbaren Problemen! Eliminierung

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 02.07.2015 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Der Fünf-Farben-Satz. Lukas Schweighofer. Feb.2014

Der Fünf-Farben-Satz. Lukas Schweighofer. Feb.2014 Der Fünf-Farben-Satz Lukas Schweighofer Feb.2014 1 Contents 1 Vorwort 3 2 Graphentheoretische Grundlagen 4 3 Satz 2 (Eulerscher Polyedersatz) 8 4 Satz 3 9 5 Der Fnf-Farben-Satz 10 5.1 Beweis 1..............................

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008 Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 9

Mehr

3.4 Exakte Verfahren für (Gemischt-) Ganzzahlige Optimierung

3.4 Exakte Verfahren für (Gemischt-) Ganzzahlige Optimierung 32KAPITEL 3. NP-SCHWIERIGE KOMBINATORISCHE OPTIMIERUNGSPROBLEME n Anzahl der Ungleichungen 3 8 4 20 5 40 6 910 7 87.472 8 >488.602.996 Tabelle 3.1: Anzahl der Ungleichungen des LOP-Polytops für n 8 3.4

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Optimierung. Vorlesung 02

Optimierung. Vorlesung 02 Optimierung Vorlesung 02 LPs in kanonischer Form Für i = 1,, m und j = 1,, d seien c j, b i und a ij reele Zahlen. Gesucht wird eine Belegung der Variablen x 1,, x d, so das die Zielfunktion d c j x j

Mehr

Graphentheorie. Perfekte Graphen. Perfekte Graphen. Perfekte Graphen. Rainer Schrader. 22. Januar 2008

Graphentheorie. Perfekte Graphen. Perfekte Graphen. Perfekte Graphen. Rainer Schrader. 22. Januar 2008 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 22. Januar 2008 1 / 47 2 / 47 eine Clique in G ist ein induzierter vollständiger Teilgraph Gliederung α- und χ-perfektheit Replikation

Mehr

Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis. Station 3: Das Matching-Polytop

Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis. Station 3: Das Matching-Polytop Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis Barbara Wilhelm Michael Ritter Station 3: Das Matching-Polytop Diskutieren Sie folgende Fragen in der

Mehr

Effiziente Algorithmen II

Effiziente Algorithmen II 10. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 19.01.2015 Aufgabe Q Betrachten Sie das Knapsackpolytop P = conv(v ) mit V = {x n i=1 a ix i α} {0, 1} n für gegebenes α und a i 0 (insbesondere ist

Mehr

3-Färbbarkeit. Korollar: Zu Entscheiden, ob ein Graph k-färbbar ist mit k 3, ist NP-vollständig.

3-Färbbarkeit. Korollar: Zu Entscheiden, ob ein Graph k-färbbar ist mit k 3, ist NP-vollständig. 3-Färbbarkeit Wir wissen bereits, dass in polynomieller Zeit entschieden werden kann, ob ein Graph 2-färbbar ist. Satz: Zu Entscheiden, ob ein Graph 3-färbbar ist, ist NPvollständig. Beweis: Reduktion

Mehr

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik. a 0 = 0 =

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik. a 0 = 0 = Lösungsskizzen zu den Klausuraufgaben zum Kurs 4 Algorithmische Mathematik 4KSL3 6 Punkte Aufgabe. Die Folge (a n ) n N natürlicher Zahlen a n sei rekursiv definiert durch a 0 = 0, a n = a n + n falls

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Planare Graphen, Färbung)

WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Planare Graphen, Färbung) WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Planare Graphen, Färbung) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr

Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis. Station 1: Facetten des Knapsack-Polytops

Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis. Station 1: Facetten des Knapsack-Polytops Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis Barbara Wilhelm Michael Ritter Station 1: Facetten des Knapsack-Polytops Diskutieren Sie folgende Fragen

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante

Mehr

Eigenschaften von LPs

Eigenschaften von LPs 2 Lineare Programmierung Eigenschaften von LPs Eigenschaften von LPs Definition 24 Eine Menge K IR n heißt konvex gdw für je zwei Punkte Punkte x (1) K und x (2) K auch jeder Punkt mit 0 λ 1 zu K gehört

Mehr

OR für Wirtschaftsingenieure. Übungsserie 7: Färbungen von Graphen

OR für Wirtschaftsingenieure. Übungsserie 7: Färbungen von Graphen HTWD, Fakultät Informatik/Mathematik Prof. Dr. M. Voigt Operations Research allgemeine Optimierungsmethoden OR für Wirtschaftsingenieure Übungsserie : Färbungen von Graphen Aufgabe 1 : Wieviele Farben

Mehr

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen Kapitel 4 Optimierungsalgorithmen Gunnar Klau Institut für Computergraphik und Algorithmen 1 Gliederung Kombinatorische vs. Ganzzahlige Optimierung Exakte Verfahren Branch-and-Bound Schnittebenenverfahren

Mehr

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme 10 Matching-Probleme 10.1 Definition von Matching-Probleme Definition 21 [2-dimensionales Matching] Sei G = (V, E) ein ungerichteter Graph und E E. E ist ein Matching, wenn für alle Kantenpaare e 1, e

Mehr

1 Der Simplex Algorithmus I

1 Der Simplex Algorithmus I 1 Nicoletta Andri 1 Der Simplex Algorithmus I 1.1 Einführungsbeispiel In einer Papiermühle wird aus Altpapier und anderen Vorstoffen feines und grobes Papier hergestellt. Der Erlös pro Tonne feines Papier

Mehr

Ganzzahlige lineare Programme

Ganzzahlige lineare Programme KAPITEL 5 Ganzzahlige lineare Programme Wir betrachten nun Optimierungsprobleme vom Typ (42) min c T x s.d. Ax = b, x 0, x ganzzahlig, wobei die Matrix A R m n und die Vektoren c R n, b R m gegeben seien.

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 4. Januar 2011 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca [email protected] 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES

Mehr

KARL-FRANZENS-UNIVERSITÄT GRAZ. Seminar aus Reiner Mathematik. Die Museumswächter. Krupic Mustafa Wintersemester 2013/14

KARL-FRANZENS-UNIVERSITÄT GRAZ. Seminar aus Reiner Mathematik. Die Museumswächter. Krupic Mustafa Wintersemester 2013/14 KARL-FRANZENS-UNIVERSITÄT GRAZ Seminar aus Reiner Mathematik Die Museumswächter Krupic Mustafa Wintersemester 2013/14 Inhaltsverzeichnis 2 Inhaltsverzeichnis 1 Einleitung 3 2 Museumswächter-Satz 6 2.1

Mehr

Kapitel 9: Lineare Programmierung Gliederung

Kapitel 9: Lineare Programmierung Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z} u v u v z w z w y x y x Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z} Definition 0.0.1 (Vertex Cover (VC)). Gegeben: Ein ungerichteter

Mehr

Definition : Diechromatische Zahl eines Graphen G ist die kleinste Anzahl chromatische Zahl von Farben für eine zulässige Färbung.

Definition : Diechromatische Zahl eines Graphen G ist die kleinste Anzahl chromatische Zahl von Farben für eine zulässige Färbung. 4 Definition : Eine zulässige Färbung ist eine Färbung der Knoten des ( un- zulässige Färbung gerichteten ) Graphen, so daß je zwei adjazente Knoten verschiedene Farben haben. Trivial ist, daß n verschiedene

Mehr

Graphentheorie. Zufallsgraphen. Zufallsgraphen. Zufallsgraphen. Rainer Schrader. 23. Januar 2008

Graphentheorie. Zufallsgraphen. Zufallsgraphen. Zufallsgraphen. Rainer Schrader. 23. Januar 2008 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 3. Januar 008 1 / 45 / 45 Gliederung man könnte vermuten, dass ein Graph mit großer chromatischer Zahl einen dichten Teilgraphen enthalten

Mehr

Planare Graphen und Färbungen. Kapitel 7. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296

Planare Graphen und Färbungen. Kapitel 7. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296 Kapitel 7 Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/19 256 / 296 Inhalt Inhalt 7 Färbungen Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/19 257 / 296 Jordankurve Zentrale Frage

Mehr

Die duale Simplexmethode zur Lösung rein ganzzahliger linearer Programme

Die duale Simplexmethode zur Lösung rein ganzzahliger linearer Programme Kapitel 11 Die duale Simplexmethode zur Lösung rein ganzzahliger linearer Programme Wir betrachten folgendes Optimierungsproblem z = c T x min! Ax = b (11.1) (11.2) x j ganz für j = 1,..., n 1 n, (11.3)

Mehr

Der Branching-Operator B

Der Branching-Operator B Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte

Mehr

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung Teilnehmer/innen: Markus Dahinten, Graf Münster Gymnasium Bayreuth Robert Fay, Herder Gymnasium Berlin Falko

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 16 Programm: Einführung

Mehr

8. Konvexe Polytope. Tobias Boelter. Mittwoch, 5. März TopMath Frühlingsschule

8. Konvexe Polytope. Tobias Boelter. Mittwoch, 5. März TopMath Frühlingsschule 1 / 31 8. Konvexe Tobias Boelter TopMath Frühlingsschule Mittwoch, 5. März 2014 2 / 31 Es können auch nicht konvexe untersucht werden, wir beschränken uns hier aber auf konvexe. Mit einem Polytop ist hier

Mehr

Vorlesung Lineare Optimierung (Sommersemester 2010)

Vorlesung Lineare Optimierung (Sommersemester 2010) 1 Vorlesung Lineare Optimierung (Sommersemester 2010) Kapitel 6: Die Geometrie der Linearen Optimierung Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 15. Juni 2010) Gliederung 2 Das

Mehr

Dualitätssätze der linearen Optimierung

Dualitätssätze der linearen Optimierung Kapitel 9 Dualitätssätze der linearen Optimierung Sei z = c T x min! Ax = b 9.1 x 0 mit c, x R n, b R m, A R m n ein lineares Programm. Definition 9.1 Duales lineares Programm. Das lineare Programm z =

Mehr

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn Optimierung Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung 1 Assignment Problem (Zuordnungsproblem) Gewichtetes Perfektes Bipartites Matching agents Costs tasks Weise jedem Agenten genau

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung

Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung Dr. Nico Düvelmeyer Freitag, 24. Juni 2011 1: 1 [1,1] Inhaltsübersicht für heute 1 Dualität Motivation Duales LP Dualitätssätze

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

Färbungen von Graphen: Die chromatische Zahl und der Satz von Brooks

Färbungen von Graphen: Die chromatische Zahl und der Satz von Brooks Färbungen on Graphen: Die chromatische Zahl und der Satz on Brooks Florian Seerin Heinrich-Heine-Uniersität Düsseldorf Mathe-Akademie 2018 Definition. Ein (endlicher) Graph besteht aus einer (endlichen)

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Isomorphie von Bäumen

Isomorphie von Bäumen Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................

Mehr

Kapitel 13. Lineare Gleichungssysteme und Basen

Kapitel 13. Lineare Gleichungssysteme und Basen Kapitel 13. Lineare Gleichungssysteme und Basen Matrixform des Rangsatzes Satz. Sei A eine m n-matrix mit den Spalten v 1, v 2,..., v n. A habe den Rang r. Dann ist die Lösungsmenge L := x 1 x 2. x n x

Mehr

1 Einführung in Lineare Programme und Dualität

1 Einführung in Lineare Programme und Dualität Gliederung Inhaltsverzeichnis 1 Einführung in Lineare Programme und Dualität 1 1.1 Lineare Programme......................... 1 1.2 Dualität............................... 2 2 Grundlegende Sätze und Definitionen

Mehr

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung Kapitel : Fallstudie Bipartite Graphen Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und. Minimal spannende Bäume. Kürzeste Wege 6. Traveling Salesman

Mehr

Teil I. Lineare Optimierung

Teil I. Lineare Optimierung Teil I Lineare Optimierung 5 Kapitel 1 Grundlagen Definition 1.1 Lineares Optimierungsproblem, lineares Programm. Eine Aufgabenstellung wird lineares Optimierungsproblem oder lineares Programm genannt,

Mehr

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann Grundlagen der Informatik Kapitel 20 Harald Krottmaier Sven Havemann Agenda Klassen von Problemen Einige Probleme... Approximationsalgorithmen WS2007 2 Klassen P NP NP-vollständig WS2007 3 Klasse P praktisch

Mehr

Kantengraphen und Planare Graphen. Seminararbeit

Kantengraphen und Planare Graphen. Seminararbeit Kantengraphen und Planare Graphen Seminararbeit in Mathematisches Seminar für LAK 621.378 SS 2018 vorgelegt von Anna Maria Gärtner bei: Baur, Karin, Univ.-Prof. Dr.phil. Graz, 2018 Inhaltsverzeichnis 1

Mehr

Schnittebenenverfahren von Gomory. Stefan Allescher 30. Juni 2005

Schnittebenenverfahren von Gomory. Stefan Allescher 30. Juni 2005 Schnittebenenverfahren von Gomory Stefan Allescher 30. Juni 2005 Inhaltsverzeichnis 1. Grundprinzip 2. Das Verfahren von Gomory 2.1. Vorgehen 2.2. Beweis der Endlichkeit 2.3. Algorithmische Durchführung

Mehr

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1 Lösungen zu den Übungsaufgaben im Kapitel 4 des Lehrbuches Operations Research Deterministische Modelle und Methoden von Stephan Dempe und Heiner Schreier Aufgabe 1: Berechnen Sie für den in Abbildung

Mehr

In diesem Skript werden folgende Begriffe anhand von einfachen Beispielen eingeführt:

In diesem Skript werden folgende Begriffe anhand von einfachen Beispielen eingeführt: Färbungsprobleme Einstieg In diesem Skript werden folgende Begriffe anhand von einfachen Beispielen eingeführt: Graphentheorie Der Vier-Farben-Satz Algorithmen Komplexität von Algorithmen NP-Probleme Die

Mehr

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2 1 Graphen Definition: Ein Graph G = (V,E) setzt sich aus einer Knotenmenge V und einer (Multi)Menge E V V, die als Kantenmenge bezeichnet wird, zusammen. Falls E symmetrisch ist, d.h.( u,v V)[(u,v) E (v,u)

Mehr

Grundlagen der Optimierung. Übung 6

Grundlagen der Optimierung. Übung 6 Technische Universität Chemnitz Chemnitz, 2. November 24 Prof. Dr. R. Herzog, J. Blechschmidt, A. Schäfer Abgabe am 28. November 24 Grundlagen der Optimierung Übung 6 Aufgabe 2: Verschiedene Verfahren

Mehr

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Bäume und Wälder Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Ida Feldmann 2-Fach Bachelor Mathematik und Biologie 6. Fachsemester Inhaltsverzeichnis Einleitung 1 1. Bäume

Mehr

1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler

1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler 1 Matroide 1.1 Definitionen und Beispiele 1. Definition (Unabhängigkeitssystem): Ein Mengensystem

Mehr

Lineare Optimierung und Simplex-Algorithmus

Lineare Optimierung und Simplex-Algorithmus Lineare Optimierung und Simplex-Algorithmus Problemstellung Beispiel : Unser Unternehmen verfügt über drei Maschinen A, B, C, mit denen zwei verschiedene Produkte P, P2 hergestellt werden. Die Maschinen

Mehr

Einführung in die Mathematik des Operations Research

Einführung in die Mathematik des Operations Research Universität zu Köln Mathematisches Institut Prof. Dr. F. Vallentin Einführung in die Mathematik des Operations Research Sommersemester 3 en zur Klausur (7. Oktober 3) Aufgabe ( + 3 + 5 = Punkte). Es sei

Mehr

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7 Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt

Mehr

Graphen. Definitionen

Graphen. Definitionen Graphen Graphen werden häufig als Modell für das Lösen eines Problems aus der Praxis verwendet, wie wir im Kapitel 1 gesehen haben. Der Schweizer Mathematiker Euler hat als erster Graphen verwendet, um

Mehr

Optimierung. Vorlesung 04

Optimierung. Vorlesung 04 Optimierung Vorlesung 04 Übungsbetrieb Mangels Teilnehmer keine Dienstagsübung mehr. Prüfung laut Paul: Di, 10. Feb. 2015 00:01-23:59 2 Was bisher geschah LP: Maximiere c T x unter Ax = b, x 0. Basis:

Mehr

Unendliche Graphen. Daniel Perz 24. Dezember Definition 1. Ein Graph G heißt lokal endlich, wenn alle Knotengrade endlich sind.

Unendliche Graphen. Daniel Perz 24. Dezember Definition 1. Ein Graph G heißt lokal endlich, wenn alle Knotengrade endlich sind. Unendliche Graphen Daniel Perz 24. Dezember 2011 1 Definition Definition 1. Ein Graph G heißt lokal endlich, wenn alle Knotengrade endlich sind. Definition 2. Ein Graph G=(V,E) heißt Strahl, wenn gilt

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 21 1 Approximationsalgorithmen auf

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

Bipartite Graphen. Beispiele

Bipartite Graphen. Beispiele Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten

Mehr

Wir gewichten die Kanten von G wie folgt: Kante e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 d(e i )

Wir gewichten die Kanten von G wie folgt: Kante e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 d(e i ) Prof. Dr. U. Faigle J. Voss SS 2011 12. Übung zur Einführung in die Mathematik des Operations Research Dieses Übungsblatt wird nicht mehr gewertet. Aufgabe 1: Sei G = (V, E) ein gerichteter Graph und x

Mehr

Heuristische Verfahren

Heuristische Verfahren Heuristische Verfahren Bei heuristischen Verfahren geht es darum in polynomieller Zeit eine Näherungslösung zu bekommen. Diese kann sehr gut oder sogar optimal sein, jedoch gibt es keine Garantie dafür.

Mehr

Aufgaben zur Klausurvorbereitung

Aufgaben zur Klausurvorbereitung Vorlesung Graphen und Optimierung Sommersemester 2013/14 Prof. S. Lange Aufgaben zur Klausurvorbereitung Hier finden Sie eine Reihe von Übungsaufgaben, die wir an den beiden Vorlesungsterminen am 29.01.2014

Mehr

NP-vollst. u. NP-äquiv. Probleme

NP-vollst. u. NP-äquiv. Probleme NP-vollst. u. NP-äquiv. Probleme Literatur: Kapitel K6. Ziel: Weitere Probleme kennen lernen (und damit weitere Basisprobleme für eigene Reduktionen) Weitere Beispiele für NP-Vollständigkeitsbeweise kennen

Mehr

Mathematik II für Studierende der Informatik (Analysis und lineare Algebra) im Sommersemester 2018

Mathematik II für Studierende der Informatik (Analysis und lineare Algebra) im Sommersemester 2018 (Analysis und lineare Algebra) im Sommersemester 2018 15. April 2018 1/46 Die Dimension eines Vektorraums Satz 2.27 (Basisergänzungssatz) Sei V ein Vektorraum über einem Körper K. Weiter seien v 1,...,

Mehr

Technische Universität München Zentrum Mathematik. Übungsblatt 7

Technische Universität München Zentrum Mathematik. Übungsblatt 7 Technische Universität München Zentrum Mathematik Mathematik (Elektrotechnik) Prof. Dr. Anusch Taraz Dr. Michael Ritter Übungsblatt 7 Hausaufgaben Aufgabe 7. Für n N ist die Matrix-Exponentialfunktion

Mehr