approximate multi commodity flow for wdm networks design

12

Click here to load reader

Upload: julian-krenge

Post on 12-Jun-2015

77 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Approximate Multi Commodity Flow for WDM Networks Design

Seminar Kommunikationsprobleme

Approximate multicommodity �ow for

WDM networks design

Julian Alexander Krenge

[email protected]

12. September 2008

Durch die immer steigende Nutzung des Internets ist ein Ausbau der Haupt-netzwerkverbindungen unumgänglich. Eine adäquate Lösung bietet die opti-sche Übertragungstechnik mit ihrer extrem hohen Bandbreite. Eine so neueund leistungsfähige Technik ist selbstverständlich sehr kostenintensiv. In die-ser Arbeit wird ein optisches Netzwerk so konstruiert, dass die Kapazitätgenügend groÿ und die Kosten minimal sind.

1

Page 2: Approximate Multi Commodity Flow for WDM Networks Design

Inhaltsverzeichnis

1 Einführung 31.1 Problemstellung (Rwa) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Multidaten�uss-Netzwerke (Mcf) . . . . . . . . . . . . . . . . . . . . . . . 31.3 Wellenlängendivisions-Multiplexen (Wdm) . . . . . . . . . . . . . . . . . . 31.4 Modell für optische Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . 41.5 Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Approximationsalgorithmus für das Rwa-Problem 52.1 Idee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Korrektheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Komplexität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Dynamische Sssp-Bäume (Dsssp) 73.1 Idee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Erster Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.2.1 Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2.2 Korrektheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.3 Zweiter Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3.1 Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3.2 Korrektheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.4 Komplexität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.5 Verbindung mit Approximationsalgorithmus . . . . . . . . . . . . . . . . . 10

4 Weitere Verbesserungen 104.1 Kürzeste Pfade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.2 Dynamische kürzeste Pfade . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5 Ergebnis 11

2

Page 3: Approximate Multi Commodity Flow for WDM Networks Design

1 Einführung

Zur Lösung des hier beschriebenen Problems werden einige Begri�e und Hilfsmittel benö-tigt. Zunächst wird die Problemstellung erläutert, danach der behandelte Typ Netzwerkbeschrieben und zuletzt die technische Grundlage modelliert.

1.1 Problemstellung (Rwa)

Das zu lösende Problem ergibt sich in komplexen optischen Hochgeschwindigkeitsnetz-werken, wie sie in der Telekommunikationsbranche als Backbone-Netzwerk verwendetwerden. Den Aufbau und die Verwendung von Backbones erklärt [Wik08a].Optische Übertragungstechnik bietet sich aufgrund der sehr hohen Bandbreite an, birgtaber den Nachteil einiger teurer Komponenten. Daher ist es notwendig, die Topologiemöglichst genau auf den wirklich auftretenden Tra�c auszurichten. Für diese Ausarbei-tung sei das Aufkommen des Tra�cs hinreichend bekannt. Das Problem, einer Anfrage ineinem optischen Netzwerk einen Pfad zuzuweisen, wird aufgrund der speziellen Gegeben-heiten eines solchen Netzwerks als Routing and Wavelength Assignment-Problem(Rwa) genannt. Was diese speziellen Gegebenheiten sind, wird im Folgenden besprochen.

1.2 Multidaten�uss-Netzwerke (Mcf)

Das zu lösende Problem wird im Folgenden auf Multidaten�uss-Netzwerken, englischMulticommodity �ow networks (Mcf), betrachtet. Das sind Netzwerke, dargestellt durcheinen Graphen G = (V,E) mit Anfragen (s, t), die über eine Datenmenge f(s, t) verfügen.Diese Anfragen gehen vom Quellknoten s aus und haben einen Zielknoten t. Kantenhaben eine Kapazität c(e), die die maximale Menge der übermittelten Daten festlegt[FF62].Es ist eine Multimenge C = {(si, ti) : si, ti ∈ V, i = 1 . . . k} gegeben, die die auftretendenAnfragen repräsentiert. Entsprechen die aufsummierten Datenmengen der Anfragen derGesamtkapazität des Netzwerks, gilt also

∑(si,ti)∈C f(si, ti) =

∑e∈E c(e), so spricht man

von einem Multidaten�uss-Netzwerk [BCL+03].

1.3 Wellenlängendivisions-Multiplexen (Wdm)

Im Folgenden wird auf die technische Realisierung von optischen Netzwerken, das Wellen-längendivisions-Multiplexen eingegangen. Dieses wird kurz erläutert und danach ein Mo-dell entwickelt, was ein solches Netzwerk für den Algorithmus darstellt.Wellenlängendivisions-Multiplexen (Wdm) ist eine spezielle Art des Multiplexen. Hierbeiwird die Kombination von mehreren Nachrichtensignalen zu einem einzigen ermöglicht.Dies geschieht durch die Einteilung des Lichts in Wellenlängen-Intervalle. Für jede Wel-lenlänge wird ein Laser als Quelle verwendet, der die Daten z.B. per Amplitudenmodu-lation überträgt. Bevor die Daten über ein Glasfaserkabel übertragen werden, werdenalle Wellenlängenbereiche gebündelt. Aufgrund der Eigenschaften des Lichts beein�ussensich die Signale nun nicht [Tan03, Wik08b]. Ein Beispiel gibt Abbildung 1.

3

Page 4: Approximate Multi Commodity Flow for WDM Networks Design

x

f(x) 600nm 550nm 500nm

Abbildung 1: Sich überlagernde Lichtwellen

1.4 Modell für optische Netzwerke

Für die Betrachtung von optischen Netzwerken ist ein Hilfsgraph notwendig. Eine An-frage bekommt eine Wellenlänge zugewiesen und kann diese nicht mehr wechseln. Dasich Anfragen auf unterschiedlichen Wellenlängen nicht beein�ussen, ist es sinnvoll, je-den Wellenlängenintervall als ein eigenes Netzwerk zu modellieren, wobei die Topologiegleich der Topologie des physikalischen Netzwerks ist. Jeder tatsächliche Knoten hat danneinen Repräsentanten je Wellenlänge.Quellen werden dann modelliert, indem ein zusätzlicher Knoten S eingefügt wird, derüber unlimitierte Kanten zu allen Repräsentanten si der physikalischen Quelle verfügt.Analog wird ein Ziel durch einen Knoten T dargestellt, der unlimitiert mit allen ti ver-bunden ist. Ein Beispiel zeigt Abbildung 2.

a2 b2

c2

d2

e2

f2

g2

a1 b1

c1

d1

e1

f1

g1

a3 b3

c3

d3

e3

f3

g3

S T

Abbildung 2: Hilfgraph mit drei Ebenen

4

Page 5: Approximate Multi Commodity Flow for WDM Networks Design

1.5 Überblick

Diese Grundlagen werden für Lösung des Problems benötigt. Im folgenden Abschnittwird zunächst ein Approximationsalgorithmus beschrieben. Daraufhin wird das Konzeptvon dynamischen Single Source Shortest Path-Bäumen behandelt, das den Ap-proximationsalgorithmus verbessert. Auÿerdem werden noch einige Detailverbesserungenvorgenommen. Zuletzt wird ein Fazit gezogen.

2 Approximationsalgorithmus für das Rwa-Problem

Das Problem stellt sich o�enbar nur auf Ganzzahlen. Eine Lösung der linearen Relaxationist möglich, dieser Ansatz jedoch auf Ganzzahlen nicht verwendbar, das Problem aufGanzzahlen sogar NP-hart.Untersuchungen zeigen aber, dass eine Approximation nur einen geringen additiven Fehlermit sich bringt [CR02, Rag94]. Dieser Fehler ist in Kauf zu nehmen, das Ergebnis inder Realität gut verwendbar [BCL+03]. Also ist das Problem mit einer Genauigkeit εabschätzbar, der Algorithmus wird als (1 + ε)-Approximation bezeichnet.

2.1 Idee

Ziel ist es, dasMcf-Problem zu lösen. Um dies zu leisten, betrachten wir das dazu dualeProblem: Dabei sollen den Pfaden Längen zugewiesen werden, sodass die gesamte Längedes kürzesten Pfades gröÿer als 1 ist.Beim Algorithmus wird der Graph nach Pfaden kürzer als 1 durchsucht und wenn einsolcher gefunden wird, die Daten an ihm entlang geleitet. Zunächst werden die primärenVariablen betrachtet: Die Datenmenge auf einer Kante wird um einen Summanden er-höht, der sich anhand der minimalen Kapazität aller Kanten im Pfad berechnet. Danachwerden auch die dualen Variablen aktualisiert, also die Pfadlängen mit einem Faktor inAbhängigkeit des Summanden skaliert.Zweck der parallelen Behandlung des primären Problems, also der Datenmenge auf denKanten, und des sekundären Problems, also der Länge der Kanten, ist, dass über die Län-ge des kürzesten Pfades bestimmt werden kann, ob sich die Approximation der genauenLösung gut genug angenähert hat. Daher ist auch die Abbruchbedingung im Approxima-tionsalgorithmus Algorithm 1 über die Länge des kürzesten Pfades de�niert. Diese wirdnicht in der Ausgabe angegeben [Fle99].

2.2 Algorithmus

Im Folgenden wird der (1 + ε)-Approximationsalgorithmus (Algorithm 1) detailliert an-hand des Codes erklärt. Für diesen gilt:

• Eingabe: G = (V,E), |V | = n, |E| = m,C = {(si, ti), i = 1 . . . k} ⊆ V 2, ε > 0

• Ausgabe: Längenfunktion L auf E: für jeden Pfad si → ti gilt L(Path) > 1

• Ausgabe: f (1 + ε)-Approximation für C auf G

5

Page 6: Approximate Multi Commodity Flow for WDM Networks Design

Algorithm 1 (1 + ε)-Approximationsalgorithmus

1: {Initializing} ∀e ∈ E,L(e) = δ = (1 + ε) ((1 + ε)n)−1ε , fi(e) = 0

2: {Lower bound on length of a Sssp} λ = δ3: while λ ≤ 1 + ε do4: for all i = 1 . . . k do

5: Path←Sssp((si, ti))6: while L(P ) ≤ (1 + ε)λ do

7: cm ← mine∈Path{c (e)}8: ∀e ∈ Path do fi(e)← fi(e) + cm

log1+ε1+εδ

9: ∀e ∈ Path do L(e)← L(e)(1 + ε cmc(e))10: Path←Sssp((si, ti))11: end while

12: end for

13: λ← λ (1 + ε)14: end while

Nach der Initialisierung (Zeile 1 und 2) leitet der Algorithmus die Daten entlang derkürzesten Pfade: Für jede Anfrage (Zeile 4) wird der kürzeste Pfad berechnet (Zeile 5).Solange der berechnete Pfad kürzer als die gesetzte Maximallänge ist (Zeile 6), wird derPfad bearbeitet: Mit der minimalen Kapazität (Zeile 7) wird die Erhöhung der Daten-menge auf den Kanten (Zeile 8) und die Skalierung der Kantenlängen (Zeile 9) berechnet.Der Algorithmus terminiert, wenn die Länge jedes kürzesten Pfades von der Quelle biszum Ziel für jede Anfrage >1 ist.

2.3 Korrektheit

Die Korrektheit des Algorithmus ist durch folgende drei Lemmata gegeben [Fle99].

Lemma 2.1 Der Algorithmus terminiert nach O(m log1+ε

1+εδ

)Schritten.

Beweis: Initial gilt L(e) = δ für alle Kanten (s. Algorithm 1, Zeile 1). Da bei jedem Schrittdes Algorithmus ein Pfad mit L(Path) ≤ 1 mit maximal 1+ε multipliziert wird, kann einPfad nicht länger als 1 + ε sein. Zusätzlich gilt auch, dass ein Pfad mit mindestens 1 + εmultipliziert wird, folglich ist die Anzahl der Verbesserungen ≤ m log1+ε

1+εδ [Fle99].

Lemma 2.2 Es ist zulässig, den Fluss mit log1+ε1+εδ zu skalieren.

Beweis: Wenn der Fluss auf einer Kante erhöht wird, wird, um die Dualität zu erhalten,die Länge der Kante mit 1 + aiε multipliziert. Nun gelten o�ensichtlich für alle 0 ≤ ai ≤1∀i folgende zwei Gleichungen: 1 + aε ≤ (1 + ε)a und

∏i (1 + aiε) ≥ (1 + ε)

∑i ai . Als

ai bezeichnen wir hier eine Hilfsvariable, die für jeden Schritt unterschiedlich ist, aberimmer angegebene Restriktion erfüllt. Initial gilt L(e) = δ, �nal L(e) < 1 + ε. Darauslässt sich der Schluss ziehen, dass f(e) ≤ c(e) log1+ε

1+εδ korrekt ist [Fle99].

Lemma 2.3 Wenn ft der Fluss ist, dann gilt: ftlog1+ε

1+εδ

≥ (1− 2ε)OPT .

6

Page 7: Approximate Multi Commodity Flow for WDM Networks Design

Beweis: Aufgrund des aufwendigen Beweises sei hier auf ihn verzichtet. Zu �nden ist erin [GK98].

2.4 Komplexität

Die Anzahl der Iterationen lässt sich mit einem Worst Case-Szenario abschätzen: Wennjeder Sssp aus nur genau einer Kante besteht, ist die Iterationsanzahl maximal, für diesich dannm log1+ε

(1+εδ

)als obere Schranke ergibt. Da sich δ direkt aus dem anzugebenen

Genauigkeitsparamter ε ergibt, kann δ so gewählt werden, dass die Anzahl der Iterationenin O

(mε−2 log1+ε n

)liegt [BCL+03]. Für einen ersten naiven Ansatz verwenden wir

den klassischen Dijkstra-Algorithmus zur Sssp-Berechnung, der in O (m+ n log n) liegt.Daraus schlieÿen wir für die Komplexität des gesamten Algorithmus zur Lösung desRwa-Problems:

O(m log1+ε n

ε2(m+ n log n)

)3 Dynamische Sssp-Bäume (Dsssp)

Der vorgestellte Approximationsalgorithmus Algorithm 1 bietet Verbesserungspotential,wie erwähnt ist der Einsatz des klassischen Dijkstra-Algorithmus ein naiver Ansatz. Eine�zienterer Algorithmus verwendet dynamische Sssp-Bäume.

3.1 Idee

Der klassische Dikstra untersucht bei der Berechnung des kürzesten Pfades jeden Knotenim Netzwerk. Beim Approximationsalgorithmus unterscheiden sich die Netzwerktopolo-gien von Schritt zu Schritt nur geringfügig. Es wird nur die Länge einer Kante erhöht.O�ensichtlich kommt also nicht jeder Knoten des Netzwerks in Frage, nun auf dem kür-zesten Pfad zu liegen. Diese Tatsache wird berücksichtigt, indem der Sssp-Baum aufBasis der Veränderung aktualisiert wird.Der vorgestellte Algorithmus läuft in zwei Schritten ab. Zuerst wird das Netzwerk darauf-hin untersucht, welche Knoten sich so geändert haben, dass sie den kürzesten Pfad beein-�usst haben könnten. Danach wird dann der konkrete kürzeste Pfad gesucht [FMSN00].

3.2 Erster Schritt

Im ersten Schritt wird das Netzwerk eingefärbt. Es wird die direkte Nachbarschaft desvorherigen kürzesten Pfades untersucht und folgende Farben als Hilfe verwendet: rotbedeutet, dass der Knoten für die Berechnung des Sssp von Relevanz ist, weiÿ stehtfür das genaue Gegenteil. Pinke Knoten können noch weiÿ oder rot werden, sind imArbeitsqueue M . Der Algorithmus färbt wie folgt ein:

• Knoten pink und dessen Unterbaum weiÿ, wenn Distanz zur Quelle unverändert

• Knoten rot und dessen Unterbaum pink, sonst

7

Page 8: Approximate Multi Commodity Flow for WDM Networks Design

3.2.1 Algorithmus

Im Folgenden wird der erste Schritt des Dsssp-Algorithmus, die Einfärbung des Graphen(Algorithm 2), detailliert anhand des Codes erklärt. Für diesen gilt:

• Eingabe: T (si) Sssp-Baum über si, si → ti kürzester Pfad

• Ausgabe: Eine Menge von roten Knoten

Algorithm 2 Einfärbung1: {Initializing} ∀y 6= si a vertex in si → ti, Enqueue (M, 〈y,D(y)〉)2: while NonEmpty(M) do3: 〈z,D(z)〉 ← ExtractMin(M)4: if ∃ nonred neighbor q /∈M of z: D(q) + c(q, z) = D(z) then5: color(z)← pink6: P (z)← q7: else

8: color(z)← red9: for all child v of z /∈M do

10: Enqueue (M, 〈v,D(v)〉)11: end for

12: end if

13: end while

Nach der Initialisierung (Zeile 1), wird für alle Knoten aus M (Zeile 2) beginnend mitdem am nächsten zur Quelle (Zeile 3) geprüft, ob sich die Distanz zur Quelle geänderthat (Zeile 4). Ist dies der Fall, wird der Knoten rot (Zeile 8) und sein Nachfolger pink(Zeile 9 und 10) gefärbt, sonst der Knoten pink und sein Unterbaum implizit weiÿ (Zeile5 und 6).

3.2.2 Korrektheit

Die folgenden vier Eigenschaften sind so gut gewählt, dass ihre Korrekteit den Algorith-mus veri�ziert [BCL+03].

Eigenschaft 3.1 Jeder Knoten im Pfad s→ t wird in M eingefügt.

Dies zeigt eindeutig die Initialisierung in Algorithm 2, Zeile 1.

Eigenschaft 3.2 Jeder Nachfolger eines roten Knoten und kein Nachfolger eines pinken

Knoten wird in M eingefügt, solange er nicht im Sssp ist.

Algorithm 2, Zeile 8-10 zeigt, dass alle Nachfolger von roten Knoten in M eingefügt wer-den, und Algorithm 2, Zeile 4-5, dass kein Nachfolger von weiÿen Knoten in M eingefügtwird.

Eigenschaft 3.3 Ein Knoten ist genau dann weiÿ, wenn er niemals in M ist.

8

Page 9: Approximate Multi Commodity Flow for WDM Networks Design

Dies ist implizit dadurch korrekt, dass alle Knoten, die jemals in M sind, mindestenspink sind.

Eigenschaft 3.4 Wenn u und v in M sind, dann bedeutet D(u) ≤ D(v), dass u vor vbearbeitet wird.

Sei hierfür t(x) der Zeitpunkt zu dem x bearbeitet wird, v ein gegebener Knoten, ∆(v)die Menge der Knoten die vor v bearbeitet wird und P (v) ∈ ∆(v) der Vater von v. Esgilt:∀u ∈ ∆(v) : t(u) < t(P (v)) ∧ P4 ∧D(P (v)) < D(v) → D(u) < D(P (v) < D(v))∀u ∈ ∆(v) : t(P (v)) < t(u) gilt nach De�nition: t(u) < t(v). Also wird v zumindest inM eingereiht, wenn P (v) bearbeitet wird → v ∈M wenn t(u).M ist Prioritäts-Queue → bei t(u) ist u = min{x ∈M} → D(u) < D(v).Also gilt die Eigenschaft für ∆(v) ∪ {v}.

3.3 Zweiter Schritt

Schritt 1 übergibt die Einfärbung des Graphen an Schritt 2, dieser verfügt also übereine Menge von roten Knoten, die in einen neuen kürzesten Pfad involviert sein könnten.Daraus lässt sich der tatsächliche kürzeste Pfad berechnen.

3.3.1 Algorithmus

Da der zweite Schritt in der Literatur bereits detailliert erläutert wurde [FMSN00], hiernur eine kurze Erklärung anhand des zusammengefassten Pseudocodes Algorithm 3.

• Eingabe: Menge von roten Knoten

• Ausgabe: Kürzester Pfad

Algorithm 3 Berechnung des kürzesten Pfades1: {Initializing} ∀ red vertex z: Enqueue(Q, 〈z,D(z)〉)2: while NonEmpty(Q) do3: 〈z,D(z)〉 ← ExtractMin(Q)4: for all edge (z, h): h is red do

5: if D(z) + c(z, h) <D(h) then6: Improve(Q)7: end if

8: end for

9: end while

In Zeile 1 wird der Heap Q des Algorithmus so initalisiert, dass D(z) die Priorität desKnoten z darstellt. Hat z keinen roten Nachbarn, gilt D(z) = ∞, sonst sei u der besterote Nachbar und es gilt D(z) = D(u) + c(u, z). Zeile 2 zeigt, dass der ganze Heapabgearbeitet wird. In Zeile 3 wird der Knoten z mit minimaler Priorität extrahiert. Dannwird kontrolliert, ob es im direkten Umfeld einen kürzeren Pfad als den aktuell kürzestengibt (Zeile 4-5). Falls dies so ist, wird der ganze Heap aktualisiert (Zeile 6).

9

Page 10: Approximate Multi Commodity Flow for WDM Networks Design

3.3.2 Korrektheit

Zum Beweis der Korrekheit genügt folgendes Lemma, welches in [FMSN00] bewiesenwird.

Lemma 3.1 Wenn sich die Länge einer Kante erhöht und Schritt 2 eine gute rot-pink-

weiÿ-Färbung übergeben bekommt, so wird ein valider Sssp-Baum berechnet.

3.4 Komplexität

Die Komplexität des gesamten Dsssp-Algorithmus ist in O(αβ log n), wobei α die Anzahlder bearbeiteten Knoten und β ein �intelligenter maximaler Grad� ist. Beispiele für β sind≤ 3 für planare Graphen, ≤ d für Graphen mit Grad d und = O(

√m) für generische

Graphen. Auf jeden Fall ist die Komplexität immer kleiner als die des klassischen DijkstraO(m+ n log n) [BCL+03, FMSN00].

3.5 Verbindung mit Approximationsalgorithmus

Es ist nicht möglich, jede Anwendung von Dijkstra in Algorithm 1 durch den Dsssp-Algorithmus zu ersetzen. Zu den Beispielen, wo eine Ersetzung unmöglich ist, gehörendie Fälle, in denen ein kürzester Pfad für eine Anfrage das erste mal berechnet wird. Hierist o�ensichtlich keine Berücksichtigung des vorherigen Baums möglich, da ein solchernicht existiert.Konkret führt das zu einer abstrakten Komplexität des Rwa-Algorithmus, wobei dieKomplexität von Sssp und Dsssp noch nicht explizit angegeben sind:

O(

log1+ε n

ε2(k.Sssp+ (m− k).Dsssp)

)4 Weitere Verbesserungen

Zwei weitere Überlegungen zur Verbesserung des Rwa-Algorithmus kommen auf. Be-trachtet wird die Berechnung der kürzesten Pfade und der dynamischen kürzesten Pfade.Status Quo: Das Netzwerk hat n Knoten und m Kanten. Die Gröÿe des Hilfsgraphen

wird maÿgeblich bestimmt durch die Anzahl der Wellenlängen w und der Anfragen, hatalso O(n2) Knoten und O(wn2) Kanten.

4.1 Kürzeste Pfade

Da sich der neue Sssp nur auf eine Quelle und ein Ziel bezieht, können alle anderenQuellen und Ziele ignoriert werden. Dies senkt die Anzahl der relevanten Knoten aufO(wn) und Kanten auf O(wm). Dadurch verbessern sich Zeile 5 und 10 von Algorithm1 [BCL+03].

10

Page 11: Approximate Multi Commodity Flow for WDM Networks Design

4.2 Dynamische kürzeste Pfade

Es wird o�ensichtlich nur eine Ebene bei der Aktualisierung der kürzesten Pfade be-rücksichtigt, da nach De�nition eine Anfrage die Wellenlänge und damit die Ebene nichtwechselt. Der Dsssp-Algorithmus mit der Komplexität O(αβ log n) lässt sich in einerEbene leicht durch Dijkstras O(m + n log n) nach oben abschätzen. Der Abschluss derAktualisierung benötigt nocheinmal O(n logw) [BCL+03].

5 Ergebnis

Verglichen mit dem linearen Programm, das den naiven Ansatz darstellt, ist die Verbes-

serung in O(n4w2ε2

log1+ε n

). Der Rwa-Algorithmus lässt sich letztendlich abschätzen durch:

O(

log1+ε n

ε2wn2(m+ n log nw)

)Der Algorithmus ist also bereits gut und kann auf komplexen Netzwerken arbeiten, bei

hochkomplexen Netzwerken weist er aber noch E�zienzprobleme auf. Wenn zusätzlichnoch hohe Genauigkeit verlangt wird, kann die Implementierung zu numerischen Ge-nauigkeitsproblemen führen [BCL+03]. Weitere Verbesserungen das Algorithmus könnendas Problem aber wirtschaftlich lösbar machen und damit das Tor zur kommerziellenNutzung aufstoÿen [Kau01].

11

Page 12: Approximate Multi Commodity Flow for WDM Networks Design

Literatur

[BCL+03] Bouklit, M., D. Coudert, J-F. Lalande, C. Paul und H. Rivano:Approximate multicommodity �ow for WDM networks design. In: Sibeyn,J. (Herausgeber): SIROCCO 10, Nummer 17 in Proceedings in Informatics,Seiten 43�56, Umea, Sweden, 2003. Carleton Scienti�c.

[CR02] Coudert, D. und H. Rivano: Lightpath assignment for multi�bers Wdm

optical networks with wavelength translators. In: IEEE Globecom '02, Taiwan,2002.

[FF62] Ford jr., L. R. und D. R. Fulkerson: Flows in Networks, Kapitel I undII, Seiten 1 � 49. Princeton University Press, 1962.

[Fle99] Fleischer, Lisa: Approximating Fractional Multicommodity Flow Indepen-

dent of the Number of Commodities. In: IEEE Symposium on Foundations of

Computer Science, Seiten 24�31, 1999.

[FMSN00] Frigoni, D., A. Marchetti-Spaccamela und U. Nanni: Fully Dynamic

Algorithms for Maintaining Shortest Paths Trees. Journal of Algorithms, 34,2000.

[GK98] Garg, N. und J. Konemann: Faster and Simpler Algorithms for Multicom-

modity Flow and Other Fractional Packing Problems. In: IEEE Symposium

on Foundations of Computer Science, Seiten 300�309, 1998.

[Kau01] Kauffels, F.-J.: Durchblick im Netz, Kapitel 21. Optische Netze, die Zu-kunft der Daten�ubertragung. MITP-Verlag, 2001.

[Rag94] Raghavan, P.: Probabilistic construction of deterministic algorithm: Appro-

ximating packing integer programs. Journal of Computer and System Sciences,38:683 � 707, 1994.

[Tan03] Tanenbaum, A. S.: Computernetzwerke, Kapitel 2.5.4. Verbindungsleitun-gen und Multiplexing, Seiten 161 � 171. Pearson Studium, 4 Auflage, 2003.

[Wik08a] Wikipedia: Backbone (Telekommunikation).http://de.wikipedia.org/wiki/Backbone_(Telekommunikation), 03.08.2008.

[Wik08b] Wikipedia: Multiplexverfahren, Kapitel Optisches Wellenlängenmultiplex-verfahren. http://de.wikipedia.org/wiki/Multiplexverfahren, 18.05.2008.

12