Universität zu Köln Mathematisch-Naturwissenschaftliche Fakultät Zentrum für Angewandte Informatik Seminar: Ausgewählte Kapitel des Operations Research WS 07/ 08 Dozent: Prof. Dr. R. Schrader Referent: Sebastian Cholewa Zu Modellierungs- und Lösungs-Techniken für Frequenz-Zuweisungs-Probleme Methoden zur Optimierung bei Frequenz-ZuweisungsProblemen (Frequency-Assignment-Problem = FAP) 1 Inhaltsverzeichnis 1. Einleitung................................................................................................................................ 3 2. Methoden zur Optimierung der FAPs..................................................................................... 4 2.1 Problemstellung................................................................................................................ 4 2.2. Branch-and-Bound........................................................................................................... 5 2.3 Schnittebenenverfahren.....................................................................................................9 2.4 Branch-and-Cut............................................................................................................... 11 3. Die FAPs und zugehörigen Optimierungsprobleme............................................................. 13 3.1 F-FAP..............................................................................................................................13 3.1.1 Branch-and-Bound................................................................................................... 13 3.1.2 Schnittebenenverfahren............................................................................................14 3.2 Max-FAP und MB-FAP..................................................................................................15 3.3 MO-FAP..........................................................................................................................15 3.4 MS-FAP.......................................................................................................................... 16 3.5 MI-FAP........................................................................................................................... 18 4. Zusammenfassung.................................................................................................................19 2 1. Einleitung Diese Ausarbeitung bezieht sich auf das vierte Kapitel des Artikels „Models and solution techniques for frequency assignment problems“1 und stellt in der Gesamtdarstellung den zweiten Teil dar, in welchem die Optimierungsmethoden zu den verschiedenen FAPs2 vorgestellt werden. Aus diesem Grunde gliedert sich die Arbeit wie folgt: Im ersten Teil werden die verschiedenen Methoden vorgestellt, um die Optimierungsprobleme der FAPs zu lösen. Hierbei sollen neben der groben Struktur und Vorgehensweise bei den Methoden, auf anschauliche Beispiele eingegangen werden. Im zweiten Teil stehen die FAPs im Vordergrund. Hier werden die Probleme aus dem ersten Teil der Gesamtdarstellung aufgegriffen. Es soll verdeutlicht werden, welche Methoden für bestimmte FAPs am geeignetsten sind, und wie Ansätze oder einfache Beispiele aussehen können. Wenn man einen Blick in den oben erwähnten Artikel von Aardel wirft, wird man schnell merken, dass dieser nur den zweiten Teil dieser Ausarbeitung beinhaltet, d.h. zu den verschiedenen FAPs werden die Modelle und Methoden lediglich vorgestellt und Beispiele aufgezeigt. Im Zentrum dieser Arbeit hingegen stehen die speziellen Methoden, die aus dem Bereich des Operations Research und der Informatik stammen, und ohne deren Kenntnis man das vierte Kapitel des Artikels kaum verstehen kann. Daher gliedert sich diese Arbeit wie oben beschrieben. Für den Bereich „Schnittebenenverfahren“ ist u.a. das fünfte Kapitel der „Operations Research“-Vorlesung von Prof. Dr. Schrader aus dem SS 07, und für die Bereiche „Problemstellung“ und „Suchalgorithmen im Baum“, das erste Kapitel der „Graphentheorie“-Vorlesung, ebenfalls von Prof. Dr. Schrader aus dem laufenden WS 07/08, als Quelle verwendet werden. 1 U.a. von Aardel vom 12.05.2007. Diesen und viele weitere Artikel aus dem Gebiet des Operations Research findet man auf der Interentseite: http://fap.zib.de. 2 = Frequency Assignment Problems = Frequenz-Zuweisungs-Probleme. Diese Abkürzung wird in der gesamten Ausarbeitung für dieses Problem verwendet. 3 2. Methoden zur Optimierung der FAPs In diesem ersten Teil sollen die verschiedenen Optimierungsmethoden vorgestellt werden. Dabei gliedert sich dieser Abschnitt in die Bereiche „Branch-and-Bound“, „Schnittebenenverfahren“ und „Branch-and-Cut“, was die verschiedenen Methoden zur Optimierung der FAPs sind. Zuvor soll jedoch eine kurze Einführung in die Problemstellung gegeben werden. 2.1 Problemstellung Wie auch im Frequenz-Zuweisungs-Problem, geht es bei der Optimierung darum, eine Zielfunktion so zu optimieren, dass ein zugehöriges Ungleichungssystem optimal gelöst wird. Ein Standard-Optimierungsproblem sieht daher wie folgt aus: max cTx (1) s.d. Ax ≤ b Dieses Optimierungsproblem wird mehrfach im Themengebiet des Operations Research behandelt und dient als Ausgangspunkt in den verschiedensten „alltäglichen“ Optimierungsproblemen, so auch beim Frequenz-Zuweisungs-Problem. Aus der OR-Vorlesung ist bereits bekannt, dass man dieses Lineare Programm (LP) „leicht“ mit dem Simplex-Algorithmus lösen kann. Allerdings liefert dieser nicht ganzzahlige Lösungen, welche wir jedoch für (1) annehmen wollen, d.h. es muss gelten: x ∈ n . Das ganzzahlige Lineare Programm wird daher auch mit (IP) [= integer linear program] bezeichnet. Übertragen auf das FAP wird deutlich, dass nur ganzzahlige Lösungen relevant sind. So können einer Antenne zum Beispiel eine, zwei oder vier Frequenzen zugewiesen werden, jedoch nicht 2 12 . Auch bei anderen Anwendungen wird die Ganzzahligkeit der Lösung gefordert. So lassen sich verschiedene Optimierungsprobleme wie (1) darstellen, variieren jedoch in der Optimierung der Zielfunktion oder den Bedingungen der Ungleichung. Eine ähnliche Darstellungen lautet daher wie folgt: (2) min cTx s.d. Ax = b, x ≥ 0, x ganzzahlig 4 In (1) und (2) gilt Folgendes: A ∈ für (1) mit P(A,b) = {x ∈ n mxn , c∈ n und b ∈ m . Die Lösungsmenge wird meist | Ax ≤ b}, für (2) mit P(A,b) = {x ∈ n | Ax = b, x ≥ 0} bezeichnet. Als Beispiel hierfür kann folgendes (IP) dienen: [*] max 4x1 + 5x2 + 5x3 + 2x4 s.d. 33x1 + 49x2 + 51 x3 + 22x4 ≤ 120 x1, x2, x3, x4 ∈ + 2.2. Branch-and-Bound Da, wie bereits oben erwähnt, der Simplexalgorithmus keine ganzzahlige Lösung des LPs liefert, müssen weitere Strategien oder Methoden eingesetzt werden. Eine davon ist die ‚Branch-and-Bound’-Methode. „Branch“ bedeutet „Verzweigung“ oder „verzweigen“, „Bound“ „Grenze“, „Schranke“ oder „begrenzen“ und „beschränken“. Zunächst geht es darum, einen möglichen Lösungsbaum für das (LP) aufzubauen. Nachdem der Simplexalgorithmus für ein beliebiges x ausgeführt worden ist, und x ∉ n , betrachtet man alle Lösungsmöglichkeiten der xi mit i = 1,...n, wobei man iterativ bei x1 beginnt und alle Lösungsmöglichkeiten für x1 in einen Baum einträgt. Für die entsprechenden x1 bestimmt man nun die zugehörigen Lösungsmöglichkeiten für x2 und trägt diese wieder im selben Baum ein. Dies führt man für alle xi bis i=n durch, so dass man einen Baum erhält, der bei x1 beginnt und bei xn endet, und jeweils die Möglichkeiten der zugehörigen Lösung für x enthält. Der Lösungsbaum gleicht letztlich einem Entscheidungsbaum, bzw. Auswahlbaum, dessen Wege, bzw. Pfade, die verschiedenen Lösungen enthalten. So stehen, wenn man sich für ein bestimmtes und damit festes x1 entschieden hat, nur eine bestimmte Auswahl an möglichen Lösungen für x2 zur Verfügung, und so weiter. Für das oben erwähnte Beispiel [*] lässt sich also folgender Baum finden: 5 In diesem ersten Abschnitt der „Branch-and-Bound“-Methode wird das Optimierungsproblem in mehrere kleine Probleme aufgeteilt. Hier findet das so genannte „branching“ oder „verzweigen“ statt, das dem ersten Begriff „Branch“ zugewiesen wird. Da man alle möglichen Lösungen für x in einem Baum untergebracht hat, ist das Problem dahingehend vereinfacht worden, dass man mit einer sinnvollen Baumdurchmusterung die einzelnen Lösungen betrachten kann, um schließlich durch Ausmusterung bestimmter Lösungen, also bestimmter „Zweige“, eine optimale Lösung zu finden. An dieser Stelle sollen kurz drei verschiedene Baumdurchmusterungs-Algorithmen vorgestellt werden: „Depth-first-search“ (= Tiefensuche) bezeichnet die Suche, bei der man einen möglichst spät markierten Knoten verlässt. Man versucht so schnell wie möglich in die Tiefe des Baumes vorzudringen, indem man von einem Startknoten x, der noch nicht die gewünschte Lösung liefert, einen Nachbarn N(x) wählt und überprüft, ob dieser die optimale Lösung liefert. Tut es dieser auch nicht, wählt man von diesem Nachbarn wieder einen Nachbarn N(N(x)) und so weiter. Gerät man in eine Sackgasse geht man so viele Knoten zurück, bis zu einem Knoten, 6 dessen Nachbarn man noch nicht besucht hat. Hier geht es darum möglichst schnell auf eine Lösung zu stoßen, ohne jedoch etwas über deren Qualität aussagen zu können. Mit jedem Schritt wird eine Ebene tiefer untersucht. „Breadth-first-search“ (= Breitensuche) versucht hingegen einen möglichst früh markierten Knoten zu verlassen. Von einem Startknoten x werden alle Nachbarn N(x) betrachtet. Ist der gewünschte Knoten noch nicht erreicht, werden alle Nachbarn der Nachbarn, nämlich N(N(x)) betrachtet, und so weiter. Eine zulässige Lösung wird oftmals spät gefunden, ist jedoch meist besser in ihrer Qualität. Der Suchbaum wird Ebene für Ebene durchsucht. „Best-first-search“ versucht bereits ausgehend von einem Startknoten x die besten Nachbarn N(x) abzuschätzen, und von diesen Nachbarn N(x) ausgehend wieder die optimalen Nachbarn N(N(x)) zu besuchen. Es wird also eine Auswahl zwischen den Teilproblemen getroffen und ein geeignetes ausgewählt. Hier spielt das „Bounding“, auf das wir im folgenden eingehen, eine wichtige Rolle und dient als Kriterium für die Auswahl. Ein Teilproblem wird 7 ausgewählt, das die beste (untere) Schranke vorweist, wodurch sich eine qualitative Durchmusterung ergibt. Allgemein meint „Best-first-search“, dass ein Knoten ausgewählt wird, der die besten Kosten aufweist. Jedoch bedarf es des folgenden erklärenden Abschnittes, um „Best-first-search“ gut zu verstehen. Beim Durchmustern stößt der Algorithmus auf nicht sinnvolle Lösungen, bzw. nicht optimale Lösungen, die „ausgemustert“ werden können, wodurch sich neue Einschränkungen für eine optimale Lösung ergeben, die „Schranken“ oder „Grenzen“ bilden. Mit anderen Worten: Die optimale Lösung kann weiterhin „eingeschränkt“ oder „begrenzt“ werden, was auf den zweiten zentralen Begriff „Bound“ verweist. Hier versucht man bestimmte Zweige des Baumes „abzuschneiden“. Zunächst werden dabei zwei Schranken berechnet und miteinander verglichen. Man muss hierbei zwischen zwei Optimierungsproblemen unterscheiden: Zum einen ein (LP), bei dem die Zielfunktion maximiert werden soll [z.B. (1)] und zum anderen ein (LP), bei dem diese minimiert werden soll [z.B. (2)]. Sei o.B.d.A. ein Optimierungsproblem gegeben, dessen Zielfunktion zu minimieren ist. In diesem Fall findet man obere Schranken durch jede zulässige Lösung. Hierfür kann zum Beispiel vorher eine Heuristik verwendet werden. Allerdings sind die unteren Schranken die qualitativ bessern, weil sie mehr über die Optimallösung aussagen und zu einer schnelleren Lösung führen, da sie das „Abschneiden“ von Zweigen ermöglichen. Untere Schranken ergeben sich, indem man ein „einfacher“ zu lösendes Optimierungsproblem findet, das „kleiner“ als das Bisherige ist. Sei zum Beispiel f(x) das gegebene Optimierungsproblem, das zu minimieren sei. Man muss nun eine Funktion g finden, für die gilt: g(x) ≤ f(x), ∀ x ∈ D (D ist dabei eine diskrete Menge, d.h. eine nichtleere, endliche oder abzählbare Menge). Dabei sei E ⊃ D und das Minimierungsproblem für g(x) mit x ∈ E leicht lösbar und besitze die Optimallösung x*. Dann folgt: f(x) ≥ g(x*) ∀ x ∈ D. So lässt sich eine untere Schranke für das Optimierungsproblem finden. Untere Schranken lassen sich insbesondere bei Teilproblemen finden, in die das Optimierungsproblem nach dem „Branch“ aufgespaltet worden ist. Wenn man zum Beispiel eine zulässige Lösung x° gefunden hat, und eine untere Schranke eines Teilproblems größer ist als f(x°), braucht man dieses Teilproblem nicht weiter zu betrachten, weil es keine Optimallösung mehr liefern kann. Allerdings kann man untere Schranken auch finden, indem man einigen Variablen, z.B. x1 und x2, fixe Werte zuweist, und nur noch Teil-Optimierungsprobleme mit Hilfe das SimplexAlgorithmus löst. So erhält man für Teilprobleme untere Schranken. Diese Möglichkeit lässt 8 sich auf die verschiedensten Teilprobleme und verschiedene Variablen übertragen, so dass man auf verschiedene gültige untere Schranken für Teilprobleme stößt. Gegebenenfalls kann man dann ganze Zweige des Lösungsbaumes abschneiden, wie unten das Beispiel zeigt. Greift man das Beispiel [*] wieder auf, ergibt sich nach dem „Bound“ folgender Baum: 2.3 Schnittebenenverfahren Die Grundidee besteht darin, das (LP) mit Hilfe des Simplex-Algorithmus so zu betrachten, dass, sofern keine ganzzahlige Lösung gefunden wird, durch Hinzufügen von weiteren Ungleichungen eine ganzzahlige zulässige Lösung gefunden wird. Eine geometrische Betrachtung der Strategie, kann dessen Vorgehensweise verdeutlichen. Die erste nicht Lösungsmenge P, die man mit dem Simplex-Algorithmus findet, kann als ein konvexes Polyeder [= Durchschnitt von endlich vielen Halbräumen, die sich aus den Ungleichungen ergeben] betrachtet werden. Dabei ergeben die jeweiligen Zeilen des Ungleichungssystems je eine einschränkende Hyperebene des Polyeders. P sieht dann meist wie folgt aus: P(A,b) = conv {x ∈ n | Ax ≤ b}, mit A ∈ mxn , c∈ n und b ∈ m . P enthält so auch alle zulässigen ganzzahligen Lösungen des LPs. Jedoch sind nicht alle Lösungen von P zulässig, weil nicht alle ganzzahlig und optimal sind. Folgendes (IP) kann als Beispiel dienen: 9 max s.d. (**) y -x + y ≤ 1 3x + 2y ≤ 12 2x + 3y ≤ 12 y ∈ x, + (**) ergibt folgende geometrische Interpretation: Nachdem man so das P bestimmt hat, versucht man weitere einschränkende Hyperebenen hinzuzufügen, die P zu P’ so verkleinern, dass alle ganzzahligen Lösungen von P auch in P’ enthalten sind, jedoch nicht alle Lösungen von P. Mit anderen Worten: P’ beinhaltet alle Lösungen des (IP), jedoch nicht mehr die optimale (nicht-ganzzahlige) Lösung von (LP). Die Schnittebenen sind somit nichts anderes als zulässige (obere) Schranken für das (IP). Durch erneute Lösung, erhält man alle zulässigen Lösungen für P’. Sofern man auch hier nicht auf die gewünschte ganzzahlige und optimale Lösung stößt, führt man des Verfahren durch abwechselndes Hinzufügen von Schnittebenen und Lösen fort. Durch Iteration dieses Verfahrens ergibt sich die Gomory-Folge P ⊇ P’ ⊇ P’’ ⊇ ... ⊇ Pl. Das erhaltene Pl ist schließlich das (konvexe) Polyeder, das die optimale ganzzahlige Lösung enthält. Für das Beispiel (**) ergibt sich z.B. folgende erste Schnittebene: 10 Im folgenden wird der Algorithmus kurz zusammengefasst, der so auch in der OR-Vorlesung zu finden ist: 1.Löse die LP-Relaxierung des Problems 2.sei x* die gefundene Optimallösung 3.ist x* ganzzahlig, Stopp 4.andernfalls sei aTx ≤ b eine Schnittebene, die x* abschneidet 5.füge die Ungleichung zum LP hinzu und gehe zu 1. Bei komplexeren und mehrdimensionalen Problemen ist nicht sofort klar, welche Schnittebenen man einsetzen soll. Daher hat man verschiedene Klassen von Schnittebenen festgelegt, die sich jeweils für bestimmte Verfahren oder Methoden in der Forschung durchgesetzt haben. Diese Vorzustellen würde jedoch den Rahmen dieser Arbeit sprengen. 2.4 Branch-and-Cut Die beiden oben aufgeführten Verfahren „Branch-and-Bound“ und das „Schnittebenenverfahren“, haben sich jeweils alleine angewendet als nicht optimal erwiesen. So bedarf das „Branch-and-Bound“ bei großen Problemen eines enormen Rechen-, Speicherund Verwaltungsaufwandes, da viele Teilprobleme betrachtet werden müssen. Das „Schnittebenenverfahren“ hat zwei Probleme: Zum Einen wird das (LP) durch Hinzufügen von weiteren Schnittebenen unter Umständen sehr groß. Zum Anderen enthalten die vorgeschlagenen Ungleichungen oft sehr viele Nicht-Null-Koeffizienten, was zu numerischen Instabilitäten (!) bei der Lösung des Optimierungsproblems führt. 11 Aus diesem Grund sind beide Verfahren zur „Branch-and-Cut“-Methode zusammengefasst worden. Die Methode beginnt mit der Lösung des LPs mit Hilfe des Simplexalgorithmus, um anschließend mittels des „Schnittebenenenverfahrens“ Schnittebenen zur LP-Relaxierung hinzuzufügen. Dann wird versucht mit Hilfe des „Branch-and-Bound“ die optimale Lösung zu bestimmen, wobei auch hier noch weitere hilfreiche Schnittebenen eingefügt werden können. So lassen sich zum Beispiel für Teilprobleme zusätzliche Schnittebenen finden, die ein „abschneiden“ eines Zweiges ermöglichen, wodurch das Ausgangsproblem verkleinert wird. Auch diese Methode kann unter Umständen sehr lang werden, da eine Lösung trotzdem noch sehr spät gefunden werden kann, jedoch bietet sie in den meisten Fällen eine schnellere Lösung des Problems. Der Vorteil dieser Methode ist, dass sie für eine ganze Reihe von Optimierungsproblemen verwendet werden kann. Als Variante oder Erweiterung dieser Methode, findet man das zusätzliche Verwenden von Heuristiken. Sie können dazu dienen Teilprobleme schneller zu lösen, haben jedoch den Nachteil, dass nicht jede Heuristik zu jedem Optimierungsproblem passt. Auf einige Heuristiken wird in der dritten und vierten Ausarbeitung zum FAP eingegangen. 12 3. Die FAPs und zugehörigen Optimierungsprobleme In diesem Abschnitt werden die verschiedenen Methoden auf die FAPs übertragen. Es soll aufgezeigt werden, welche Methode sich für welches FAP am besten eignet und wie ein Lösungsansatz aussehen kann. Da sich die Methoden und Ansätze teilweise überschneiden, wird eine Auswahl behandelt. 3.1 F-FAP F-FAP ist das Feasibility-FAP und behandelt alle möglichen und realisierbaren Frequenzzuweisungen. Zur Lösung des F-FAP findet man in der Literatur sowohl Ansätze mit „Branch-and-Bound“, als auch das „Schnittebenenverfahren“. Im ersten Abschnitt soll daher auf die „Branch-and-Bound“ Möglichkeiten und im zweiten Abschnitt auf eine mögliche Anwendung des „Schnittebenenverfahrens“ für das F-FAP eingegangen werden. 3.1.1 Branch-and-Bound Wenn man die „Branch-and-Bound“-Methode auf das F-FAP anwendet, geht es zunächst darum den Lösungsbaum zu konstruieren. Nachdem der Baum aufgespannt ist, wird er entweder mit „Tiefensuche“ oder „Bestensuche“ durchmustert, um auf eine optimale Lösung zu stoßen. Im Bereich „Bound“ werden schließlich verschiedene Techniken angewendet, um Knoten auszuschneiden oder ganze Zweige abzuschneiden. Dies ist bereits weiter oben im allgemeinen Abschnitt zu „Branch-and-Bound“ besprochen worden. Der Frequenz-Definitionsbereich ist dabei für alle Knoten gleich und ganzzahlig, nämlich {1, 2, ... , fmax}, wobei fmax ein gegebener fester Parameter oder eine zu minimierende Variable ist. Außerdem wird mit Interferenz-Bedingungen nach folgendem Typ gearbeitet: |f(v)-f(w)| ≥ δ (v,w), wobei f(v) und f(w) die Frequenzen sind, die v und w zugewiesen werden und δ (v,w) der vorgeschriebene Mindestabstand der möglichen zugewiesenen Frequenzen ist ( δ (v,w) ist im allgemeinen gleich eins, jedoch wird meist mit einem Abstand von wenigstens zwei gearbeitet, um wirklich sicher zu gehen). 13 3.1.2 Schnittebenenverfahren Die LP-Relaxierung des F-FAP verwendet zusätzliche Bedingungen, bzw. zulässige Ungleichungen, die zu einer möglichen Lösung des Problems führen. Folgende Bedingung wird aufgegriffen und „erweitert“: (2*): xvf + xwg ≤ 1 ∀ vw ∈ E, f ∈ F(v), g ∈ F(w): pvw(f,g) > pmax. Die Beschränkung durch Interferenz der Signale wird mit Hilfe des Schwellenwertes pmax und den zugeordneten Strafen wie zuvor formuliert (packing constraints). Hierbei sind Paare von Frequenzen verboten, wo die Strafe den Grenzwert übersteigt. Für (2*) gilt dann: ∀ v ∈ V, f ∈ F(v): xvf = { 1, wenn Frequenz f ∈ F(v) Knoten v ∈ V zugewiesen wird, 0, sonst. pvw ist dabei die zugewiesene Strafe und pmax der zugehörige Grenzwert. Jeder Variable xvf (wie unter (2*)) wird ein Knoten (v,f) zugewiesen. Zwei Knoten (v,f) und (w,g) werden durch eine Kante verbunden, falls maximal eine Variable den Wert 1 enthält. Daher gilt in einer Clique (also einem zusammenhängenden Teilgraphen) des Graphen H = (W,F) (nicht dem Interferenzgraphen G = (V,E)) mit S ⊆ W Knotenmenge: Keine zwei Variablen aus S haben den Wert eins. Daher folgt aus (2*) folgende gültige Ungleichung: {+} ∑ ( v , f )∈ S xvf ≤ 1 Dies macht deutlich, dass die strengsten Bedingungen von „maximalen Cliquen“, d.h. von solchen, die nicht mit anderen Knoten erweitert werden können, stammen. Die Cliquen und möglichen Ungleichungen zu finden hängt jedoch von der Größe des Graphen H ab, und ist unter Umständen sehr aufwendig. Alternativ kann man auch Cliquen des Interferenzgraphen G = (V,E) betrachten. Jedoch sind Cliquen in komplexen Graphen sehr schwierig zu finden, was dieses Verfahren verkompliziert. (2*) und {+} liefern schließlich folgenden allgemeine Ungleichung für Cliquen V ⊂ V im δ (v,w): Interferenzgraphen G = (V,E) mit δ = vmin , w∈ V 14 (46) ∑ v∈ V ∑ f ∈ ( k + 1,..., k + δ ) xvf ≤ 1, mit k = 0,..., fmax- δ Bei einigen FAPs wird mit dieser Bedingung zunächst versucht, mit δ =1, 2, 3, auf Cliquen zu stoßen. δ ist der minimale Abstand den die Frequenzen haben müssen, die den Knoten zugewiesen werden sollen. Im allgemeinen haben zwei Antennen u, v den Abstand δ (u,v) = 2. 3.2 Max-FAP und MB-FAP Das Max-FAP ist das Maximum Service FAP und bestimmt die maximale Anzahl der zugewiesenen Frequenzen. MB-FAP bedeutet Minimum Blocking FAP und problematisiert die minimale Anzahl von geblockten Frequenzen. Zu diesen beiden FAPs lässt sich sagen, dass beide viele Interferenzbedingungen enthalten, die das Erzeugen von Schnittebenen nahe legen. Die Bearbeitung des Problems ähnelt dem Vorgehen beim Rucksack-Problem, das aber in der dritten oder vierten Ausarbeitung zum Aufsatz über FAPs ausführlich besprochen wird. Die bereits beim F-FAP (unter 3.1.2) hilfreichen Ungleichungen, insbesondere (46) finden hier in gleicher oder variierter Form ebenfalls eine Anwendung. 3.3 MO-FAP Das MO-FAP ist das Minimum Order FAP und bespricht die minimale Anzahl und Zuweisung der Frequenzen. Aus der Literatur geht nicht deutlich hervor, ob bei diesem Problem eher auf die „Branch-and-Bound“-Methode oder das „Schnittebenenverfahren“, oder sogar „Branch-and-cut“, zurückgegriffen wird. Ledoch findet man sowohl Hinweise auf „untere Schranken“, als auch „zulässige Ungleichungen“. Bisher kann man folgende Ungleichungen für das MO-FAP festhalten: (~) yf = {10 falls Frequenz f ∈ F benutzt wird sonst Das MO-FAP lautet dann: (10) min (11) s.t. ∑ f∈ F yf xvf ≤ y f ∀ v ∈ V , f ∈ F (v ) 15 (12) ∑ f ∈ F (v) xvf = m(v) ∀ v∈ V (13) xvf + xwg ≤ 1 ∀ vw ∈ E , f ∈ F (v), g ∈ F ( w) : pvw ( f , g ) > pmax (14) xvf ∈ {0,1} ∀ v ∈ V , f ∈ F (v ) (15) y f ∈ {0,1} ∀f∈ F Dabei wird durch Gleichung (11) sicher gestellt, dass yf genau die Werte annimmt wie in (~) beschrieben. Zusätzlich ist folgende Ungleichung für jede Clique V ∈ V im Graphen G zulässig: ∑ v∈ V xvf ≤ yf. yf nimmt nur den Wert 1 an, wenn die Frequenz f ∈ F benutzt wird. Wird die Frequenz f nicht benutzt, wird sie auch dem Knoten v nicht zugewiesen, wodurch auf beiden Seiten des Ungleichungszeichens null steht. Wird die Frequenz f jedoch verwendet, kann sie maximal nur einem Knoten in einer Clique zugewiesen werden, weil sonst der maximale Grenzwert der zugewiesenen Strafen der Knoten überstiegen wird (Siehe hierzu auch zulässige Ungleichung {+} unter 3.1.2). 3.4 MS-FAP Das MS-FAP heißt Minimum-Span FAP und behandelt den minimalsten Abstand zwischen tiefster und höchster Frequenz. Aufgrund der Relation zwischen MS-FAP und MO-FAP lassen sich einige Techniken und Modelle, wie zum Beispiel das Verfahren mit der CliquenSchranke, übertragen. Allerdings findet man auch alternative Methoden zur Cliquen-Schranke, die mit einem Hamilton-Pfad arbeiten. Ein Hamilton-Pfad in einem Graph ist ein Pfad, der jeden Knoten des Graphen genau einmal durchläuft. Er muss jedoch nicht notwendigerweise alle Kanten des Graphen durchlaufen. Ein Hamilton-Pfad, der in demselben Knoten beginnt und endet, wird auch Hamilton-Zyklus genannt. Die Hamilton-Pfad-Methode ist eine Alternative zum Cliquen-Verfahren, da man mit ihm den Abstand der zwischen der höchsten und niedrigsten Frequenz im Teilgraphen des MS-FAP 16 bestimmen kann. Dazu führt man die Variablen zmax und zmin ein, die die größte bzw. kleinste Frequenz bezeichnen. In einem MS-FAP wird daher folgendes gesucht: min zmax-zmin Demnach liefert ein minimaler Hamilton-Pfad die untere Schranken des minimalen Abstand des MS FAP, und demnach auch auf dem ganzen Graphen. So hat in einer Clique der Größe k mit minimaler Distanz d der kürzeste Hamilton-Pfad die Länge (k-1)d. Eine Berechnung funktioniert über eine Auswahl von Teilgraphen. Diese Hamilton-Prozedur kann für jeden Teilgraphen durchgeführt werden. Der Nachteil besteht darin, dass man bei der Auswahl der Teilgraphen auf die Richtigen treffen muss. Der ganze Graph kann unter Umständen nur einen kurzen Hamilton-Pfad, wegen der Existenz möglicher kurzer Kanten, liefern. Bsp. 1: Schlechter Pfad Wenn die Kanten (u,v) und (v,w) die Distanzen 1 und (u,w) die Distanz 3 haben, führt der Pfad (u,v,w) zur Größe 2, wegen der Länge 2, obwohl der Abstand gleich 3 ist. Ein solcher Pfad wird „bad path“ genannt und die Kante (u,w) wird für die Schranke nicht verwendet. Jedoch gibt es auch „ungünstige“ Beispiele, wie Bsp. 2, die zeigen, dass der Hamilton-Pfad nicht für alle (Teil-)Graphen eine untere Schranke für die Bandbreite der Frequenzen liefert: Bsp. 2: f=1 g=5 4 h=4 1 In diesem Beispiel sind f, g, h jeweils die zugewiesenen Frequenzen, nachdem zwischen den Antennen (also Knoten) der Abstand 4, bzw. 1 festgelegt worden ist. Der Hamilton-Pfad (HP) hat die Länge 5, während die Bandbreite zmax – zmin der Frequenzen bei 4 liegt: 17 Länge des HP = 5 ≤ zmax – zmin = 4 Dieses Beispiel verdeutlicht, dass der minimale Hamilton-Pfad lediglich in einer (maximalen) Clique sinnvoll angewendet wird. Für das aufgeführte Beispiel 2 wird dieses Verfahren gar nicht verwendet, weil es unter Umständen keine sinnvolle Lösung liefert. Dies weißt auf die Relation zu den vorherigen FAPs hin, in denen die stärksten Bedingungen ebenfalls von (maximalen) Cliquen ausgingen. 3.5 MI-FAP Das MI-FAP heißt Minimum Interference FAP und bespricht die minimale Interferenz zwischen den Frequenzen. Es ist das komplizierteste und am schwierigsten zu lösende FAP. Anfangs gab es verschiedene Lösungsansätze, sowohl mit „Branch-and-Bound“, als auch mit dem „Schnittebenenverfahren“. In der Literatur findet man jedoch meist beide Verfahren zum oben erwähnten „Branch-and-Cut“ kombiniert. Dabei werden die meist sehr starken Interferenzbedingungen in teilweise leichtere Bedingungen durch Verteilung von Strafen umgewandelt. Aus diesem Grunde gibt es sehr viele verschiedene Lösungsmethoden. Meistens wird das Problem in Unterprobleme aufgeteilt, die trotzdem noch mit sehr vielen und komplexen Ungleichungen arbeiten. Zentrales Anliegen in der Forschung ist es, die bereits gefundenen und bearbeiteten unteren Schranken zu verbessern, wobei die Ansätze und Ideen auch zu diesem Problem umfangreich sind. Auf die einzelnen Ideen und Ansätze einzugehen würde jedoch den Rahmen dieser Arbeit sprengen. 18 4. Zusammenfassung Diese Ausarbeitung hat den Anspruch eine Einführung in die Methoden und Techniken zur Lösung des FAP zu geben. Dabei sollte betont werden, das die beiden zentralen Methoden das „Branch-and-Bound“ und das „Schnittebenenverfahren“ sind, die neuerdings zum „Branchand-Cut“ zusammengefügt werden. Dieses „Branch-and-Cut“ ist die Methode, mit der in der Forschung zur Zeit am meisten an diesem Problem gearbeitet wird. Es ist deutlich geworden, dass das F-FAP mit diesen beiden zuerst genannten Methoden relativ schnell und gut gelöst werden kann, während das Max-FAP, MB-FAP, MO-FAP und MS-FAP zusätzlicher komplexer Bedingungen und Schranken bedarf. Das MI-FAP ist mit das am schwierigsten zu lösende FAP, das meist nur mit „Branch-and-Cut“ sinnvoll gelöst werden kann. In dieser Arbeit wurden die Methoden nur „angerissen“. Jedoch soll herausgestellt werden, dass das Lösen von ganzzahligen LPs kompliziert ist und Kreativität beim Programmierer und Forscher erfordert. So ist zum Beispiel ein umfangreiches Repertoire an Methoden und Heuristiken nötig. 19