You are on page 1of 12

Seminar Kommunikationsprobleme

Approximate multicommodity ow for


WDM networks design
Julian Alexander Krenge
Julian.Krenge@RWTH-Aachen.de

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 neue
und leistungsfähige Technik ist selbstverständlich sehr kostenintensiv. In die-
ser Arbeit wird ein optisches Netzwerk so konstruiert, dass die Kapazität
genügend groÿ und die Kosten minimal sind.

1
Inhaltsverzeichnis
1 Einführung 3
1.1 Problemstellung (Rwa) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Multidatenuss-Netzwerke (Mcf) . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Wellenlängendivisions-Multiplexen (Wdm) . . . . . . . . . . . . . . . . . . 3
1.4 Modell für optische Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Approximationsalgorithmus für das Rwa-Problem 5


2.1 Idee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Korrektheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Komplexität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Dynamische Sssp-Bäume (Dsssp) 7


3.1 Idee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Erster Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.1 Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.2 Korrektheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Zweiter Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3.1 Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3.2 Korrektheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Komplexität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.5 Verbindung mit Approximationsalgorithmus . . . . . . . . . . . . . . . . . 10

4 Weitere Verbesserungen 10
4.1 Kürzeste Pfade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Dynamische kürzeste Pfade . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5 Ergebnis 11

2
1 Einführung
Zur Lösung des hier beschriebenen Problems werden einige Begrie und Hilfsmittel benö-
tigt. Zunächst wird die Problemstellung erläutert, danach der behandelte Typ Netzwerk
beschrieben 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 verwendet
werden. Den Aufbau und die Verwendung von Backbones erklärt [Wik08a].
Optische Übertragungstechnik bietet sich aufgrund der sehr hohen Bandbreite an, birgt
aber den Nachteil einiger teurer Komponenten. Daher ist es notwendig, die Topologie
möglichst genau auf den wirklich auftretenden Trac auszurichten. Für diese Ausarbei-
tung sei das Aufkommen des Tracs hinreichend bekannt. Das Problem, einer Anfrage in
einem 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 Multidatenuss-Netzwerke (Mcf)


Das zu lösende Problem wird im Folgenden auf Multidatenuss-Netzwerken, englisch
Multicommodity ow networks (Mcf), betrachtet. Das sind Netzwerke, dargestellt durch
einen 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. Kanten
haben 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 auftretenden
Anfragen repräsentiert. Entsprechen die aufsummierten Datenmengen der Anfragen der
P P
Gesamtkapazität des Netzwerks, gilt also
(si ,ti )∈C f (si , ti ) = e∈E c(e), so spricht man
+
von einem Multidatenuss-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. Hierbei
wird 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, werden
alle Wellenlängenbereiche gebündelt. Aufgrund der Eigenschaften des Lichts beeinussen
sich die Signale nun nicht [Tan03, Wik08b]. Ein Beispiel gibt Abbildung 1.

3
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. Da
sich Anfragen auf unterschiedlichen Wellenlängen nicht beeinussen, ist es sinnvoll, je-
den Wellenlängenintervall als ein eigenes Netzwerk zu modellieren, wobei die Topologie
gleich der Topologie des physikalischen Netzwerks ist. Jeder tatsächliche Knoten hat dann
einen 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.

c1 f1
a1 b1 e1

d1 g1
c2 f2
S a2 b2 e2 T

d2 g2
c3 f3
a3 b3 e3

d3 g3

Abbildung 2: Hilfgraph mit drei Ebenen

4
1.5 Überblick
Diese Grundlagen werden für Lösung des Problems benötigt. Im folgenden Abschnitt
wird zunächst ein Approximationsalgorithmus beschrieben. Daraufhin wird das Konzept
von dynamischen Single Source Shortest Path-Bäumen behandelt, das den Ap-
proximationsalgorithmus verbessert. Auÿerdem werden noch einige Detailverbesserungen
vorgenommen. Zuletzt wird ein Fazit gezogen.

2 Approximationsalgorithmus für das Rwa-Problem


Das Problem stellt sich oenbar nur auf Ganzzahlen. Eine Lösung der linearen Relaxation
ist möglich, dieser Ansatz jedoch auf Ganzzahlen nicht verwendbar, das Problem auf
Ganzzahlen sogar N P -hart.
Untersuchungen zeigen aber, dass eine Approximation nur einen geringen additiven Fehler
mit sich bringt [CR02, Rag94]. Dieser Fehler ist in Kauf zu nehmen, das Ergebnis in
+
der 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, das Mcf-Problem zu lösen. Um dies zu leisten, betrachten wir das dazu duale
Problem: Dabei sollen den Pfaden Längen zugewiesen werden, sodass die gesamte Länge
des kürzesten Pfades gröÿer als 1 ist.
Beim Algorithmus wird der Graph nach Pfaden kürzer als 1 durchsucht und wenn ein
solcher gefunden wird, die Daten an ihm entlang geleitet. Zunächst werden die primären
Variablen 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. Danach
werden auch die dualen Variablen aktualisiert, also die Pfadlängen mit einem Faktor in
Abhängigkeit des Summanden skaliert.
Zweck der parallelen Behandlung des primären Problems, also der Datenmenge auf den
Kanten, 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 genauen
Lösung gut genug angenähert hat. Daher ist auch die Abbruchbedingung im Approxima-
tionsalgorithmus Algorithm 1 über die Länge des kürzesten Pfades deniert. Diese wird
nicht 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(P ath) > 1

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

5
Algorithm 1 (1 + )-Approximationsalgorithmus
1
1: {Initializing}∀e ∈ E, L(e) = δ = (1 + ) ((1 + ) n)−  , fi (e) = 0
2: {Lower bound on length of a Sssp} λ = δ
3: while λ ≤ 1 +  do
4: for all i = 1 . . . k do
5: P ath ←Sssp((si , ti ))
6: while L(P ) ≤ (1 + ) λ do
7: cm ← mine∈P ath {c (e)}
8: ∀e ∈ P ath do fi (e) ← fi (e) + log cm 1+
1+ δ
cm
9: ∀e ∈ P ath do L(e) ← L(e)(1 +  c(e) )
10: P ath ←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 der
kü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 der
Pfad 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 bis
zum Ziel für jede Anfrage >1 ist.

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

Der Algorithmus terminiert nach O m log1+ε 1+ε Schritten.



Lemma 2.1
δ

Beweis: Initial gilt L(e) = δ für alle Kanten (s. Algorithm 1, Zeile 1). Da bei jedem Schritt
des Algorithmus ein Pfad mit L(P ath) ≤ 1 mit maximal 1+ multipliziert wird, kann ein
Pfad nicht länger als 1+ sein. Zusätzlich gilt auch, dass ein Pfad mit mindestens1+
1+
multipliziert wird, folglich ist die Anzahl der Verbesserungen ≤ m log1+ [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  0
multipliziert. Nun gelten oensichtlich für alleP ≤ ai ≤
1 + a ≤ (1 + )a ai
Q
1∀i folgende zwei Gleichungen: und i (1 + ai ) ≥ (1 + ) . Als
i

ai bezeichnen wir hier eine Hilfsvariable, die für jeden Schritt unterschiedlich ist, aber
immer angegebene Restriktion erfüllt. Initial gilt L(e) = δ , nal L(e) < 1 + . Daraus
lä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: ft


log1+ε 1+ε ≥ (1 − 2ε) OP T .
δ

6
Beweis: Aufgrund des aufwendigen Beweises sei hier auf ihn verzichtet. Zu nden ist er
in [GK98].

2.4 Komplexität
Die Anzahl der Iterationen lässt sich mit einem Worst Case-Szenario abschätzen: Wenn
jeder Sssp aus nur genau einer Kante besteht, ist die Iterationsanzahl maximal, für die
1+

sich dann m log1+ δ als obere Schranke ergibt. Da sich δ direkt aus dem anzugebenen
Genauigkeitsparamter  ergibt, kann δ so gewählt werden, dass die Anzahl der Iterationen
O m−2 log1+ n +

in 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 des
Rwa-Problems:
 
m log1+ n
O 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. Ein
ezienterer Algorithmus verwendet dynamische Sssp-Bäume.

3.1 Idee
Der klassische Dikstra untersucht bei der Berechnung des kürzesten Pfades jeden Knoten
im 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.
Oensichtlich 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 auf
Basis 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 des
vorherigen kürzesten Pfades untersucht und folgende Farben als Hilfe verwendet: rot
bedeutet, dass der Knoten für die Berechnung des Sssp von Relevanz ist, weiÿ steht
für das genaue Gegenteil. Pinke Knoten können noch weiÿ oder rot werden, sind im
Arbeitsqueue 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
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ärbung

1: {Initializing} ∀y 6= si a vertex in si → ti , Enqueue (M , hy, D(y)i)


2: while NonEmpty(M) do
3: hz, D(z)i ← ExtractM in(M )
4: if ∃ nonred neighbor q ∈
/ M of z : D(q) + c(q, z) = D(z) then
5: color(z) ← pink
6: P (z) ← q
7: else
8: color(z) ← red
9: for all child v of z ∈/ M do
10: Enqueue (M , hv, D(v)i)
11: end for
12: end if
13: end while

Nach der Initialisierung (Zeile 1), wird für alle Knoten aus M (Zeile 2) beginnend mit
dem am nächsten zur Quelle (Zeile 3) geprüft, ob sich die Distanz zur Quelle geändert
hat (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ÿ (Zeile
5 und 6).

3.2.2 Korrektheit

Die folgenden vier Eigenschaften sind so gut gewählt, dass ihre Korrekteit den Algorith-
mus veriziert [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ügt
wird.

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

8
Dies ist implizit dadurch korrekt, dass alle Knoten, die jemals in M sind, mindestens
pink sind.

Eigenschaft 3.4 Wenn u und v in M sind, dann bedeutet D(u) ≤ D(v), dass u vor v
bearbeitet 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 . Es
gilt:
∀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 Denition: t(u) < t(v). Also wird v zumindest in
M 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 über
eine 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], hier
nur 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 Pfades

1: ∀ red vertex z : Enqueue(Q, hz, D(z)i)


{Initializing}
2: while N onEmpty(Q) do
3: hz, D(z)i ← ExtractM in(Q)
4: for all edge (z, h): h is red do
5: if D(z) + c(z, h) <D(h) then
6: Improve(Q)
7: end if
8: end for
9: end while

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

9
3.3.2 Korrektheit

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

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 Anzahl
der 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 Dijkstra
O(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ören
die Fälle, in denen ein kürzester Pfad für eine Anfrage das erste mal berechnet wird. Hier
ist oensichtlich keine Berücksichtigung des vorherigen Baums möglich, da ein solcher
nicht existiert.
Konkret führt das zu einer abstrakten Komplexität des Rwa-Algorithmus, wobei die
Komplexität von Sssp und Dsssp noch nicht explizit angegeben sind:
 
log1+ε n
O ε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, hat
also 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 anderen
Quellen und Ziele ignoriert werden. Dies senkt die Anzahl der relevanten Knoten auf
O(wn) und Kanten auf O(wm). Dadurch verbessern sich Zeile 5 und 10 von Algorithm
+
1 [BCL 03].

10
4.2 Dynamische kürzeste Pfade
Es wird oensichtlich nur eine Ebene bei der Aktualisierung der kürzesten Pfade be-
rücksichtigt, da nach Denition eine Anfrage die Wellenlänge und damit die Ebene nicht
wechselt. Der Dsssp-Algorithmus mit der Komplexität O(αβ log n) lässt sich in einer
Ebene leicht durch Dijkstras O(m + n log n) nach oben abschätzen. Der Abschluss der
Aktualisierung benötigt nocheinmal O(n log w) [BCL+ 03].

5 Ergebnis
Verglichen mit
 dem linearen
 Programm, das den naiven Ansatz darstellt, ist die Verbes-
n4 w2 ε2
serung in O log1+ε n . Der Rwa-Algorithmus lässt sich letztendlich abschätzen durch:
 
log1+ε n
O ε2
wn2 (m + n log nw)

Der Algorithmus ist also bereits gut und kann auf komplexen Netzwerken arbeiten, bei
hochkomplexen Netzwerken weist er aber noch Ezienzprobleme auf. Wenn zusätzlich
noch hohe Genauigkeit verlangt wird, kann die Implementierung zu numerischen Ge-
+
nauigkeitsproblemen führen [BCL 03]. Weitere Verbesserungen das Algorithmus können
das Problem aber wirtschaftlich lösbar machen und damit das Tor zur kommerziellen
Nutzung aufstoÿen [Kau01].

11
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 4356, Umea, Sweden, 2003. Carleton Scientic.

[CR02] Coudert, D. und H. Rivano: Lightpath assignment for multibers 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 und


II, 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 2431, 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 300309, 1998.
[Kau01] Kauffels, F.-J.: Durchblick im Netz, Kapitel 21. Optische Netze, die Zu-
kunft der Datenubertragung. 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

You might also like