Metaheuristics for computing the forwarding index of a graph

12
Metaheuristics for computing the forwarding index of a graph Emely Arra´iz a , Amadı´s Martı´nez b , Oscar Meza a and Maruja Ortega a a Departmento de Computacio ´n, Universidad Simo ´n Bolı´var, Caracas, Venezuela, b Departmento de Computacio ´n, Universidad de Carabobo, Valencia, Venezuela E-mails: [email protected] [Arra ´iz], [email protected] [Meza], [email protected] [Ortega], [email protected] [Martinez] Received March 2004, received in revised form October 2004, accepted October 2004 Abstract In this paper we present two algorithms, based on Greedy Randomized Adaptive Search Procedure and Tabu Search, for computing upper bounds for the forwarding index of a graph. A typical problem in the design of communication networks is determining how to interconnect each pair of nodes, without overloading any one of them. The forwarding index of a graph is a parameter that measures the load or congestion of the network seen as the number of interconnecting paths that pass through each node. The proposed algorithms have been tested on different sets of graphs for which theoretical values are known and also on randomly generated graphs of variable size and density. Experiments show that the algorithms find the optimal solution or a solution very close to the optimum in all cases. Our results are furthermore compared with the other heuristics for which computational results are available in the literature, showing that our algorithms behave as well as or better than these. Keywords: metaheuristics; forwarding index; local search; GRASP; Tabu Search 1 Introduction A typical problem in communication network design is to determine how to interconnect each pair of nodes without overloading any node in the networks. This corresponds to finding a path between each pair of vertices in the associated graph while minimizing the number of paths that pass through each vertex. The forwarding index (or vertex-forwarding index) is a parameter that can be used to measure the load or congestion of vertices in a graph once the paths between the This work has been partially supported by grant USB-S1 2000 000438 from FONACIT, Venezuela. Intl. Trans. in Op. Res. 12 (2005) 299–310 INTERNATIONAL TRANSACTIONS IN OPERATIONAL RESEARCH r 2005 International Federation of Operational Research Societies. Published by Blackwell Publishing Ltd.

Transcript of Metaheuristics for computing the forwarding index of a graph

Metaheuristics for computing the forwarding index of agraph�

Emely Arraiza, Amadıs Martınezb, Oscar Mezaa and Maruja Ortegaa

aDepartmento de Computacion, Universidad Simon Bolıvar, Caracas, Venezuela,bDepartmento de Computacion, Universidad de Carabobo, Valencia, Venezuela

E-mails: [email protected] [Arraiz], [email protected] [Meza], [email protected] [Ortega],

[email protected] [Martinez]

Received March 2004, received in revised form October 2004, accepted October 2004

Abstract

In this paper we present two algorithms, based on Greedy Randomized Adaptive Search Procedure andTabu Search, for computing upper bounds for the forwarding index of a graph. A typical problem in thedesign of communication networks is determining how to interconnect each pair of nodes, withoutoverloading any one of them. The forwarding index of a graph is a parameter that measures the load orcongestion of the network seen as the number of interconnecting paths that pass through each node. Theproposed algorithms have been tested on different sets of graphs for which theoretical values are known andalso on randomly generated graphs of variable size and density. Experiments show that the algorithms findthe optimal solution or a solution very close to the optimum in all cases. Our results are furthermorecompared with the other heuristics for which computational results are available in the literature, showingthat our algorithms behave as well as or better than these.

Keywords: metaheuristics; forwarding index; local search; GRASP; Tabu Search

1 Introduction

A typical problem in communication network design is to determine how to interconnect eachpair of nodes without overloading any node in the networks. This corresponds to finding a pathbetween each pair of vertices in the associated graph while minimizing the number of paths thatpass through each vertex. The forwarding index (or vertex-forwarding index) is a parameter thatcan be used to measure the load or congestion of vertices in a graph once the paths between the

�This work has been partially supported by grant USB-S1 2000 000438 from FONACIT, Venezuela.

Intl. Trans. in Op. Res. 12 (2005) 299–310

INTERNATIONAL TRANSACTIONS

IN OPERATIONALRESEARCH

r 2005 International Federation of Operational Research Societies.

Published by Blackwell Publishing Ltd.

vertices have been established. The concept of forwarding index was introduced by Chung et al.(1987) and has been studied by several other authors (Heydemann and Ducourthial (1997)contains an extensive bibliographic reference). The problem has been proved to be NP-hard(Saad, 1992), which has motivated the study of heuristics for obtaining good solutions and upperbounds in reasonable computational time (Barraez and Domınguez, 1996; Loerincs, 1997).Let G(V,E) be a connected undirected graph without multiple edges. A path Puw from u to w is a

sequence of vertices hu05 u, u1, . . ., un5wisuch that {ui, ui11} is an edge, 04ion. A routing R of agraph G is a set of paths connecting each ordered pair of vertices (u,w) in V.

R ¼ fPuw : ðu;wÞ 2 V � V ; u 6¼ wg:If Puw is a path from u to w, then u and w are the endpoints of Puw. A path is elementary if the

vertices in the sequence are distinct. Note that Puw may be different from Pwu in a routing. Given arouting R of a graph G, the load r(G,R,w) of a vertex w in G is defined as the number of paths inR that contain w as an interior vertex, that is, where w is not an endpoint of the path. The loadvector of a routing R is the vector r(G,R) whose elements correspond to the loads of the verticesof G.The forwarding index of G for routing R, denoted by z(G,R), is the maximum load of a vertex in

V induced by routing R:

zðG;RÞ ¼ maxw2V

rðG;R;wÞ:

The forwarding index of G, denoted by z(G), is defined as the minimum forwarding index z(G,R)over all possible routings R of G:

zðGÞ ¼ minR

zðG;RÞ:

Figure 1 shows some graphs with their corresponding forwarding indices. Let n be the order of G.Denote by d(u,w) the distance between vertices u, w (minimum length of a path from u to w) inG(V,E). A routing for which the load of all vertices is the same will be called a vertex-uniformrouting. We recall the following result (Chung et al., 1987), which gives a lower bound for thevertex-forwarding index:

(i) zðGÞ*1n

Pu2V

Pw 6¼u ðdðu;wÞ � 1Þ:

(ii) zðGÞ ¼ 1n

Pu2V

Pw6¼u ðdðu;wÞ � 1Þ if and only if there exists a vertex-uniform routing of

shortest paths in G.

W5 C6Q4

�(W5)=2

�(C6)=4

�(Q4)=17

Fig. 1. A four-hypercube, a wheel and a cycle with their corresponding forwarding indices.

E. Arraiz et al. / Intl. Trans. in Op. Res. 12 (2005) 299–310300

Heydemann et al. (1989) introduced the edge-forwarding index (load or congestion of edges) andproved a result similar to (i) and (ii). Some results and applications of the edge-forwarding indexcan be found in Barth, and Fraigniaud (1997), Fiduccia and Hedrick (1997), Gauyacq (1997),Heydemann et al. (1989), Shahrokhi and Szekely (1993) and Sole (1995). The directed versions ofvertex and edge forwarding index have also been studied (Manousskis and Tuza, 1996).In this paper, we present two algorithms for computing upper bounds for the vertex-forwarding

index (in what follows it will be referred to as the forwarding index) of a graph. The first one isbased on the Greedy Randomized Adaptive Search Procedure (GRASP) (Feo and Resende, 1995)metaheuristic and the second one is a Tabu Search (Glover and Laguna, 1997) algorithm, as bothmetaheuristics have proved to be highly effective on other hard problems of a combinatorialnature (Feo et al., 1991; Glover and Laguna, 1997; Kontoravdis and Bard, 1995; Laguna et al.,1994; Rayward-Smith et al., 1996). The paper is organized as follows: in Section 2 we describe theproposed heuristic algorithms, in Section 3 we present the experimental results and in Section 4 wepresent the conclusions.

2 Description of the algorithms

The implementation of any iterative improvement algorithm requires an evaluation function ormeans for comparing different solutions. In the case of the forwarding index, each being a possiblerouting solution for the graph G, a natural choice would be to compare the values of z(G,R), theforwarding index associated to each routing R. However, this value does not yield enoughinformation to distinguish the possibilities of improvement of different routings with the samemaximum load for a vertex, which defines z(G,R). A more complete criterion is proposed inLoerincs (1997), based on the entire load vector of a routing, which provides more information.Both of the proposed algorithms use this criterion in order to determine when a routing R1 seemsa better candidate than another routing R2:Criterion: R1 is better than R2 if, after sorting the elements of the corresponding load vectors

r(G,Ri), i5 1, 2, in decreasing order, the reordered load vector of R1 is lexicographically smallerthan the reordered load vector of R2.The following facts are common to the two algorithms:

(i) The initial solution required by both algorithms will be a routing for the given graph. Thisrouting is iteratively constructed by a greedy randomized procedure to be described in Section2.1.

(ii) Both algorithms iteratively explore a neighborhood N(R) of the current solution R defined as:R0 is a neighbor of R if R0 can be obtained by replacing a path P in routing R by a new path P0

joining the same pair of vertices.

2.1 The GRASP algorithm

GRASP (Feo and Resende, 1995) is an iterative randomized metaheuristic. Each GRASPiteration consists of two phases. In Phase I (the construction phase), an initial routing R isconstructed by means of a greedy randomized adaptive procedure. In Phase II, a local search

E. Arraiz et al. / Intl. Trans. in Op. Res. 12 (2005) 299–310 301

procedure is applied. Beginning with an initial routing R, the local search procedure explores theneighborhood N(R) looking for a better solution until a local optimum is found. Finally, the bestoverall solution among all iterations is retained as the final solution.The GRASP method can be described as follows:

Procedure GRASP()

Begin

Initialise;

while (stopping criteria not satisfied) do

Build_greedy_solution(R); /� Phase I �/Local_Search (R); /� Phase II �/Update_Best_solution;

end_while;

End.

The stopping criterion corresponds to a maximum number of iterations which is a prefixedparameter Iterations.The Greedy Randomized Adaptive Procedure Build_greedy_solution (R) builds the initial

routing and can be described as follows:

Procedure Build_greedy_solution (R);

Begin

R:5E (edge set);

for (each ordered pair (v,w) of non-adjacent vertices) do

Generate a list L of KCam paths Pvwk from v to w, 14k4KCam;

Let Rk ¼ R [ fPkvwg, 14k4KCam;

Calculate Load Vector r(G,Rk), 14k4KCam;Lexicographically order the KCam paths according to

vectors r(G,Rk);Build list RCL with the best candidates of L;Choose a path from list RCL at random;

Include the chosen path into the partial routing R;end_for;

End.

The proposed algorithm builds the initial routing R considering the following two facts:

(i) If R satisfies z(G)5 z(G,R) (i.e. R is optimum) then the paths in R are all elementary.(ii) Let R be a routing of a graph G such that z(G)5 z(G,R). Let e5 {u,w}AE(G) and let Puw be

the path connecting u and w in R. If Puw6¼hu,wi, then z(G)5 z(G,R0), where R0 5R [ {hu,wi}� {Puw}. Hence, for each edge e5 {u,w} the pathshu,wi andhw, ui, without internalvertices, are in an optimum routing.

Therefore, we will look only for routings containing paths hu,wi and hw, ui for each edgee5 {u,w} in E and all other paths are elementary.

E. Arraiz et al. / Intl. Trans. in Op. Res. 12 (2005) 299–310302

In order to build a routing, procedure Build_Greedy_Solution (R) begins with a partialrouting R containing paths hv,wi and hw, vi for each edge {v,w} in E. Then, for each ordered pair(x, y) of non-adjacent vertices, the algorithm adds a path from x to y into R. At the end, R willcontain a path between all pair of vertices, that is, R will be a routing.The path to be added to the partial routing at each iteration is chosen at random from a list

called the Restricted Candidate List (RCL). The RCL will contain the best candidates from alarger list L of paths from v to w that are generated using a randomized Depth First Search (DFS),i.e., where each new adjacent vertex to be explored is equally likely to be chosen. The size of list Lis given by a prefixed parameter KCam. The size of the RCL is determined according to anotherparameter a that represents a threshold with respect to the value of the best candidate in L. Allcandidate solutions in L within this threshold are included in the RCL. The Build_Greedy_

Solution (R) procedure has a polynomial running time and in practice behaves very fast.Two different candidate paths P1 and P2, to be included in the RCL, are compared as follows:

calculate the partial routings Ri, i5 1, 2, by including paths Pi in the current partial routing.Candidate P1 will be better than candidate P2 if R1 is better than R2 according to the criteriondescribed at the beginning of Section 2.In Phase II of the GRASP algorithm, the Local Search procedure starts with the initial routing

obtained by the Build_Greedy_Solution (R) procedure. It then explores the neighborhood N(R)of the current solution R by successively replacing R by a better solution in N(R). The search endswhen no better solution can be found or when the number of solutions found in the search equalsthe parameter descent. This parameter controls the time spent in the search.Several strategies were tested in order to obtain better neighbor candidates of the current

routing R, including Strategy 3 used in the Tabu Search algorithm (see Section 2.2). All strategiesreplace a path of the current routing by another path, with the same endpoints, satisfying someconstraints. The two strategies that produced the best results are the following:Strategy 1. Select a path P in R that passes through an internal vertex v with maximum load

among all vertices in G. Replace this path by a new path P0 joining the same end points as P. P0

must not pass through any vertex with maximum load in G nor through other vertices in G not inP with maximum load minus 1. If such a path P0 does not exist, then search for P0 not passingthrough v nor through other vertices in G not in P with maximum load.Strategy 2. Select a path P in R of maximum length. Replace this path by a new path P0 as

follows: select an internal vertex v of maximum load in path P and build a new path P0 that doesnot contain vertex v nor any other vertex in G not in P with maximum load among all nodes of G.Both Strategy 1 and Strategy 2 build path P0 using a randomized DFS and excluding a given set

of vertices.The combination of strategies used in the GRASP algorithm that produced the best solutions is

the following: apply Strategy 1, if no path P0 was found then apply Strategy 2.It can happen that neither strategy finds a path P0 to replace P in routing R or that the new

routing R0 is worse than R; in this case the local search is stopped. If R0 is better than R or has thesame load vector as R then we take R0 as the current solution and resume the local search.Note that the new routing R0 may have the same load vector as R. Therefore, if after a certain

fixed number of iterations determined by the prefixed parameter plateau, the solution does notstrictly improve, the search is also stopped. This prevents the local search procedure from cyclingthrough solutions with the same load vector.

E. Arraiz et al. / Intl. Trans. in Op. Res. 12 (2005) 299–310 303

The procedures involved in finding a neighborhood of a routing all have polynomial order;however, the local search itself can iterate a non-determined number of times. Therefore,we introduced the parameter descent in order to bound these iterations and control the runningtime.

2.2 The Tabu Search algorithm

Tabu Search (Glover and Laguna, 1997) is a metaheuristic that exploits a collection of principlesfor intelligent problem solving. It uses: (1) flexible memory structures recording historicalinformation for different time spans and (2) an associated mechanism of control to be used withthe memory structures in order to guide the search for better solutions and define strategies forintensification and, in some cases, diversification of the search.The intensification process of the Tabu Search algorithm is implemented by a Local Search,

which, combined with certain Tabu Restrictions and Aspiration Criteria, explores theneighborhood N(R) of the current routing R. The Tabu restrictions consist of a list of forbiddenmoves, the Tabu List. Forbidding these moves should prevent the algorithm from returning torecently visited solutions. This Tabu List corresponds to a short-term memory structure.The Aspiration Criteria are mechanisms that allows the algorithm to bypass, under special

conditions, the Tabu restrictions. The diversification phase of the algorithm is intended to guidethe search towards unexplored regions of the solution space.The Tabu Search algorithm can be described as follows:

Procedure Tabu_search (solution, global_iter, local_iter, max_iter)

Begin

Build_initial_solution;

while (stopping criteria not satisfied) do

Apply Local Search based on

Tabu Restrictions and Aspiration Criteria; /� Intensification �/Build New Initial Routing

based on historical information; /� Diversification �/end_while;

End.

The initial solution of the proposed Tabu Search algorithm is a routing built by a GreedyRandomized Procedure similar to that in our GRASP algorithm. However, the Tabu Searchalgorithm uses the simpler strategy of building an RCL of fixed size, given by a programparameter, RCLsize. This strategy, which produced good results, was selected in order tocompensate for the overhead caused by the administration of memory structures and othercomponents in the Tabu Search algorithm.The neighborhood for the Local Search is defined according to the following strategy:Strategy 3. Let v be a vertex with maximum load among all vertices in G. Find a path Puw in R

that passes through v, such that (u,w) is not in the Tabu List. Replace this path by a new path Puw0

(using a randomized DFS) that does not pass through vertex v.

E. Arraiz et al. / Intl. Trans. in Op. Res. 12 (2005) 299–310304

For each of these new paths P0uw, the associated neighbor candidate solution would be:

Rv;w ¼ R [ fP0uwg � fPuwg:

This strategy, being simpler than the strategies used in the GRASP algorithm required lesscomputational effort while providing good enough solutions.The Tabu List used in the Local Search is a circular list of fixed size TabuTenure, a program

parameter, that contains all pairs of vertices u, w such that path Puw was modified in the last TabuTenure iterations. The path between each of these pairs of vertices must remain in the currentrouting for the next Tabu Tenure iterations of the Local Search procedure.The Aspiration Criteria used in the proposed algorithm are the usual: a Tabu restriction on a

candidate solution may be overridden if the solution’s value is better than that of the best solutionobtained so far.In order to build new initial routings for the diversification phase, the algorithm uses historical

information stored in a Frequency |V|� |V| matrix, which keeps track of the number of times thatthe path between a pair of vertices u, w has been modified by the algorithm. This Frequencymatrixis used to generate new solutions by selecting a pair of vertices (u,w) with a low Frequencyu,w valueand modifying the path between these vertices in the current routing.The stopping criterion corresponds to global_iter iterations without improving the incumbent

or a maximum of max_iter iterations, where global_iter and max_iter are program parameters andglobal_iteromax_iter. The stopping criterion for each local search is a maximum of local_iteriterations without improving the local solution.

3 Experimental results

The proposed algorithms have been implemented in the C programming language and run on aSUN SPARC Ultra 10 workstation. The algorithms have been tested on sets of graphs for whichthe theoretical values of the forwarding index, or ranges for these values, are known (Chung et al.,1987; Heydemann et al., 1989). These graphs are: the cycles Cn of order n, the wheels Wn of ordern11 and the hypercubes Qn of order 2

n. The algorithms were also tested on three sets of randomlygenerated graphs in order to observe their performance as the size of the graphs grows.The algorithms have been run using different values for the corresponding parameters. Table 1

shows the values used to obtain the best results presented in Tables 2 and 5.Table 2 shows the theoretical value, or an interval, for the forwarding index for the three sets of

graphs Cn, Wn and Qn (column 2), and the results obtained by the proposed algorithms for thesame graphs (columns 3 and 4). This table also shows the values obtained using the SimulatedAnnealing algorithm from Loerincs (1997) (column 5) and the Genetic algorithm from Barraezand Domınguez (1996) (column 6). For graphs C40 and Q5, the Genetic algorithm did notconverge in reasonable execution time.Both the GRASP and the Tabu Search algorithms find most of the known optimal solutions.

The results obtained are as good as or better than the best previously reported, except for problemW10, where the GRASP algorithm required 850 iterations (not reported in Table 2) to reach thesame value. The Tabu Search algorithm found new best values for W12, W20 and Q5.

E. Arraiz et al. / Intl. Trans. in Op. Res. 12 (2005) 299–310 305

The GRASP algorithm required only 20 iterations to find its best values, except for W10, W12

and W20 where it required up to 100 iterations and for C40 where in 500 iterations it obtained theoptimum value.Table 3 shows computational times for both the GRASP and the Tabu Search algorithms, as

well as for the Simulated Annealing algorithm of Loerincs (1997), all run on the same machine.Parameter descent, in the GRASP algorithm, was set to a sufficiently large value in order to

allow the Local Search to iterate and take advantage of its behavior in finding very goodsolutions. This was possible because of the low running time of the GRASP algorithm.As can be seen, the GRASP algorithm is considerably faster than the other methods. The Tabu

Search algorithm is also faster than the Simulated Annealing, except for problems C20 and C40 forwhich it obtains better or equal solutions although requiring more time.In order to study the behavior of our algorithms as the size of the problems grows, and since, to

our best knowledge, there do not exist any standard problem libraries for the forwarding indexproblem, we used randomly generated graphs. We generated three families of graphs withdifferent density (probability of two vertices being adjacent): 0.3, 0.5 and 0.8. Each family

Table 1

Parameter values

GRASP parameter Value Tabu parameter Value

Iterations 20, 100 and 500 max_iter 50

a 0.50 RCL size |V|

Plateau 10 Tabu Tenure 5

KCam 25 KCam 2|V|

Descent 100,000 global_iter 30

local_iter 25

GRASP, Greedy Randomized Adaptive Search Procedure.

Table 2

Theoretical and experimental results for the forwarding index

Graph Theoretical

GRASP

Tabu Annealing Genetic20–100–500

Cs 9 9–9–9 9 9 13

C12 25 25–25–25 25 25 38

C20 81 81–81–81 81 81 141

C40 361 362–362–361 362 365 –

W6 [3, 4] 3–3–3 3 3 8

W10 [7, 16] 47–13–13 12 12 49

W12 [9, 25] 82–20–20 18 20 82

W20 [17, 81] 304–64–64 58 64 300

Q3 5 5–5–5 5 5 12

Q4 17 18–17–17 17 18 69

Q5 49 56–50–50 49 66 –

GRASP, Greedy Randomized Adaptive Search Procedure.

E. Arraiz et al. / Intl. Trans. in Op. Res. 12 (2005) 299–310306

contains 10 different graphs of order 30, 40, 50, 60, 70 and 80, respectively. Thus, there are 60different graphs in each one of the three families.Average times were calculated for each set of 10 graphs with equal density and order. Table 4

shows running time results for sets of graphs with densities 0.3, 0.5 and 0.8, respectively. Columnsin this table correspond to the results obtained with the GRASP algorithm with 20 iterations for

Table 3

Running time in seconds

Graph GRASP 100 iterations Tabu Search Simulated Annealing

Cs 1.43 1.69 14.56

C12 4.78 14.71 32.82

C20 23.18 123.23 95.11

C40 201.08 4221.58 671.56

W6 0.99 0.74 15.29

W10 3.88 4.23 50.45

W12 6.56 7.98 56.99

W20 36.45 152.58 381.67

Q3 1.49 1.29 16.84

Q4 11.84 11.23 81.93

Q5 99.33 257.06 1184.71

GRASP, Greedy Randomized Adaptive Search Procedure.

Table 4

Mean running time (in seconds) for randomly generated graphs

Graph order with prob.

Mean running time

GRASP 20 iterations GRASP 100 iterations Tabu Search Simulated Annealing

30 prob. 0.3 52.63 272.31 726.03 1804.47

40 prob. 0.3 132.00 658.32 2061.52 4469.19

50 prob. 0.3 288.01 1346.78 5320.27 10,103.26

60 prob. 0.3 538.37 5348.69 11,712.90 19,929.80

70 prob. 0.3 924.70 6499.19 21,320.59 46,671.45

80 prob. 0.3 1104.77 7640.32 35,367.99 59,842.80

30 prob. 0.5 50.88 226.88 389.71 1408.75

40 prob. 0.5 126.27 574.05 1400.33 3722.48

50 prob. 0.5 268.12 1280.32 3961.71 7774.41

60 prob. 0.5 516.73 5166.82 8738.73 15,543.89

70 prob. 0.5 881.61 5133.58 17,828.19 38,738.36

80 prob. 0.5 1155.31 7320.19 33,753.03 56,328.30

30 prob. 0.8 44.19 218.10 216.18 419.71

40 prob. 0.8 109.26 563.58 870.68 1431.66

50 prob. 0.8 219.59 1110.15 2083.72 3857.18

60 prob. 0.8 383.18 4783.45 4176.90 6789.10

70 prob. 0.8 651.182 3586.12 8452.08 14,884.59

80 prob. 0.8 1029.99 7846.23 16,761.23 27,223.36

GRASP, Greedy Randomized Adaptive Search Procedure; prob., probability.

E. Arraiz et al. / Intl. Trans. in Op. Res. 12 (2005) 299–310 307

each run, GRASP with 100 iterations for each run, Tabu Search and Simulated Annealing,respectively. As can be seen, the GRASP algorithm has the best running times, which remain withinacceptable limits. Sparse graphs have larger running times because of the extra computationaleffort required to find new substitute paths during the Local Search, which is reasonable.Table 5 shows the values obtained by the algorithms when applied to six random graphs of

different order for each of the families generated with probabilities 0.3, 0.5 and 0.8, respectively.The second column in this table corresponds to a lower bound for the forwarding index calculatedusing the formula given in Section 1. As can be seen, both GRASP and Tabu Search give betterresults than Simulated Annealing. It should be noted that, the Tabu Search algorithm obtainsoptimum solutions in all but one case. Columns 3 and 4 show that the values obtained with theGRASP algorithm using 20 and 100 iterations are almost the same. It can also be seen thatGRASP obtains better solutions as the density of the graphs grows. Both GRASP and TabuSearch tend to produce solutions with almost equal loads for all vertices, as was observed in ourexperimental results, where vertex loads differed in at most one in almost every solution.

4 Conclusions

The proposed algorithms have been successfully implemented and run on the three sets of graphsfor which theoretical values, or ranges for these values, are known: the cycles Cn of order n, the

Table 5

Forwarding index bounds for randomly generated graphs

Graph

Forward index

Lower bound GRASP 20 iterations GRASP 100 iterations Tabu Search Simulated Annealing

rand 0.3_30 19.53 25 25 21 32

rand 0.3_40 26.10 32 31 27 55

rand 0.3_50 34.76 41 41 35 98

rand 0.3_60 39.53 45 45 40 129

rand 0.3_70 46.42 52 52 47 176

rand 0.3_80 54.92 61 61 55 269

rand 0.5_30 13.86 15 15 14 16

rand 0.5_40 19.00 21 21 19 23

rand 0.5_50 24.56 27 26 25 34

rand 0.5_60 27.83 30 30 28 42

rand 0.5_70 32.11 34 34 33 51

rand 0.5_80 38.60 41 41 39 81

rand 0.8_30 5.46 6 6 6 6

rand 0.8_40 7.90 8 8 8 9

rand 0.8_50 9.72 10 10 10 10

rand 0.8_60 11.30 12 12 12 12

rand 0.8_70 12.48 13 13 13 15

rand 0.8_80 16.17 17 17 17 21

GRASP, Greedy Randomized Adaptive Search Procedure.

E. Arraiz et al. / Intl. Trans. in Op. Res. 12 (2005) 299–310308

wheels Wn of order n11, the hypercubes Qn of order 2n and on three families of randomlygenerated graphs.Experiments show that the algorithms find optimal solutions or solutions very close to the

optimum in all cases. Comparison with the best-reported experimental values using otherheuristics shows that our algorithms behave as well or better than these. The Tabu Searchalgorithm obtains optimum solutions in almost all cases. The algorithms also behave very well interms of computational time.The experimental results allow us to conclude that the Tabu Search algorithm should be used

whenever good solutions are required, although it is not as fast as the GRASP algorithm. GRASPwith 20 iterations should be used if good upper bounds are sufficient and running time is animportant issue.The results obtained with the Tabu Search algorithm show the merits of combining the greedy

randomized procedure of GRASP for generating initial solutions, with the intensification anddiversification strategies of Tabu Search using short- and long-term memory structures. Furtherresearch will explore other means of combining and exploiting the benefits of these methods.

Acknowledgments

This research was partially funded by Research Project USB S1 2000 000438 from the Venezuelanagency FONACIT. We thank professor Gabor Loerincs for letting us use his implementation ofthe Simulated Annealing algorithm for carrying out the experimental tests.

References

Barraez, D., Domınguez, R.O., 1996. A genetic algorithm for the forwarding index/diameter of graphs. Proceedings

CLEI Panel 96, pp. 203–213.

Barth, D., Fraigniaud, P., 1997. Approximation algorithms for structured communication problems. ACM Symposium

on Parallel Algorithms and Architectures, pp. 180–188.

Chung, F., Coffman, E., Reiman, M., Simon, B., 1987. The forwarding index of communication networks. IEEE

Transactions on Information Theory, 33, 224–232.

Feo, T.A., Resende, M.G.C., 1995. Greedy randomized adaptive search procedures. Journal of Global Optimisation, 6,

109–133.

Feo, T.A., Venkatraman, K., Bard, J.F., 1991. A GRASP for a difficult single machine scheduling problem. Computers

and Operations Research, 1, 8.

Fiduccia, C.M., Hedrick, P.J., 1997. Edge congestion of shortest path systems for all-to-all communication. IEEE

Transactions on Parallel and Distributed Systems, 8, 10, 1043–1054.

Gauyacq, G., 1997. Edge-forwarding index of star graphs and other Cayley graphs. Discrete Applied Mathematics, 80,

149–160.

Glover, F., Laguna, M., 1997. Tabu Search. Kluwer Academic Publications, Dordrecht.

Heydemann, M.C., Ducourthial, B., 1997. Cayley Graphs and Interconnection Networks, NATO ASI volume. Kluwer

Academic Publishers, Dordrecht.

Heydemann, M.C., Meyer, J.C., Sotteau, D., 1989. On forwarding index of networks. Discrete Applied Mathematics,

23, 103–123.

Kontoravdis, G., Bard, J.F., 1995. A GRASP for the vehicle routing problem with time windows. Operatons Research

Society of America Journal of Computing, 7, 10–23.

E. Arraiz et al. / Intl. Trans. in Op. Res. 12 (2005) 299–310 309

Laguna, M., Feo, T.A., Elrod, H.C., 1994. A greedy randomized adaptive search procedures for the 2-partition

problem. Operations Research, 42, 677–687.

Loerincs, G., 1997. A simulated annealing algorithm for the forwarding index of graphs. Proceedings CLEI Panel 97,

pp. 253–262.

Manousskis, Y., Tuza, Z., 1996. The forwarding index of directed networks. Discrete Applied Mathematics, 68,

279–291.

Rayward-Smith, V.J., Osman, I.H., Reeves, C.R., Smith, G.D. (Eds) 1996. Modern Heuristic Search Methods. John

Wiley & Sons, New York.

Saad, R., 1992. Sur quelques problemes de complexite en theorie des graphes. These pour l’obtention du titre de Docteur

en Sciences, LRI, URA 410 du CNRS, Universite de Paris-Sud, 91405-Orsay, France.

Shahrokhi, F., Szekely, L., 1993. Integral uniform concurrent flows and all pairs packet routing. Congressus

Numerantium, 97, 3–16.

Sole, P., 1995. Expanding and forwarding. Discrete Applied Mathematics, 58, 67–78.

E. Arraiz et al. / Intl. Trans. in Op. Res. 12 (2005) 299–310310