minimal label – spanning tree problem

minimal label – spanning tree problem

European Journal of Operational Research 204 (2010) 199–205 Contents lists available at ScienceDirect European Journal of Operational Research journ...

355KB Sizes 0 Downloads 101 Views

European Journal of Operational Research 204 (2010) 199–205

Contents lists available at ScienceDirect

European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor

Discrete Optimization

On the bicriterion – minimal cost/minimal label – spanning tree problem João C.N. Clímaco a,b, M. Eugénia Captivo c, Marta M.B. Pascoal a,d,* a

Instituto de Engenharia de Sistemas e Computadores – Coimbra Rua Antero de Quental, 199, 3000-033 Coimbra, Portugal Faculdade de Economia da Universidade de Coimbra Avenida Dias da Silva, 165, 3004-512 Coimbra, Portugal c Faculdade de Ciências, Universidade de Lisboa Centro de Investigação Operacional Campo Grande, Bloco C6, 1749-016 Lisboa, Portugal d Departamento de Matemática da Universidade de Coimbra, Apartado 3008, 3001-454 Coimbra, Portugal b

a r t i c l e

i n f o

Article history: Received 27 August 2008 Accepted 16 October 2009 Available online 25 October 2009 Keywords: Spanning tree Minimal cost Minimal label Multi-objective decision making

a b s t r a c t We address a bicriterion spanning tree problem relevant in some application fields such as telecommunication networks or transportation networks. Each edge is assigned with a cost value and a label (such as a color). The first criterion intends to minimize the total cost of the spanning tree (the summation of its edge costs), while the second intends to get the solution with a minimal number of different labels. Since these criteria, in general, are conflicting criteria we developed an algorithm to generate the set of nondominated spanning trees. Computational experiments are presented and results discussed. Ó 2009 Elsevier B.V. All rights reserved.

1. Introduction and motivation The determination of spanning trees leads to several optimization problems with many applications, specially when the network connectivity is a requirement. One of the most studied of those problems is the minimal cost spanning tree problem, or simply the minimal spanning tree problem, (MCST problem). Its goal is to find a minimal cost connected sub-network of a network considering an additive objective function. This problem can be solved in polynomial time using, for instance, the algorithms proposed by Kruskal (1956) or by Prim (1957). However, other objective functions are of interest. For example, one of those cases is the minimal label spanning tree problem (MLST problem), where it is intended to determine the most uniform sub-graph of a network, assuming each edge is associated with a label, that is, to determine a spanning tree with the minimal number of different labels. This type of problem has applications involving telecommunications, as different labels can be seen as different operators, or different technologies. For instance, a potential application in this context concerns the development of tree-based routing procedures, for interconnecting certain type of routers in inter-domain routing involving multiple Internet operations. Similarly, in transportation problems labels may represent different means of transport (VanNes, 2002). The problem was introduced by Chang and Leu (1997),

* Corresponding author. Address: Departamento de Matemática da Universidade de Coimbra, Apartado 3008, 3001-454 Coimbra, Portugal. E-mail addresses: [email protected] (J.C.N. Clímaco), [email protected] (M. Eugénia Captivo), [email protected] (M.M.B. Pascoal). 0377-2217/$ - see front matter Ó 2009 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2009.10.013

who proved it to be NP-hard, by reducing it to a minimal cover problem. Despite this problem being harder than the MCST problem (Chang and Leu, 1997) developed an exact exponential algorithm, as well as two heuristic approaches with time complexity of OðmnÞ and Oð‘mnÞ, where ‘; n and m are the number of distinct labels, vertices and edges in the network, respectively. From that time other researchers have studied this problem and presented other heuristics as well as approximation results. Literature reviews on these methods can be found in Consoli et al. (2006, 2009). Wan et al. (2002) obtained a better bound for the greedy algorithm introduced earlier by Krumke and Wirth (1998), and later Xiong et al. (2005b) derived tighter bounds than those proposed by Wan et al. (2002). Several other heuristics have been proposed in the literature for this problem. Cerulli et al. (2005) presented the pilot method and compared it with other metaheuristics like reactive tabu search, simulated annealing, and variable neighbourhood search. Simplified versions of that method and genetic algorithms were given in Xiong (2005), and Xiong et al. (2005a, 2006). Also a greedy randomized adaptive search procedure and a variable neighbourhood search were proposed in Consoli et al. (2009). Hereafter we consider an undirected network ðN; AÞ, where N denotes the set of n vertices and A the set of m edges. A real value, cij , called cost, and a label, or color, lij , are associated with each edge P fi; jg. The cost of a given spanning tree T is cðTÞ ¼ fi;jg2T cij , while lðTÞ represents the number of distinct labels/colors in T. This paper concerns the bicriterion minimal cost/minimal label spanning tree problem (MCLST problem), that is, the determination of spanning trees in a network where it is intended to optimize

200

J.C.N. Clímaco et al. / European Journal of Operational Research 204 (2010) 199–205

both c and l. As the two objective functions are usually conflicting criteria, there is no solution that minimizes both objectives simultaneously. In this context optimality is replaced by the concept of non-dominance. One solution is a non-dominated solution if there is no other feasible solution which improves one objective function without worsening the other. So, given two spanning trees T and T 0 , it is said that T dominates T 0 (or that T 0 is dominated by T), T D T 0 , if and only if cðTÞ 6 cðT 0 Þ; lðTÞ 6 lðT 0 Þ and at least one of the inequalities is strict. T 0 is said to be dominated if and only if there is another spanning tree T such that T D T 0 . For details see Ehrgott and Gandibleux (2002). The set of dominated spanning trees is denoted by TD , while the other trees form the set of non-dominated spanning trees, denoted by TND . In the literature we can find approximate approaches addressing the minimal spanning tree problem with two cost functions. Namely Andersen et al. (1996), Chen et al. (2007), and Zhou and Gen (1999). In this paper, first we describe an algorithm to find the whole set of non-dominated spanning trees. As it will be shown, the numerous spanning trees with exactly the same cost and number of labels lead this algorithm to perform poorly for medium size instances. Therefore a second method, that computes the set of spanning trees with non-dominated objective values, is proposed. This means that if there are alternative non-dominated solutions, i.e., different solutions with the same objective values, only one is computed. The manuscript is organised in the following manner. Section 2 presents a method for finding all non-dominated spanning trees, based on an algorithm that computes spanning trees by nondecreasing order of cost together with a dominance test, and in Section 3 an alternative process for finding the spanning trees with non-dominated objective values is proposed. Computational experiments with these two methods are also presented. Concluding remarks are drawn in the last Section. 2. Solving the MCLST problem by ranking spanning trees Clímaco and Martins (1981) proposed a framework to find the set of non-dominated solutions of multicriteria problems. This work focuses on multicriteria optimal path problems, and was later specified by the same authors to the bicriterion shortest path problem (Clímaco and Martins, 1982). The same technique can also be adapted to other multicriteria problems, like the MCLST problem. With this method, solutions are ranked by non-decreasing order of one of the objective functions, while a dominance test is added in order to compute the set TN . Spanning trees can be determined by order of cost in polynomial time – see, for instance, (Gabow, 1977; Katoh et al., 1981) – thus we will use a ranking algorithm obtaining non-dominated solutions to the MCLST problem. In the following an adaptation of the algorithm proposed by Clímaco and Martins (1981) aiming to determine the non-dominated solutions of the MCLST problem is presented. Algorithm 2.1. Algorithm to compute all non-dominated solutions of the MCLST problem minimal cost spanning tree, M c cðT c Þ; ml lðT c Þ Tc lower bound for the number of distinct labels of a LBl spanning tree TX ;; TN ;; continue True, k 0 While ðcontinueÞ Do k kþ1 Tk k-th shortest tree /* Dominance test */ If ðcðT k Þ ¼ Mc Þ Then If ðlðT k Þ ¼ ml Þ Then TX TX [ fT k g

Else If ðlðT k Þ < ml Þ Then TX fT k g; ml lðT k Þ Else If ðlðT k Þ < ml Þ Then TN TN [ TX ; TX fT k g; M c cðT k Þ; ml If ðlðT k Þ ¼ LBl Þ Then continue False

lðT k Þ

To test the dominance of the determined solutions we note that if the spanning trees are listed by non-decreasing order of cost, then the non-dominated ones should have a non-increasing number of labels. The potential non-dominated spanning trees are stored in a working set, TX and, when a new tree T is scanned, cðTÞ and lðTÞ are compared with Mc and ml , respectively, where Mc denotes the greatest cost of the spanning trees that have been determined so far, while ml represents the smallest number of distinct labels of those spanning trees. As the spanning trees are listed by non-decreasing order of the cost two situations may arise: cðTÞ ¼ Mc or cðTÞ > Mc . In the first case we can conclude that T is dominated if lðTÞ > ml , otherwise T is candidate to be a non-dominated spanning tree and therefore it is stored in TX . In the second case the set TX is reset and the determination of a new sub-set of solutions begins storing in TX the current tree T. Clímaco and Martins (1982) established a stopping condition for the ranking in the bicriterion shortest path problem, based on the best value of the second objective function a non-dominated solution can have (and therefore based on the worst value the first objective function can present). As the determination of the minimal number of labels is a NP-hard problem, some polynomial time heuristics are known in order to find approximate values. We can also refer to the exact algorithm, but with exponential time, proposed by Chang and Leu (1997), as well as the mixed integer linear formulation of the minimal label spanning tree problem introduced by Captivo et al. (2009). In Captivo et al. (2009) problems with 1000 vertices and 10 labels were solved in less than 44 s and problems with 50 vertices and 50 labels were solved in less than 7 s. One can also specify that those values are defined by the user, even though taking the risk of not finding the whole set TN . In Algorithm 2.1 LBl should be the minimal number of labels in a spanning tree or, alternatively, at least a relaxation of it, i.e., a lower bound on that value. Methods like the algorithms by Kruskal (1956) or Prim (1957), for computing the minimal cost spanning tree are well-known. Furthermore, polynomial algorithms have been presented with the goal of determining the K best spanning trees by order of cost, T 1 ; . . . ; T K , for a given K. These algorithms were introduced by Gabow (1977) and by Katoh et al. (1981), and share similar working criteria. They find the best spanning tree and then obtain the next solution by computing the exchange between an edge in the tree and another one that is not in the tree which produces the minimal possible increase in the tree cost. The main difference consists of how they maintain the partition of feasible solutions (introduced by Lawler (1972) for obtaining the K best combinatorial optimization problem solutions) and how they select the edges to exchange. Gabow’s method has time complexity of OðKmaðm; nÞ þ m log mÞ, where aðm; nÞ is Tarjan’s inverse of Ackermann’s function (Tarjan, 1975), while the one proposed by Katoh et al. (1981) runs in time of OðKm þ minfn2 ; m log log ngÞ; both have OðK þ mÞ space complexity. As for the number of operations that Algorithm 2.1 performs it depends both on the ranking methods and on the number of spanning trees that have to be listed, which is not known in advance. However, in a general case there may be a factorial number of spanning trees. Some tests have been made in order to evaluate Algorithm 2.1 for computing the set of non-dominated spanning trees by

201

J.C.N. Clímaco et al. / European Journal of Operational Research 204 (2010) 199–205

minimising the cost and the number of labels. The problem instances consist of:  random networks, with n ¼ 15; m ¼ 50, and ‘ ¼ 5; 10; 20;  grid networks, with n ¼ 20, forms 2  10; 4  5, and ‘ ¼ 5; 10; 20. The edge costs are integer values uniformly generated between 1 and 100. The set of non-dominated spanning trees on these instances was computed by a C language implementation of Algorithm 2.1 on a Dual Core AMD Opteron with a 1 GHz processor, 1 Mb of cache and 4 Gb of RAM, running over SUSE Linux 9.3. It was only possible to determine the entire set of non-dominated solutions for very small size instances. The number of spanning trees, with exactly the same cost, increases very fast with the size of the instances or the maximal number of labels, and many problems could not run until the end due to memory overflow. Table 1 presents average results obtained in 30 problems of the mentioned instances (‘‘–” means the algorithm did not run until the end). Also the number of spanning trees was greater, and the problems were harder, for the 4  5 grids than for 2  10 grids, as shown by the higher number of non-dominated solutions that have been found. That is also the reason why less problems have ran until the end and the CPU times increased on those instances.

3. An alternative method for the MCLST problem 3.1. Theoretical results and their consequences 

Let c and l denote the minimal cost and the minimal number of labels of any spanning tree, respectively. Let ^c be the minimal  cost of a spanning tree with l labels, which corresponds to the maximal cost associated with a non-dominated spanning tree. Let ^l be the minimal number of labels of a spanning tree with cost c , which corresponds to the maximal number of labels of a nondominated spanning tree. Lemma 1. Let T; T 0 be two spanning trees such that T 0 ¼ T ffx; ygg [ ffx0 ; y0 gg, being fx; yg a leaving edge and fx0 ; y0 g an entering edge. Then lðT 0 Þ ¼ lðTÞ or lðT 0 Þ ¼ lðTÞ  1. Proof. It is trivial. In fact, T  fx; yg includes lðTÞ or lðTÞ  1 labels. So, adding fx0 ; y0 g to obtain T 0 we have the following possibilities: 1. T  fx; yg includes lðTÞ labels. Adding fx0 ; y0 g, of course lðT 0 Þ is equal to lðTÞ or lðTÞ þ 1. 2. T  fx; yg includes lðTÞ  1 labels. Adding fx0 ; y0 g, of course lðT 0 Þ is equal to lðTÞ  1 or lðTÞ. So, lðT 0 Þ is equal to lðTÞ or lðTÞ  1.

h

Proposition 1. There is at least a non-dominated tree for any l such   that l 2 ½l ; ^l, except for those l1 2 ½l ; ^l for which there exists at least a spanning tree with l2 < l1 dominating all the spanning trees with l1 labels.

Proof. Suppose we consider a spanning tree with minimal cost c and among those with this cost, the solution with minimal number of labels, i.e. ^l. Without loss of generality suppose it is unique. Starting from this non-dominated spanning tree ðc ; ^lÞ and considering the spanning trees ranked according to the cost (as in Algorithm 2.1) and Lemma 1, it is easy to conclude that the first obtained spanning tree, decreasing ^l, has exactly ^l  1 labels and a cost c1 greater than c . Taking into account the definition of non-dominated spanning tree it is easy to see that there are two possibilities, either the obtained spanning tree is non-dominated or there is some other tree with the same cost ðc1 Þ and better l. Of course, continuing the ranking according to the cost, as soon as the cost is greater than c1 , considering the whole set of solutions with cost c1 and selecting the one with best l (say l2 , being l2 6 ^l  1), we obtain the second non-dominated spanning tree. (Note that it is possible the existence of alternative optima, and so several non-dominated spanning trees with the same cost and number of labels.) 

The process would continue until a spanning tree with l labels is determined. h From this proposition it is possible to propose a new approach  to calculate non-dominated spanning trees such that k 2 ½l ; ^l. Of course, it is sufficient to calculate the minimal cost spanning tree  corresponding to each k 2 ½l ; ^l (for technical details see next paragraph) and check whether some of the obtained solutions are dominated by another one. These solutions have to be eliminated. It is not very interesting to check systematically whether several spanning trees are alternative non-dominated solutions with the same cost and number of labels, specially because the computational cost is high and the added information is not very valuable in most of the cases. However it is possible, in practical applications, to look for some of these solutions in special interesting cases. 3.2. The algorithm According to the previous section, there is at least one spanning  tree with k labels, for any k 2 ½l ; ^l. As the computational experiments have shown already, many of them have exactly the same objective values, therefore we now propose a method for computing only one spanning tree for each non-dominated pair of objective values.  If there is a non-dominated spanning tree with k labels, k 2 ½l ; ^l, then it must be a minimal cost spanning tree on one or several subnetworks of the original network where the set of edges is restricted to have k distinct labels, otherwise it would have the same number of labels and worse cost. In order to find the non-dominated solutions for each number of labels all the combinations with k out of the ‘ labels in the network are considered. Then any algorithm to find the minimal cost spanning tree can be applied on the sub-networks of ðN; AÞ containing only the edges with those k labels, as described below. Again this is an NP-hard problem itself, however for a not very large number of distinct network labels ‘ this procedure runs with reasonable execution times, as shown in the next section.

Table 1 Average number of non-dominated solutions, CPU times (in seconds) and rate of problems solved until the end, on random and grid networks. ‘¼5

n ¼ 15; m ¼ 50 2  10 45

‘ ¼ 10

‘ ¼ 20

jTN j

Time

%

jTN j

Time

%

jTN j

Time

%

4.00 2.10 2.63

4.533 8.074 20.383

10 100 90

– 3.93 4.63



0 100 63

– 5.10 5.36

– 7.730 17.817

0 100 43

7.703 21.785

202

J.C.N. Clímaco et al. / European Journal of Operational Research 204 (2010) 199–205

Now we describe Procedure 3.1, which works as a subroutine to find a minimal cost spanning tree in the sub-networks with at  most k labels, k 2 ½l ; ^l. Procedure 3.1. Procedure to compute the minimal cost spanning tree with at most k labels BestCost þ1 For every sub-set C of f1; . . . ; ‘g with k elements Do A0 sub-set of A with all the edges with labels in C T minimal cost spanning tree in ðN; A0 Þ If cðTÞ < BestCost Then BestCost cðTÞ; BestT T The hardest aspect on this method in terms of complexity is combiningthe‘ distinct labels in k element sequences, which de‘ mands for operations, therefore Procedure 3.1 is factorial and k   ‘ of OðgðnÞ ), where gðnÞ is the number of operations to find the k minimal cost spanning tree. Let TVND be a set of spanning trees with all the non-dominated objective values in ðN; AÞ. So, in general, it is a sub-set of TND . The  hardness of the MLST problem makes the value of l to be unknown ^ in advance. However, as it is easy to obtain l, we first propose the minimal cost spanning tree to be computed for every number of labels combination, starting from ^l – see Algorithm 3.1. If for a given k no spanning tree is found when all k label sub-networks are examined, that means the optimal value of l has been found,  l ¼ k þ 1, and the procedure can be halted, as no more spanning trees will be found. Algorithm 3.1. (Algorithm to compute non-dominated spanning trees – minimal cost/minimal number of labels) T minimal cost spanning tree ;; continue True k lðTÞ; TVND While k P 1 and continue Do T minimal cost spanning tree with at most k labels If T is defined and is not dominated Then TVND [ fTg TVND Else If no spanning tree was found Then continue False k lðTÞ  1 It should be noted that minimal cost spanning trees in a network with k labels might not use all these labels. Then, in a case where there exists an optimum of the cost in a network, for instance with six labels, using only four labels, we can avoid the search for trees with five labels. This enables a simplification of the search by considering k lðTÞ  1. Algorithm 3.1 computes a minimal cost spanning tree for every  combination of k labels, with k ¼ l ; . . . ; ^l, thus we have   P^l ‘ operations. Besides storing the network itself the gðnÞ k¼l k only demand of this method in terms of memory is that the computed spanning trees, at most ‘, are stored, therefore it has OðmÞ. We will refer to this algorithm as V1. A slightly different version of Algorithm 3.1, referred to as V2,  can be implemented in case l , the number of labels of the best  spanning tree, is known, as the computation can halt when the l label sub-networks have been considered. Besides, Captivo et al. (2009) introduced mixed integer linear programming formulations for the MLST problem, that have been able to solve this problem with reasonable processing times. That work reports it took about 137 s to solve the MLST problem in 500 node and 20 label instances, and about 7 s in 50 node and 50 label instances, using CPLEX 11.0 on a PC Intel CoreTM2, 2.4 GHz with 2 GB of RAM. This



variant of Algorithm 3.1 which takes into account value l , would have the stopping condition 

While k P l Do 

besides, as the halting condition depends only on l the if-thenelse instruction can be simplified, and replaced by

If T is defined and is not dominated Then TVND

TVND [ fTg

Again it should be stressed that both versions of Algorithm 3.1 use Procedure 3.1 as the underlying method for obtaining the minimal cost spanning trees with a given number of labels. In Algorithm 3.1 the number of edge labels in the sub-networks  decreases from ^l to l . The process of constructing the combinations of different numbers of edge labels can be implemented in an alternative manner, considering combinations with a single label up to ^l labels, although some minimal cost spanning tree problems might be infeasible. Such a scheme may be implemented with the help of an auxiliary breadth first search tree, the nodes of which represent each labels combination (Cormen et al., 2001). Each node of the search tree contains a new label and is associated with its predecessor, thus the label combinations can be recovered along the path from each node until the root of the tree. Following these paths and if the root is at level 0, then the level k of the tree gives access to the combinations of k labels. For instance, in a network with labels a; b; c the breadth first search tree with all combinations is depicted in Fig. 1a, or else considering each node holds the label added to the path back to the root, as depicted in Fig. 1b. In Algorithm 3.2 this tree structure is represented by a set X, the elements of which are the label sets as in Fig. 1. X is initialized with the tree root, which is not associated with any label. Then every time an element C, that is a set of labels, is chosen in X all the possible combinations of the labels in C with another of the remaining labels are new elements introduced in X. This process is described in Algorithm 3.2. Algorithm 3.2. (Algorithm to compute non-dominated spanning trees – minimal cost/minimal number of labels using a search tree) minimal cost spanning tree in ðN; AÞ; ^l ;; x 0 f;g; TVND While x 6 ^l Do T X

lðTÞ

C first element in X; X X  fCg; x number of labels in C For k 2 f1; . . . ; ‘g  C Do X X [ fC [ fkgg A0 fedges in A with the labels in C [ fkgg T minimal cost spanning tree in ðN; A0 Þ If T is defined and is not dominated Then TVND [ fTg TVND Algorithm 3.1 is similar to Algorithm 3.2 in terms of performed operations, thus it is also exponential, the difference being that the number of combination elements now varies from 1 to ^l, therefore   P^ ‘ operations. In what concerns the memory we have gðnÞ lk¼1 k space this method is more demanding than the previous, as the number of nodes in the breadth search tree, which is represented by X and stores every label of the k combinations of ‘ labels, k ¼ 1; . . . ; ^l, is exponential. 3.3. Computational experiments The two versions of Algorithm 3.1 (V1 and V2) and Algorithm 3.2 presented in the previous section have been coded in C language. The tests for the second version of Algorithm 3.1 took into

203

J.C.N. Clímaco et al. / European Journal of Operational Research 204 (2010) 199–205

Fig. 1. Trees with combinations of a; b; c.



account the solution of the MLST problem, l , obtained by using the formulation introduced in Captivo et al. (2009). The algorithm implementations have been tested on a Dual Core AMD Opteron with a 1 GHz processor, 1 Mb of cache and 4 Gb of RAM, running over SUSE Linux 9.3. Four sets of random undirected networks were considered. First some preliminary tests on the instances mentioned in Section 2. Those instances were random networks with 15 vertices and 50 edges, and grid networks of forms 2  15 and 4  5, all with ‘ ¼ 5; 10; 20. The second set was formed by instances with n ¼ 100; 200; 300; 400; 500 vertices and average degree a ¼ 2; 5; 20, considering labels obtained randomly for ‘ ¼ 5; 10; 20. It aimed to evaluate the performance of the various methods and its variation with the different parameters of the problem. The instance characteristics, in particular the average degree and the number of labels were chosen having in mind the application to telecommunication network problems, usually involving a small number of operators. The third contained instances similar to those presented in the literature for related problems. Networks with n ¼ ‘ ¼ 20; 30 vertices and density d ¼ 0:2; 0:5; 0:8 (where m ¼ dnðn  1Þ=2) have been considered. For both sets the edge costs were integer values uniformly generated between 1 and 100. The results presented below refer to average values obtained in 30 instances for each problem dimension. Finally, in order to evaluate the behaviour of the algorithms in very large instances, we considered a fourth set of networks with n ¼ 1000; 5000; a ¼ 2; 5; 20, and ‘ ¼ 5; 10; 20. All the problems in the first set were completely solved. The mean number of solutions the algorithms computed is shown in Table 2, while the mean running times are presented in Table 3. The time is very small for the instances with fewer colors, and in-

Table 2 Average number of non-dominated spanning trees, on random and grid networks.

n ¼ 15; m ¼ 50 2  10 45

‘¼5

‘ ¼ 10

‘ ¼ 20

3.87 1.70 2.00

5.93 3.60 4.23

7.50 4.70 5.90

Table 4 Average number of non-dominated spanning trees. a

2



5

10

20

5 5

10

20

20 5

10

20

n ¼ 100 n ¼ 200 n ¼ 300 n ¼ 400 n ¼ 500

1.8 1.3 1.1 1.0 1.0

3.9 3.0 2.7 2.3 2.0

9.4 7.5 6.5 5.6 4.9

3.9 3.0 3.0 2.7 2.7

7.1 6.5 6.0 5.8 5.5

11.7 13.8 13.0 12.4 12.0

4.9 5.0 5.0 4.9 4.6

9.2 9.0 9.0 9.0 9.0

18.8 18.0 18.0 18.0 18.0

creases for the ‘ ¼ 20 cases, where the Algorithm 3.2 had performed poorer than the other two methods. Table 4 reports the mean number of non-dominated solutions computed for the second set of problems. That number depends not only on the number of labels in the network but also on the ratio between the number of edges and the number of vertices in the network, that is, depends on the average degree, a. This is the reason why the number of determined solutions for n ¼ 500 is smaller than for n ¼ 100. However, on instances with a greater average degree it was observed that there is almost one solution per number of labels. The running times to find one non-dominated spanning tree, when it exists, for each number of labels in this set, are reported in Fig. 2. The different scales in the CPU times axis indicate that ‘ has a big impact on the performance of all the algorithms. Besides the dependence on the number of different labels, all of them solve several minimal spanning tree sub-problems, thus the observed times increase also with a, as well as with n. Fig. 2 shows the most efficient of the three codes on these instances was the version of Algorithm 3.1 that takes into account   the real value of l . If l is unknown then Algorithm 3.2 outperformed Algorithm 3.1, as the increase in CPU times with n was much slower. However, that same code exceeded the allocated memory for larger values of ‘, as the breadth search tree becomes too big. Therefore, all the implementations have been considered for the two first test beds, while for the third set of tests only Algorithm 3.1 has been considered. The mean numbers of nondominated solutions and CPU times for this data set, where the

Table 3 Average CPU times (in seconds), on random and grid networks. V1.1: Algorithm 3.1 V1

V1.2: Algorithm 3.1 V2

‘¼5

‘ ¼ 10

V2: Algorithm 3.2 ‘ ¼ 20

Algorithms

3.1 V1

3.1 V2

3.2

3.1 V1

3.1 V2

3.2

3.1 V1

3.1 V2

3.2

n ¼ 15; m ¼ 50 2  10 45

0.000 0.000 0.000

0.000 0.000 0.000

0.000 0.000 0.000

0.001 0.001 0.000

0.002 0.000 0.001

0.003 0.001 0.001

0.356 0.045 0.068

0.360 0.055 0.183

0.784 0.107 0.183

204

J.C.N. Clímaco et al. / European Journal of Operational Research 204 (2010) 199–205

Fig. 2. Average running times for finding one non-dominated spanning tree for each number of labels.

number of labels and the number of vertices are equal, are presented in Tables 5 and 6, respectively. For this set, the number of solutions increases with the value of d as well as with n, however the fact that these instances are denser than those in the first set provides solutions with less different labels than before, between 8.4 and 11.0 solutions for n ¼ 20 networks, and between 13.5 and 16.8 for n ¼ 30.

Table 5 Average number of non-dominated spanning trees. d

0.2

0.5

0.8

n ¼ ‘ ¼ 20 n ¼ ‘ ¼ 30

8.4 13.5

10.0 16.3

11.0 16.8

Table 6 Average running times (in seconds) for finding one non-dominated spanning tree for each number of labels, obtained with both versions of Algorithm 3.1. 



Algorithm 3.1 V1, l unknown

Algorithm 3.1 V2, l known

d

0.2

0.5

0.8

0.2

0.5

0.8

n ¼ ‘ ¼ 20 n ¼ ‘ ¼ 30

0.4381 2180.5752

3.3230 6361.8350

3.7969 6389.5503

0.1836 850.4263

1.2680 2335.5217

1.4472 2408.2400

205

J.C.N. Clímaco et al. / European Journal of Operational Research 204 (2010) 199–205 Table 7 Average running times (in seconds) for finding one non-dominated spanning tree for each number of labels, obtained with both versions of Algorithm 3.1. 



Algorithm 3.1 V1, l unknown 5

Algorithm 3.1 V2, l known

a

2

2

5

n ¼ 1000

‘¼5 ‘ ¼ 10 ‘ ¼ 20

0.004 0.014 1.056

0.008 0.183 205.132

20 0.017 0.477 377.063

0.001 0.002 0.360

0.003 0.109 156.939

0.013 0.362 376.341

n ¼ 5000

‘¼5 ‘ ¼ 10 ‘ ¼ 20

0.110 0.150 1.804

0.146 2.104 1750.274

0.749 21.175 21835.371

0.039 0.040 0.264

0.042 0.746 748.393

0.557 20.007 21621.783

Once again, although the CPU times to find the non-dominated spanning trees increased with the density of the network, the number of labels in the network edges was the determinant factor. Note  that when l is not known even in the instances with 30 vertices, it always took more than 2000 s to find the corresponding non-dominated solutions. The relative behaviour shown by the version that  uses the value of l was similar but, as for the first data set, in every case a considerable improvement of the processing times was observed when using it. The reduction is nearly 40%. Table 7 reports the mean running times for the set of largest instances. These tests revealed that, as expected, the increase of the number of vertices in the network leads to higher computation times, however the number of different labels has a major impact. 4. Conclusions In this paper we proposed two approaches dedicated to the calculation of the non-dominated solutions set of the bicriterion – minimal cost/minimal label – spanning tree problem. The first approach is based on a ranking algorithm concerning the classical minimal cost spanning tree model and a non-dominance test. Unfortunately the computational performance of this approach was poor. It was only possible to determine the entire set of nondominated solutions for small size instances. So, we developed a second approach based on theoretical results presented in this paper. It is sufficient to calculate the minimal cost spanning tree for   each l belonging to ½l ; ^l (where l is the minimal number of labels ^ in any spanning tree and l is the minimal number of labels of any minimal cost spanning tree(s)) and check whether some of the obtained solutions are dominated by other obtained solutions, eliminating in this case those solutions. It must be remarked that this approach can be used avoiding to check systematically whether several spanning trees are alternative non-dominated solutions with the same cost and number of labels. This is advisable because otherwise the computational cost would be high and the added information would not be very valuable in most of the cases. The computational results presented in the paper, using this version of the second procedure, are much better than those obtained with the first procedure, as was shown in the previous section. Problems with 500 vertices and 10 different labels are solved in less than 0.2 s. The computational burden increases for 20 label problems, but, even so, those problems are solved in reasonable time for off-line applications. So it seems that this version of the second procedure could be useful in the potential telecommunication applications refereed to in the introduction. Acknowledgments This work was partially supported by the FCT Portuguese Foundation of Science and Technology (Fundação para a Ciência e a Tecnologia) under Projects POSC/U308/1.3/NRE/04 and POCTI/ ISFL-1/152. The authors also thank the editor and the reviewers for their most valuable comments and suggestions on a preliminary version of this manuscript.

20

References Andersen, K.A., Jörnsten, K., Lind, M., 1996. On bicriterion minimal spanning trees: an approximation. Computers and Operations Research 23, 1171–1182. Captivo, M.E., Clímaco, J., Pascoal, M., 2009. A mixed integer linear formulation for the minimum label spanning tree problem. Computers and Operations Research 36, 3082–3085. Cerulli, R., Fink, A., Gentili, M., Voss, S., 2005. Metaheuristics comparison for the minimum labelling spanning tree problem. In: Golden, B., Raghavan, S., Wasil, E. (Eds.), The Next Wave on Computing Optimization and Decision Technologies, vol. 29. Springer, USA, New York, pp. 93–106. Chang, R., Leu, S.-J., 1997. The minimum labeling spanning trees. Information Processing Letters 63, 277–282. Chen, G., Chen, S., Guob, W., Chen, H., 2007. The multi-criteria minimum spanning tree problem based genetic algorithm. Information Sciences 177, 5050– 5063. Clímaco, J., Martins, E., 1981. On the determination of the non-dominated paths in a multiobjective network problem. In: Proceedings of the V Sympösium über Operations Research, Köln, 1980. In: Methods in Operations Research, vol. 40, Anton Hain, Königstein, pp. 255–258. Clímaco, J., Martins, E., 1982. A bicriterion shortest path algorithm. European Journal of Operational Research 11, 399–404. Consoli, S., Moreno, J.A., Mladenovic´, N., Darby-Dowman, K., 2006. Constructive Heuristics for the Minimum Labelling Spanning Tree Problem: A Preliminary Comparison. Technical Report DEIOC-4, Universidad de La Laguna, La Laguna. (). Consoli, S., Darby-Dowman, K., Mladenovic´, N., Moreno, J.A., 2009. Greedy randomized adaptive search and variable neighbourhood search for the minimum labelling spanning tree problem. European Journal of Operational Research 196, 440–449. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C., 2001. Introduction to Algorithms. The MIT Press, Cambridge, MA. Ehrgott, M., Gandibleux, X. (Eds.), 2002. Multiple Criteria Optimization: State of the Art Annotated Bibliographic Survey. Kluwer’s International Series in Operations Research and Management Science, vol. 52. Kluwer Academic Publishers, Boston. Gabow, H., 1977. Two algorithms for generating weighted spanning trees in order. SIAM Journal on Computing 6, 139–150. Katoh, N., Ibaraki, T., Mine, H., 1981. An algorithm for finding K minimum spanning trees. SIAM Journal on Computing 10, 211–247. Krumke, S., Wirth, H., 1998. On the minimum label spanning tree problem. Information Processing Letters 66, 81–85. Kruskal, J., 1956. On the shortest spanning subtree of a graph and the traveling salesman problem. Proceedings of the American Mathematical Society 7, 48–50. Lawler, E., 1972. A procedure for computing the K best solutions to discrete optimization problems and its application to the shortest path problem. Management Science 18, 401–405. Prim, R., 1957. Shortest connection networks and some generalizations. Bell System Technical Journal 36, 1389–1401. Tarjan, R.E., 1975. Efficiency of a good but not linear set union algorithm. Journal ACM 22, 215–225. Van-Nes, R., 2002. Design of Multimodal Transport Networks: A Hierarchical Approach. Delft University Press. Wan, Y., Chen, G., Xu, Y., 2002. A note on the minimum label spanning tree. Information Processing Letters 84, 99–101. Xiong, Y., 2005. The Minimum Labeling Spanning Tree Problem and Some Variants. Ph.D. Thesis, Graduate School of the University of Maryland. Xiong, Y., Golden, B., Wasil, E., 2005b. Worst-case behavior of the MVCA heuristic for the minimum labeling spanning tree problem. Operations Research Letters 33, 77–80. Xiong, Y., Golden, B., Wasil, E., 2005a. A one-parameter genetic algorithm for the minimum labeling spanning tree problem. IEEE Transactions on Evolutionary Computation 9, 55–60. Xiong, Y., Golden, B., Wasil, E., 2006. Improved heuristics for the minimum label spanning tree problem. IEEE Transactions on Evolutionary Computation 10, 700–703. Zhou, G., Gen, M., 1999. Genetic algorithm approach on multi-criteria minimum spanning tree problem. European Journal of Operational Research 114, 141– 152.