Quasi-hierarchical Evolutionary Algorithm for Flow Optimization in Survivable MPLS Networks

13
O. Gervasi and M. Gavrilova (Eds.): ICCSA 2007, LNCS 4707, Part III, pp. 330 342, 2007. © Springer-Verlag Berlin Heidelberg 2007 Quasi-hierarchical Evolutionary Algorithm for Flow Optimization in Survivable MPLS Networks Michal Przewoźniczek 1 and Krzysztof Walkowiak 2 1 Faculty of Computer Science and Management, Wroclaw University of Technology, Wybrzeze Wyspianskiego 27, 50-370 Wroclaw, Poland [email protected] 2 Chair of Systems and Computer Networks, Faculty of Electronics, Wroclaw University of Technology, Wybrzeze Wyspianskiego 27, 50-370 Wroclaw, Poland [email protected] Abstract. In this paper we address the problem of working paths optimization in survivable MPLS network. We focus on an existing facility network, in which only network flows can be optimized to provide network survivability using the local repair strategy. The main goal of our work is to develop an ef- fective evolutionary algorithm (EA) for considered optimization problem. The novelty is that the proposed algorithm consists of two levels. The “high” level applies typical EA operators. The “low” level idea is based on the hierarchical algorithm idea. However, the presented approach is not a classical hierarchical algorithm. Therefore, we call the algorithm quasi-hierarchical. We present a precise description of the algorithm and results of simulations run over various networks. Keywords: evolutionary algorithm, survivability, MPLS. 1 Introduction Recently, we can observe a fast development of computer networks, which implies that the survivability of communication service is becoming a fundamental problem. Connection-oriented network technologies like MultiProtocol Label Switching (MPLS) use quite simple and effective method to enable network survivability. Each connection - called label switched path (LSP) - has a working path (route) and a re- covery (backup) path (route). The working route is used for transmitting of data in normal, failure-free state of the network. After a failure of the working path, the failed connection is switched to the backup route. There are two major configurations of working and recovery paths in MPLS [10]: local repair (LR) and global repair (GR). In the former method the backup path is established around the failed element (link or node) and the node immediately upstream of the fault is the one to start recovery. In the latter method the reaction to a failure takes place from an end-to-end viewpoint for each connection. For more details on survivable MPLS networks refer to [4], [10]. In this paper we concentrate on an existing facility network, i.e. we do not consider capacity planning and topological design. Our goal is to find working routes for con- nections in order to prepare the network for future network failures. We focus on local

Transcript of Quasi-hierarchical Evolutionary Algorithm for Flow Optimization in Survivable MPLS Networks

O. Gervasi and M. Gavrilova (Eds.): ICCSA 2007, LNCS 4707, Part III, pp. 330 – 342, 2007. © Springer-Verlag Berlin Heidelberg 2007

Quasi-hierarchical Evolutionary Algorithm for Flow Optimization in Survivable MPLS Networks

Michał Przewoźniczek1 and Krzysztof Walkowiak2

1 Faculty of Computer Science and Management, Wroclaw University of Technology, Wybrzeze Wyspianskiego 27, 50-370 Wroclaw, Poland

[email protected] 2 Chair of Systems and Computer Networks, Faculty of Electronics,

Wroclaw University of Technology, Wybrzeze Wyspianskiego 27, 50-370 Wroclaw, Poland [email protected]

Abstract. In this paper we address the problem of working paths optimization in survivable MPLS network. We focus on an existing facility network, in which only network flows can be optimized to provide network survivability using the local repair strategy. The main goal of our work is to develop an ef-fective evolutionary algorithm (EA) for considered optimization problem. The novelty is that the proposed algorithm consists of two levels. The “high” level applies typical EA operators. The “low” level idea is based on the hierarchical algorithm idea. However, the presented approach is not a classical hierarchical algorithm. Therefore, we call the algorithm quasi-hierarchical. We present a precise description of the algorithm and results of simulations run over various networks.

Keywords: evolutionary algorithm, survivability, MPLS.

1 Introduction

Recently, we can observe a fast development of computer networks, which implies that the survivability of communication service is becoming a fundamental problem. Connection-oriented network technologies like MultiProtocol Label Switching (MPLS) use quite simple and effective method to enable network survivability. Each connection - called label switched path (LSP) - has a working path (route) and a re-covery (backup) path (route). The working route is used for transmitting of data in normal, failure-free state of the network. After a failure of the working path, the failed connection is switched to the backup route. There are two major configurations of working and recovery paths in MPLS [10]: local repair (LR) and global repair (GR). In the former method the backup path is established around the failed element (link or node) and the node immediately upstream of the fault is the one to start recovery. In the latter method the reaction to a failure takes place from an end-to-end viewpoint for each connection. For more details on survivable MPLS networks refer to [4], [10].

In this paper we concentrate on an existing facility network, i.e. we do not consider capacity planning and topological design. Our goal is to find working routes for con-nections in order to prepare the network for future network failures. We focus on local

Quasi-hierarchical Evolutionary Algorithm for Flow Optimization 331

repair method, however our approach can be also applied for global repair. We use an objective function –called LFL (Lost Flow in Link), which was already successfully applied to survivable assignment of network flows [11]. Since according to [5] the considered problem is NP-complete, we develop an effective heuristic algorithm based on evolutionary algorithm called HEFAN (Hierarchical Evolutionary algorithm for Flow Assigment in Non-bifurcated commodity flow). Comparing to our previous work on this subject [8-9], based on results of simulations and our analysis, we modi-fied main elements of the HEFAN algorithm including crossing and mutation proce-dures and added the low level fitness function.

2 Problem Formulation

Our objective in this section is twofold. First, we want to define an objective function - called LFL (Lost Flow in Link) - that shows the preparation of the network to the restoration process. Next, we will formulate an optimization problem using LFL func-tion. To mathematically represent the problem we introduce the following notations.

Sets:

V set of n vertices representing the network nodes. A set of m arcs representing network directed links. P set of q connections in the network.

Πp the index set of candidate working paths (routes) for connection p.

Xr set (selection) of variables kpx , which are equal to one. Xr determines the

unique set of currently selected working paths

Indices:

p connections (demands) in the network, used as subscript k candidate routes, used as superscript a arcs (directed links), used as subscript r selections, used as subscript

Constants:

kpaδ equal to1, if arc a belongs to path k realizing connection p; 0 otherwise

Qp volume (estimated bandwidth requirement) of connection p ca capacity of arc a

Variables:

kpx decision variable, which is 1 if the working route k∈Πp is selected for con-

nection p and 0 otherwise fa flow of arc a

outvg aggregate flow of outgoing arcs of v; ∑=

=vioiiv fg

)(:

out

outve aggregate capacity of outgoing arcs of v; ∑=

=vioiiv ce

)(:

out

332 M. Przewoźniczek and K. Walkowiak

We denote by VAo →: and VAd →: functions defining the origin and destina-tion node of each arc. For each Aa ∈ we call { }akadkdAka ≠=∈= ),()(|)(in the

set of incoming arcs of d(a) except a, and { }akaokoAka ≠=∈= ),()(|)(out the set

of outgoing arcs of o(a) except a.

Definition 1. The global non-bifurcated m.c. flow denoted by ],...,,[ 21 mffff = is

defined as a vector of flows in all arcs. We call a flow f feasible if for every arc

Aa ∈ the following inequality holds

aa cfAa ≤∈∀ : (1)

Inequality (1) ensures that in every arc flow is not greater then capacity. This inequal-ity is called a capacity constraint.

For the sake of simplicity we introduce the following function

⎩⎨⎧

>≤

=0

00)(

xx

xx

for

forε (2)

To analyze properties of the local repair we consider a failure of arc Ak ∈ . In the local repair flow on the arc k must be rerouted by the origin node of k. Therefore, residual capacity of arcs outgoing o(k) except k is a potential bottleneck of the restora-tion process. Notice that if

∑ −≤∈ )(out

)(ki

iik fcf (3)

then flow of the failed k can be restored using residual capacity of other links leaving the origin node of k. Otherwise if

∑ −>∈ )(out

)(ki

iik fcf (4)

then some flow of the failed link k cannot be restored because residual capacity of other arcs leaving the origin node of k is too small. It means that those arcs block the

100% restoration and some flow of k is lost. Recalling definition of out)(kog and out

)(koe

and applying formulas (3-4) we define the function outkLA of the arc k flow lost in the

node o(k) in the following way

( ))()( )()( kkokok cegfLA −−= outoutout ε (4)

Notice that in definition (4) the function of lost flow for arc k depends on the whole flow leaving the origin node of k. Therefore, we define the following function of lost flow for all arcs leaving node v

( ) )()()()(:)(:

fLAcegfLN avaoa

avvvaoa

voutoutoutout ∑=−−∑=

==ε (5)

Quasi-hierarchical Evolutionary Algorithm for Flow Optimization 333

Analogously we can define function )( fLNvin that shows how much flow is lost in

arcs incoming node v. Our goal is to define a function that shows the preparation of the network to local repair. Therefore, we formulate the following function

( )∑ +=∈Vv

vv fLNfLNfLFL 2/)()()( inout (6)

For more details on LFL function please refer to [11]. Applying function LFL we formulate the optimization problem WP_LFL of working paths assignment as follows

)(min fLFLf

(7)

subject to

Ppxkp

k p

∈∀=∑∈

(8)

pkp kPpx Π∈∀∈∀∈ ,}1,0{ (9)

AaQxfpk

pkp

kpa

Ppa ∈∀∑∑=

∈∈ Πδ (10)

Aacf aa ∈∀≤ (11)

Condition (8) guarantees that the each connection can use only working route. Constraint (9) ensures that decision variables are binary ones. (10) is a definition of a link flow. Finally, (11) denotes the link capacity constraint.

Problem WP_LFL given by (7-11) is a 0/1 NP problem with linear constraints but it is generally considered as a very hard problem [5]. The main reason why this occurs is that the solution space that includes all possible paths for each connection is extremely large. Size of the problem is large even for relatively small networks. A common approach to solve 0-1 problems is the branch-and-bound (B&B) method. According to [5], application of B&B methods for single path (non-bifurcated) flow allocation is limited to at most medium-size networks (of 20 nodes), and, therefore heuristic methods are of interest. An heuristic algorithm called FDP method was introduced in [11]. Another method to solve the WP_LFL problem is Lagrangean relaxation. The algorithm proposed in [3] – called in our work LRH (Lagrangean Relaxation Heuristic) – solves a problem related to WP_LFL. The only difference is that authors of [3] consider the network delay as the objective function. Therefore, the LRH algorithm can be adapted to the WP_LFL problem.

3 Algorithm Description

In this section we present briefly the various versions of HEFAN (Hierarchical Evolutionary algorithm for Flow Assigment in Non-bifurcated commodity flow) algorithm developed for the WP_LFL problem. It should be noticed that HEFAN

334 M. Przewoźniczek and K. Walkowiak

(version 1.0) was successfully applied to a network congestion problem and version 1.0 is the only published HEFAN version so far.

In the literature we can find EA or hybrid-EA algorithms developed for the flow assignment problem, but they are not so advanced as our algorithm. Frequently used notation is a typical EA integer-string [1-2], [6-7] usually representing link weights for different routing protocols [2], [7]. Specified operators are not applied – only crossover and mutation are used. The other difference is that in presented results, HEFAN successfully deals with very long individuals (up to 1260 genes), which is not common for other algorithms. Moreover, previous papers present results con-ducted for rather small networks (less then 20 nodes) or for much smaller number of flows to route (only in [2] results for the network with over 18000 demands are pre-sented, but all other of 13 cases are below 1100 demands) than presented here. We believe that by adding the “low” level of the algorithm, we achieve two goals: a better search effectiveness and a possibility of using the algorithm for finding the solutions in much bigger search spaces than those searched by other algorithms.

The main objective of the HEFAN algorithm is to find a feasible and the best in terms of fitness function, assignment of paths (routes) for all connections in a connec-tion-oriented network. However, the algorithm needs a proper collection of routes, for which the search will be done. Such a collection can not be neither too narrow nor too wide. Too narrow collection means that the search of the solution space will be lim-ited and there is large probability that this limited space will not include the best solu-tion. On the other hand, too wide set of routes will make the problem intractable due to the tremendous number of possible combinations. Due to these reasons, the HEFAN algorithm is conceptually divided into three abstract parts: the “high” and “low” algorithm level and the routes database. The “high” level works as a typical EA and contains a population of problem solutions (one individual is the set of route proposals for all connections in the network). The “low” level is an intelligent proce-dure of searching for new routes proposals (one individual is a single route between two nodes, represented by a list of node identifiers) using most of the EA features (crossover, mutation, using fitness function in parent choose process), but not being an EA in fact (no population size constraint – if the route between nodes X,Y has been added to the routes database, it can never be removed from it).

InitializationFinish

constraint fulfilled?

High level crossing phase

NoHigh level mutation phase

Low level crossing phase

Yes

Low level mutation phase

Results generation

Fig. 1. The HEFAN algorithm versions overview

As shown on Fig. 1 the HEFAN consists of four main phases. Two of them work on the “high” level and two on “low” level. The stopping condition may depend on user demands – it may be a typical time constraint, the maximum generation number,

Quasi-hierarchical Evolutionary Algorithm for Flow Optimization 335

or the fitness value of the best found solution. In this work we use only the time con-straint. In this paper we present the HEFAN version 2.2. The HEFAN version 1.0 was presented in [8-9]. The main modification and a step forward of the version 2.2 when compared with already published version 1.0 is the use of low level fitness function.

Set number of paths to find s=SSet number of paths found n=0Set current searched path legth l=0

S

n>=s

No

l=l+1

Find all routes of the length l between nodes X,Y and input them into routes database

Nodes X,Y

Set f = number of routes of the legth l between nodes X,Y

n=n+f

End

Yes

Fig. 2. Searching s shortest routes between nodes X,Y procedure

In the initialization phase the input parameters of algorithm (e.g. probabilities of high and low level crossing and mutation) are set. Also the start feasible solution (if any) is generated. For this task we can apply the FDP algorithm [11] or LRH algo-rithm [3]. The routes database is initiated in the following way. The initial set of routes is built using all paths of the 1, 2, 3 and 4 hops. Additionally the initial routes set includes at least s number of shortest routes between all possible node pairs. The procedure of finding at least s routes is shown on Fig. 2. For instance, if we want to find with an initialization procedure, at least 1 shortest route between nodes X and Y, it means that all shortest routes between nodes X and Y will be added to the database. In this work whenever we say that the algorithm was initiated with at least s shortest routes we mean that HEFAN’s routes database was initiated with at least s shortest routes between all possible node pairs using the algorithm described above.

The high level crossing phase contains typical EA operators and actions. At the end of this phase the new population is generated. The selection is based on the roulette wheel method. Two crossover operators were supported: single-point crossover and

336 M. Przewoźniczek and K. Walkowiak

uniform crossover. The decision which one of them is to be used is made randomly at every crossing operation according to the proportions set by the user.

The fitness function used for the experiments is based on the LFL function. First we define the following penalty function associated with the link capacity constraint

)()()(:

aavaoa

v cffPEN −∑==ε (12)

Next we formulate functions )(' fLN )(' fLFL , which include the capacity con-

straint as a penalty function in the following way

⎪⎪⎩

⎪⎪⎨

>++

=+

=0)()10*)(

2

)()((

0)(2

)()(

)('2 fPENfPEN

fLNfLN

fPENfLNfLN

fLN

vvvv

vvv

v

for

for

outin

outin

(13)

∑=∈Vv

v fLNfLFL )(')(' (14)

Finally, the fitness function F(p), where p is the single chromosome, is as follows

1)('

1)(

+=

pLFLpF (15)

Mutation replaces randomly picked up gene by a different proposition of such gene from routes database (route between the same two nodes as for the mutated gene). The replacing gene is chosen randomly with an equal probability for every proper route in the routes database.

For the low level crossing phase we define the low level fitness function L(k) of the route k. The function L(k) is calculated according to the flow vector given by high level individual p (set of route proposals for all connections in the network) but with-out the route for the source and destination node of route k.

∑∑=

∈∈ Aa

kp

kpa

PpkLx

kL)('

1)(

δ

(16)

where

⎪⎩

⎪⎨⎧

<+−≥+−=

aaaa

aaaa

fccf

fcfckL

for

for

)1(

)1/(1)('

2

(17)

In the low level crossing phase the single individual is represented by a single route between the two nodes (represented as the list of nodes the route is going through). Each gene of such an individual represents a node identifier. It is also important to notice that if any route is created during the two low level phases it is checked for containing empty loops (for example route A, B, C, D, C, where A, B, C, D are node identifiers, contains one empty loop and after removing it route will look like this: A, B, C), which are always removed during the route creation process.

Quasi-hierarchical Evolutionary Algorithm for Flow Optimization 337

In the low level crossing phase the parent selection goes as follows: one high level individual is chosen (using high level fitness function and roulette wheel method) for one low level crossing operation. The chosen high level individual is added to the new high level population which is being created during the low level crossing phase. For this high level individual we randomly choose (with equal probability for all) one gene and we compute the low level fitness function L(k) (16) for all routes in the routes database which have the same source and destination node as the chosen gene and we choose two of them using the roulette wheel method. If the chance decides that low level crossing operator is to be used the two selected low level parents are first randomly divided into two pieces. The first part from the first parent is glued with the second part of the second parent for the first offspring, the second offspring is made in an analogical way. If the two pieces do not fit to each other they are glued with the route between the glued nodes, chosen from the routes database using rou-lette wheel method and low level fitness function L(k) (16). Both low level offspring individuals are added to the routes database and one of them replaces the proper gene in the chosen high level individual (the choice is made randomly, but is proportional to the offsprings L(k) function value).

In the low level mutation phase − like in the low level crossing − a single individ-ual is represented by a single route between two nodes. The procedure of low level mutation goes as follows. For every high level individual the chance of low level mutation is checked, if the low level mutation operator is to be used then one of the high level individual genes is randomly picked up. In the selected gene, which is low level individual randomly chosen part is thrown out and the remaining two other parts are glued with randomly chosen route from routes database (exactly in the same way as it is done in low level crossing operation, but with equal probability for all proper routes – no fitness function is used here).

4 Results

HEFAN was coded in C++ and tested on a family of networks having irregular mesh topology consisting of a master network and a series of progressively sparser net-works derived from the master network. Moreover, a regular topology of a mesh was analyzed. We assume that each network arc has capacity of 4800 bandwidth units to model the OC-48 link. Table 1 summarizes the parameters of all sample networks.

Table 1. Parameters of tested networks

Name of network 104 114 128 144 162 Number of nodes 36 36 36 36 36 Number of links 104 114 128 144 162 Node degree (minimum) 2 2 3 3 3 Node degree (maximum) 5 5 6 6 6 Topology irregular mesh Demand patterns 10 10 10 10 10

338 M. Przewoźniczek and K. Walkowiak

In computation tests, it is assumed that there is a requirement to set up a connection for each direction of every node pair. Thus, the total number of demands (commodi-ties) for a 36-node network is 1260. All connections have the same bandwidth re-quirement in a given demand pattern. In the last row we report the number of traffic demand patterns tested for each experiment.

The tuning of the algorithm was based on testing of 32 different algorithm parame-ters combinations (high level crossing and mutation probability, low level crossing and mutation probability, proportion between high level single point and uniform crossing operator usage) for chosen 5 different types of networks. All tuning opera-tions were conducted on AMD 3800+ 64 2GB RAM machine. The tuning fixed parameters were population size (200 individuals) and time (60 seconds for one run).

We run two kinds of experiments. In the first one, HEFAN was not using any ini-tial solution. In the second experiment HEFAN was initialized with a solution yielded by LRH algorithm [3] – consequently, HEFAN was used to improve the solution of LRH. Both kinds of main experiments were conducted on the same machine, the time restriction was 360 seconds when HEFAN was initiated with LRH solution and 720 in the opposite case. The routes database was always initiated with all existing routes of length 4 and smaller. Table 2 summarizes all simulated algorithms’s configurations. Configuration number 0 depicts the LRH algorithm [3], which was used for reference. Configurations 1 and 4 denote the standard EA (with and without initial solution, respectively), which was also used for reference. We assume that this is a typical EA algorithm which consists only on HEFAN’s high level operators. Other configurations represent HEFAN 1.0 and HEFAN 2.2 also with and without starting solution.

Table 2. Tested algorithms’ configurations

Configu-ration. number

Algorithm version

Tuned parameters: high level crossing / high level mutation /

high level uniform crossing probability / low level crossing /

low level mutation

Init solu-tion

Computa-tion time

[s]

Initiated with at least

s shortest routes

0 LRH N/A N/A N/A N/A 1 Standard EA 0.3 / 0.2 / 0.5 / N/A / N/A Yes 360 4 2 HEFAN 1.0 0.3 / 0.1 / 0.0 / 0.5 / 0.4 Yes 360 4 3 HEFAN 2.2 0.3 / 0.2 / 0.3 / 0.5 / 0.4 Yes 360 4 4 Standard EA 0.5 / 0.2 / 0.5 / N/A / N/A No 720 4 5 HEFAN 1.0 0.5 / 0.1 / 0.0 / 0.5 / 0.4 No 720 4 6 HEFAN 2.2 0.5 / 0.2 / 0.5 / 0.5 / 0.4 No 720 4

To compare results we apply the competitive ratio performance indicator, which

indicates how well algorithm performs for a particular network. The competitive ratio is defined as the difference between result obtained for a considered algorithm and the minimum value of LFL yielded by the best algorithm. For instance, if the HEFAN 1.0 yields 500, and the best obtained result for the same simulation case is 200; the competitive ratio of HEFAN 1.0 is calculated as follows: (500-200)/500=60%. The competitive ratio indicates the quality of algorithm – lower value indicates that the algorithm obtains lower values, closer to the best found solution. For presentation of aggregate results we apply the average competitive ratio, which is the average value of competitive ratios for selected tests. The results of average competitive ratio for

Quasi-hierarchical Evolutionary Algorithm for Flow Optimization 339

different networks for the first experiment (when HEFAN is not initiated with feasible solution) are reported in Fig. 3. Each curve on the graph represents the performance yielded by one of algorithm’s configurations. According to Table 2, we show per-formance of LRH (configuration 0) and standard EA without init solution (configura-tion 4), HEFAN 1.0 without init solution (configuration 5) and HEFAN 2.2 without init solution (configuration 6). Corresponding results of the second experiment (LRH solution as an init solution) are shown in Fig. 4. According to Table 2, we report aver-age competitive ration of configurations 0, 1, 2 and 3.

0%

20%

40%

60%

104 114 128 144 162

Networks

Ave

rage

com

petit

ive

ratio

Algorithm configuration 0 Algorithm configuration 4Algorithm configuration 5 Algorithm configuration 6

Fig. 3. Average competitive ratio of various algorithm configurations as a function of network. Configuration 0 denotes the LRH algorithm, configurations 4-6 denote versions of EA and HEFAN without init solution.

0%

10%

20%

30%

104 114 128 144 162Networks

Ave

rage

com

petit

ive

ratio

Algorithm configuration 0 Algorithm configuration 1Algorithm configuration 2 Algorithm configuration 3

Fig. 4. Average competitive ratio of various algorithm configurations as a function of network. Configuration 0 denotes the LRH algorithm, configurations 1-3 denote versions of EA and HEFAN with init solution.

In Fig. 5 we show the number of cases in which a particular algorithm configura-tion provides the best found solution for experiment one. Fig. 6. presents correspond-ing results for experiment two.

340 M. Przewoźniczek and K. Walkowiak

Summarizing all results presented in Figs. 3-6 the best performance was obtained for configurations which applies HEFAN 2.2. In experiment one, HEFAN 2.2 without init solution proved to be better than LRH algorithm (about 4,5%). It is very signifi-cant observation, since – as shown in Fig. 3 – all previous versions of HEFAN and standard EA without starting feasible solution yield much worse results comparing to LRH. Consequently, results show that adding the low level fitness function L(k) (16) seems to be a step in a good direction. Moreover, we can conclude that HEFAN 2.2 is more capable of finding new good fitting route propositions and is less dependent on initialization data than standard EA that is not capable of finding any route proposi-tions. In the case of HEFAN 2.2 with starting solution, the improvement over LRH results was significant (about 17.8%). However, differences between tested algo-rithms depend on the network topology and demand pattern. As reported on Fig. 5-6 even HEFAN 1.0 and standard EA in some cases can yield the best solution.

0

10

20

30

40

0 4 5 6

Algorithm configuration

Num

ber

of f

irst p

lace

s

Fig. 5. The number of first places for each algorithm configuration. Configuration 0 denotes the LRH algorithm, configurations 4-6 denote versions of EA and HEFAN without init solution.

0

10

20

30

40

0 1 2 3

Algorithm configuration

Num

ber

of f

irst

plac

es

Fig. 6. The number of first places for each algorithm configuration. Configuration 0 denotes the LRH algorithm, configurations 1-3 denote versions of EA and HEFAN with init solution.

Surprisingly the old HEFAN 1.0 results were worse even than standard EA which was not expected. This fact proves that HEFAN 1.0 is not capable of successfully acting in rather large solution space (HEFAN 1.0 was a very effective tool for smaller 10, 14 and 18 - node networks) because it spends too much time for searching new

Quasi-hierarchical Evolutionary Algorithm for Flow Optimization 341

route proposals instead of trying to find a good route sets made from the available ones. Fortunately HEFAN 2.2 which is searching for new routes in more “aware” way (by using low level fitness function) does not suffer this problem.

5 Conclusion and Further Work

In this work we have proposed new version of evolutionary algorithm for the problem of working routes assignment in survivable MPLS networks. Results of simulation tests have shown that the HEFAN version 2.2 (using the low level fitness function L(k)) proposed in this paper, outperforms HEFAN version 1.0 [8-9] and the LRH [3] algorithm. However, there is still space for further improvement, especially in high and low level organization. The low level should be able to remove some of it’s indi-viduals (routes) from routes database – it is possible that there is a moment when a large number of unused routes in the routes database slows the algorithm down forc-ing it to compute the low level fitness function value for routes that are not good. The high level of the algorithm faces a different problem – a very large number of genes necessary to code the whole solution – what causes the EA effectiveness drops down. This is also one of possible reasons why the HEFAN algorithm effectiveness is sig-nificantly lower when it is not initiated with a feasible solution. Some possible solu-tion to this problem may be the messy–GA idea, where individuals does not have to contain all necessary genes. The other problem is the high population concentration – in the presented experiments only a small part of all possible solutions are feasible. This means that another directions of the algorithm improvement is adding some “prevent population concentration” mechanisms like parallel evolution.

References

1. Elbaum, R., Sidi, M.: Topological Design of Local Area Networks Using Genetic Algo-rithms. IEEE/ATM Transactions On Networking 5, 766–778 (1996)

2. Ericsson, M., Rescende, M., Pardalos, P.: A Genetic Algorithm for the weight setting prob-lem in OSPF Routing. J. of Combinatorial Optimization 6, 299–333 (2002)

3. Gavish, B., Huntler, S.: An Algorithm for Optimal Route Selection in SNA Networks. IEEE Trans. Commun. COM-31(10), 1154–1160 (1983)

4. Grover, W.: Mesh-based Survivable Networks: Options and Strategies for Optical, MPLS, SONET and ATM Networking. Prentice Hall, New Jersey (2004)

5. Pióro, M., Medhi, D.: Routing, Flow, and Capacity Design in Communication and Com-puter Networks. Morgan Kaufman, San Francisco (2004)

6. Riedl, A.: A Versatile Genetic Algorithm for Network Planning. In: Proceedings of EUNICE’98, pp. 97–103 (1998)

7. Riedl, A.: A Hybrid Genetic Algorithm for Routing Optimization in IP Networks Utilizing Bandwidth and Delay Metrics. In: Proceedings of IPOM (2002)

8. Przewoźniczek, M., Walkowiak, K.: Evolutionary Algorithm for Congestion Problem in Connection-Oriented Networks. In: Gervasi, O., Gavrilova, M., Kumar, V., Laganà, A., Lee, H.P., Mun, Y., Taniar, D., Tan, C.J.K. (eds.) ICCSA 2005. LNCS, vol. 3483, pp. 802–811. Springer, Heidelberg (2005)

342 M. Przewoźniczek and K. Walkowiak

9. Przewoźniczek, M., Walkowiak, K.: Quasi-hierarchical Evolution Algorithm for Flow As-signment in Survivable Connection-Oriented Networks. International Journal of Applied Mathematics and Computer Science 4, 101–116 (2006)

10. Sharma, V., Hellstrand, F(ed.): Framework for MPLS-based Recovery. RFC 3469 (2003) 11. Walkowiak, K.: A New Method of Primary Routes Selection for Local Restoration. In: Mi-

trou, N.M., Kontovasilis, K., Rouskas, G.N., Iliadis, I., Merakos, L. (eds.) NETWORKING 2004. LNCS, vol. 3042, pp. 1024–1035. Springer, Heidelberg (2004)