Models and Solution Techniques for Frequency Assignment

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