Split procedure for graph partitioning: an application to the SONET ring problem

Split procedure for graph partitioning: an application to the SONET ring problem

IFAC Conference on Manufacturing Modelling, IFAC Conference Manufacturing Modelling, Management and on Control IFAC Conference Conference on Manufactu...

402KB Sizes 7 Downloads 83 Views

IFAC Conference on Manufacturing Modelling, IFAC Conference Manufacturing Modelling, Management and on Control IFAC Conference Conference on Manufacturing Modelling, Modelling, IFAC Manufacturing Management and on Control Available online at www.sciencedirect.com June 28-30, 2016. Troyes, France Management and Control Management and Control June 28-30, 2016. Troyes, France June June 28-30, 28-30, 2016. 2016. Troyes, Troyes, France France

ScienceDirect

IFAC-PapersOnLine 49-12 (2016) 763–768

Split procedure for graph partitioning: an Split Split procedure procedure for for graph graph partitioning: partitioning: an an application to the SONET ring problem application to the SONET ring problem application to the SONET ring problem

Christophe Duhamel ∗∗ Dario Jos´ e Aloise ∗∗ ∗∗ Christophe Duhamel e Aloise ∗ Dario Jos´ ∗∗ ∗∗∗ ∗ ∗∗ Christophe Duhamel Dario Jos´ e Aloise Andr´ ea Cynthia Santos Christophe Duhamel Dario Jos´ e Aloise ∗∗∗ Andr´ e a Cynthia Santos ∗∗∗ ∗∗ ∗∗∗ Andr´ e a Cynthia Santos Thiago Henrique Freire de Oliveira Andr´ ea Cynthia Santos ∗∗ Thiago Henrique Freire de Oliveira ∗∗ Thiago Thiago Henrique Henrique Freire Freire de de Oliveira Oliveira ∗∗ ∗ e Blaise Pascal, Aubi`ere, ∗ LIMOS-UBP, UMR CNRS 6158, Universit´ ∗ LIMOS-UBP, UMR CNRS 6158, Universit´ ∗ LIMOS-UBP, UMR [email protected]) 6158, Universit´ Universit´eee Blaise Blaise Pascal, Pascal, Aubi` Aubi`eeere, re, France (e-mail: LIMOS-UBP, UMR CNRS 6158, Blaise Pascal, Aubi` re, France (e-mail: [email protected]) ∗∗ France (e-mail: [email protected]) do Estado do Rio Grande do Norte, UERN, Mossor´ o, France (e-mail: [email protected]) ∗∗ Universidade do Estado do Rio Grande do Norte, UERN, Mossor´ o , ∗∗ ∗∗ Universidade Universidade Estado do Rio Grande do Norte, UERN, Mossor´ o Brasil (e-mail: [email protected]) Universidade do do Estado do Rio Grande do Norte, UERN, Mossor´ o,, Brasil (e-mail: [email protected]) ∗∗∗ [email protected]) UMR(e-mail: CNRS 6281, Universit´e de Technologie de Brasil (e-mail: [email protected]) ∗∗∗ ICD-LOSI,Brasil ∗∗∗ ICD-LOSI, UMR CNRS 6281, Universit´ ∗∗∗ ICD-LOSI, UMR CNRS 6281, Universit´eee de de Technologie Technologie de de Troyes, UMR FranceCNRS (e-mail: [email protected]) ICD-LOSI, 6281, Universit´ de Technologie de Troyes, France (e-mail: [email protected]) Troyes, France (e-mail: [email protected]) Troyes, France (e-mail: [email protected]) Abstract: The classical set partitioning problem is defined on a graph G = (V, E) and Abstract: The classical set partitioning problem is defined on aa graph G = (V, E) and Abstract: The partitioning problem defined G (V, consists of partitioning V set in disjoint subsets. In thisis study, weon propose a Split procedure to Abstract: The classical classical set partitioning problem is study, defined on a graph graph G = =procedure (V, E) E) and and consists of partitioning V in disjoint subsets. In this we propose a Split to consists of partitioning V in disjoint subsets. In this study, we propose a Split procedure to minimize the number of partitions for a given sequence of nodes, considering local and global consists of partitioning V in disjoint subsets. In this study, we propose a Split procedure to minimize the number of partitions for aa given sequence of nodes, considering local and global minimize the partitions for sequence of considering local global capacity constraints onof the partitions. The procedure relies on dynamic programming and it is minimize the number numberon ofthe partitions for The a given given sequence of nodes, nodes, considering local and and global capacity constraints partitions. procedure relies on dynamic programming and it capacity constraints on the the partitions. partitions. The procedure procedure relies onused dynamic programming and in it is is applied here to the SONET Ring Assignment Problem. It ison as a decoding function a capacity constraints on The relies dynamic programming and it is applied here to the SONET Ring Assignment Problem. It is used as aa decoding function in aa applied here to the Assignment It is used as decoding function in Biased Random KeySONET GeneticRing Algorithm and asProblem. a constructive heuristic in a hybrid multistart applied here to the SONET Ring Assignment Problem. It is used as a decoding function in a Biased Random Key Genetic Algorithm and as aa constructive heuristic in aa hybrid multistart Biased Random Key Genetic Algorithm as heuristic Evolutionary Local Search. High-quality results are computed on classic in benchmarks. Biased Random KeySearch. Genetic Algorithm and and as are a constructive constructive heuristic in a hybrid hybrid multistart multistart Evolutionary Local High-quality results computed on classic benchmarks. Evolutionary Evolutionary Local Local Search. Search. High-quality High-quality results results are are computed computed on on classic classic benchmarks. benchmarks. © 2016, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved. Keywords: network design, SONET rings, split, dynamic programming, heuristics Keywords: Keywords: network network design, design, SONET SONET rings, rings, split, split, dynamic dynamic programming, programming, heuristics heuristics Keywords: network design, SONET rings, split, dynamic programming, heuristics 1. INTRODUCTION user 1. user 1. INTRODUCTION INTRODUCTION 1. INTRODUCTION user local user access point The classical Set Partitioning Problem (SPP) is defined The classical Set Partitioning Problem (SPP) The classical Set Partitioning Problem (SPP) is is defined defined on a classical graph G Set = (V, E) and consists of partitioning V in The Partitioning Problem (SPP) is defined on a graph G = (V, E) and consists of partitioning V in on a graph G = (V, E) and consists of partitioning V in disjoints subsets. Several problems, applications and subon a graph G = (V, E) and consistsapplications of partitioning Vsubin disjoints subsets. Several problems, and disjoints subsets. Several problems, applications and clussubproblemssubsets. of NP-hard problems rely applications on a SPP (e.g. disjoints Several problems, and subproblems of problems rely on SPP clusproblems of NP-hard NP-hard problems rely on a SPP (e.g. (e.g. etc.). clustering, vehicle routingproblems problems, crew scheduling, problems of NP-hard rely on aascheduling, SPP (e.g. clustering, vehicle routing problems, crew etc.). tering, vehicle routing problems, crew scheduling, etc.). We address here a more sophisticated SPP for which tering, vehiclehere routing problems, crew scheduling, etc.). We address aa more SPP for which We address here constraint more sophisticated sophisticated SPP for global which one local capacity per partitionSPP and one We address here a more sophisticated for which one local capacity per partition and one one local constraint capacity constraint constraint perpartitions partition are andconsidered. one global global capacity between the one local capacity constraint per partition and one global capacity constraint between the partitions are considered. capacity constraint between the partitions are considered. Given these constraints and the a sequence ofare nodes, a Split capacity constraint between partitions considered. Given these and aa sequence of aa Split Given theseis constraints constraints and sequence of nodes, nodes, number Split procedure proposed to compute the minimal Given these constraints and a sequence of nodes, a Split procedure is proposed to compute the minimal number procedure is proposed to compute the minimal number of partitions. It relies on dynamic programming. This procedure is proposed to compute the minimal number of partitions. It on dynamic programming. This of partitions. It relies relies on dynamic programming. This strategy is applied here on to the well-known SONET Ring of partitions. It relies dynamic programming. This strategy is here to well-known SONET Ring strategy is applied applied here to the thewhich well-known SONET Ring Assignment Problemhere (SRAP) is a NP-hard problem strategy is applied to the well-known SONET Ring Assignment Problem (SRAP) which is a NP-hard problem Assignment Problem (SRAP) which is a NP-hard problem and which finds applications in optical fiber network design Assignment Problem (SRAP)inwhich is a NP-hard problem and which applications and which finds finds applications in optical optical fiber fiber network network design design Goldschmidt et applications al. (2003). in and which finds optical fiber network design Goldschmidt et al. (2003). Goldschmidt et et al. al. (2003). (2003). Goldschmidt Partitioning the nodes into subsets corresponds to assignPartitioning the nodes into subsets corresponds to Partitioning the nodesrings intofor subsets corresponds to assignassigning the nodesthe to local the SRAP. Each node has to Partitioning nodes into subsets corresponds to assigning the nodes to local rings for the SRAP. Each node has to ing the nodes to local rings for the SRAP. Each node hascato be assigned totoalocal localrings ring,for subject to a limited traffic ing the nodes the SRAP. Each node has to be assigned to a local ring, subject to a limited traffic cabe assigned to a local ring, subject to a limited traffic capacity (bandwidth) per ring. The local rings are connected be assigned to a local ring, subject to a limited traffic capacity (bandwidth) per The local pacity (bandwidth) per ring. ring. TheCross-Connecters local rings rings are are connected connected by a federal ring using Digital (DXC), pacity (bandwidth) per ring. The local rings are connected by a federal ring using Digital Cross-Connecters (DXC), by federal ring ring, usingsee Digital Cross-Connecters (DXC), oneaafor each local FigureCross-Connecters 1. The federal ring(DXC), is also by federal ring using Digital one for local ring, see 1. federal ring is one for each each local ring,capacity. see Figure FigureThe 1. The The federal ring is also also limited by its traffic DXCs are ring expensive, one for each local ring, see Figure 1. The federal is also limited by its traffic capacity. The DXCs are expensive, limited by its traffic capacity. The DXCs are expensive, thus the objective is to minimize them, that is minimizing limited by its traffic capacity. The DXCs are minimizing expensive, thus the is them, that thus the objective objective is to to minimize minimize them, that is is minimizing minimizing the number of partitions. Severalthem, formulations, compact thus the objective is to minimize that is the number partitions. Several formulations, compact the number of of partitions. Severalfor formulations, compact or extended, have been proposed SRAP (Goldschmidt the number of partitions. Several formulations, compact or extended, have been for (Goldschmidt or extended, have been proposed proposed for SRAP SRAP (Goldschmidt et al. (2003); have Macambira et al. (2006)). To our knowledge, or extended, been proposed for SRAP (Goldschmidt et al. (2003); Macambira et al. (2006)). To our knowledge, et al. (2003); Macambira et al. (2006)). To our knowledge, the best compact formulations have been presented in et al. (2003); Macambira et al. (2006)). To our knowledge, the best compact formulations have been presented in the best compact formulations have been presented in Macambira et al. (2006), as well as a branch-and-price. the best compact formulations have presented in Macambira et as as aabeen branch-and-price. Macambira et al. al. (2006), (2006), as well well asinitially branch-and-price. Several constructive heuristics wereas proposed by Macambira et al. (2006), as well a branch-and-price. Several constructive heuristics were initially proposed by Several constructive heuristics were initially and proposed by Goldschmidt et al. (2003). Thewere edge-based the cutSeveral constructive heuristics initially proposed by Goldschmidt et al. (2003). The edge-based and the cutGoldschmidt et al. (2003). The edge-based and the cutbased heuristics consist of creating |V | initial local rings Goldschmidt et al. (2003). The edge-based and the rings cutbased based heuristics heuristics consist consist of of creating creating |V |V ||| initial initial local local rings rings based heuristics consist of creating |V initial local

local access point local point digital cross−connecter local access access point digital cross−connecter digital cross−connecter digital cross−connecter

Fig. 1. example of a SONET topology Fig. 1. example of aa SONET topology Fig. Fig. 1. 1. example example of of a SONET SONET topology topology and iteratively merge them according the weight of the and iteratively merge them according the weight of the and iteratively them according the the edges, resp. the merge cut. The node-based first of sets a and iteratively merge them accordingheuristic the weight weight of the edges, resp. the cut. The node-based heuristic first sets a edges, resp. the cut. Thethen node-based heuristic first sets a numberresp. of k the local rings, iteratively assign first eachsets node edges, cut. The node-based heuristic a number of k local rings, then iteratively assign each node number of k k local rings, then being iteratively assign each node to a ring, thelocal ringrings, capacity relaxed. The method number of then iteratively assign each node to aa ring, the ring capacity being relaxed. The method to the ring capacity being The method is run again less ring as relaxed. long as the to a ring, ring, thewith ringone capacity being relaxed. Theresulting method is run again with one less ring as long as the resulting is run again with one less ring as long as the resulting solution is feasible. Simple heuristics adapted from the is run again with one less ring as long as the resulting solution is Simple heuristics adapted from the solution is feasible. feasible. Simple heuristics adapted from Fit) the Bin Packing ProblemSimple (Best Fit Decreasing and Next solution is feasible. heuristics adapted from the Bin Packing Problem (Best Fit Decreasing and Next Fit) Bin Packing Problem (Best Fit Decreasing and Next Fit) or based on cliques and cycles (Clique Best and Fit and Cycle Bin Packing Problem (Best Fit Decreasing Next Fit) or based on cliques and cycles (Clique Best Fit and Cycle or based cliques cycles (Clique Best Fit and Best Fit) on have been and proposed Aringhieri or based on cliques and cyclesin (Clique Bestand FitDell’Amico and Cycle Cycle Best Fit) have been proposed in Aringhieri and Dell’Amico Best Fit) have been proposed in Aringhieri and Dell’Amico (2005). Best Fit) have been proposed in Aringhieri and Dell’Amico (2005). (2005). (2005). Metaheuristics have been also developed: a tabu search Metaheuristics have been also developed: aa tabu search Metaheuristics have been also search and a scatter search Aringhieri and Dell’Amico Metaheuristics have in been also developed: developed: a tabu tabu (2005), search and a scatter search in Aringhieri and Dell’Amico (2005), a scatter scatter search using in Aringhieri Aringhieri and Dell’Amico Dell’Amico (2005), aand genetic algorithm path relinking in Bastos(2005), et al. and a search in and aa genetic algorithm using path relinking in Bastos et al. genetic using path relinking Bastos et a algorithm Greedy Randomized Adaptivein Search Procea(2005), genetic algorithm using path relinking in Bastos et al. al. (2005), a Greedy Randomized Adaptive Search Proce(2005), aa Greedy Adaptive Search dure (GRASP) in Randomized Macambira et al. (2006) and,Procemore (2005), Greedy Randomized Adaptive Search Procedure (GRASP) in Macambira et al. (2006) and, more dure (GRASP) in et and, recently, honey bees mating optimization in Bernardino dure (GRASP) in Macambira Macambira et al. al. (2006) (2006) and, more more recently, honey bees mating optimization in Bernardino recently, honey beesSRAP mating optimization in Bernardino Bernardino et al. (2011). Thus, is an interesting target problem recently, honey bees mating optimization in et al. (2011). Thus, SRAP is an interesting target problem et Thus, an target problem to al. test(2011). our approach since is high-quality results are et al. (2011). Thus, SRAP SRAP isseveral an interesting interesting target problem to test our approach since several high-quality results are to test our approach since several high-quality results are available. to test our approach since several high-quality results are available. available. available.

Copyright 2016 IFAC 763 Hosting by Elsevier Ltd. All rights reserved. 2405-8963 © 2016, IFAC (International Federation of Automatic Control) Copyright © 2016 IFAC 763 Copyright 2016 IFAC 763 Peer review© of International Federation of Automatic Copyright ©under 2016 responsibility IFAC 763Control. 10.1016/j.ifacol.2016.07.866

IFAC MIM 2016 764 June 28-30, 2016. Troyes, France

Christophe Duhamel et al. / IFAC-PapersOnLine 49-12 (2016) 763–768

In this study, the following contributions are detailed: the Split algorithm, successfully applied to Vehicle Routing Problems, is adapted here to SRAP. It is is embedded into an hybrid Evolutionary Local Search (ELS) metaheuristic and numerical results are provided on well-known SRAP instances from the literature. The work is organized as follows: the formal SRAP definition is provided in Section 2. Then, the proposed Split procedure is presented in Section 3, followed by two hybrid heuristics in Section 4. Numerical results are given in Section 5, before conclusions. 2. DEFINITION AND MATHEMATICAL FORMULATION SRAP is defined on an undirected graph G = (V, E), where V is the set of n clients and E is the set of m traffic requests between pairs of clients. For each traffic request [i, j] ∈ E, the traffic demand. The total amount of let dij > 0 be  traffic is D = A ring r ⊂ V is a subset of [i,j]∈E dij .   vertices, its traffic is T (r) = [i,j]∈r dij + i∈r,j ∈r / dij . Let Q > 0 be the traffic capacity for each ring. SRAP consists in partitioning V into a minimal number of rings such that the traffic in each ring, including the federal ring, does not exceed its capacity Q. The compact model of (Macambira et al. (2006)) is given in (1)-(12). Binary variables y r state if the ring r is used (y r = 1) or not (y r = 0). Binary variables xri indicate if vertex i belongs to ring r (xri = 1) or not (xri = 0). r Moreover, auxiliary decision variables zij define if at least r one of the vertices i and j belongs to the ring r (zij = 1) r or not (zij = 0). max 

n   r=1 i∈V

nxri −

r dij zij Q

[i,j]∈E n 



n 

yr

(1)

r=1

∀r = 1 . . . n

r dij zij D+Q

(2) (3)

r=1 [i,j]∈E n  r=1 r

xri  1 ∀i ∈ V

xri  y ∀i ∈ V, ∀r = 1 . . . n  xri ∀[i, j] ∈ E, ∀r = 1 . . . n  xrj ∀[i, j] ∈ E, ∀r = 1 . . . n r  xri + xrj ∀[i, j] ∈ E, ∀r = 1 . . . n zij r zij r zij

y r  y r−1 ∀r = 2 . . . n ∈ {0, 1} ∀i ∈ V, ∀r = 1 . . . n y r ∈ {0, 1} ∀r = 1 . . . n r zij ∈ {0, 1} ∀[i, j] ∈ E, ∀r = 1 . . . n xri

(4) (5) (6) (7) (8) (9) (10) (11) (12)

The objective function (1) aims at maximizing the number of vertices assigned to a ring, while minimizing the number of rings. This allows unfeasible instances to be handled properly. Constraints (2) and (3) respectively ensure the capacity of local rings and of the federal ring. Inequalities (4) guarantee each vertex is inserted into at most one ring, 764

while Restrictions (5) forbid vertices to be assigned to an unused ring. Variables x and z are coupled by constraints (6), (7) and (8). Inequalities (9) reduce the symmetry coming from variables y by forbidding a ring to be used if its predecessor is not used. Variables are defined from (10) to (12). 3. SPLIT PROCEDURE Split has been proposed by Beasley (1983) for the the Vehicle Routing Problem (VRP). It uses a “route first cluster second ” strategy. Basically, given an ordered set of clients (often referred as a giant tour), it computes in polynomial time the optimal cutting points to get a feasible solution for the VRP. Thus, this is an efficient way of projecting solutions of the Traveling Salesman Problem into VRP solutions. Here, a similar idea is used to compute feasible solutions for SRAP. However, both local rings and federal ring capacities are ensured, instead of only satisfying local capacities (vehicle capacity) as for the VRP. Let S and Sk be respectively a full sequence of clients V and the client at position k in S. An auxiliary digraph H = (N, A) is then built: each node i ∈ N corresponds to a possible cutting point in S. Thus |N | = n + 1 and each arc (i, j) ∈ A represents a subsequence (Si+1 . . . Sj ). Such a subsequence defines a ring and only arcs corresponding to rings satisfying the capacity constraint (2) are considered in H. Finding the best way to cut the sequence into feasible rings is equivalent to finding the shortest path in acyclic graph H from node 0 to node n + 1. The federal ring capacity cannot be ensured in the evaluation of each arc (i, j) ∈ A. Since it is a global constraint, the capacity can be modeled as a global resource and the problem turns into a Shortest Path Problem with Resource Constraints (SPPRC). The problem is strongly NP-hard in the general case and it is typically solved by dynamic programming, labeling algorithms, relaxation methods or constraint programming (Irnich and Desaulniers (2005)). The problem still remains weakly NP-hard in our context, i.e. an acyclic graph with a single resource (Garey and Johnson (1979)). Label-based Dynamic programming is used to compute the optimal solution, whenever it exists, given the sequence S. Thus Split for SRAP differs from the initial VRP version in the sense that (i) the evaluation of the arcs requires additional computation and (ii) the federal ring capacity has to be handled as a resource. A list of labels Li is used for each node i ∈ N . A label l = (pl , nl , tl ) ∈ Lj corresponds to a partial path from node 0 to node j; pl is the origin node of the arc (pl , j) ∈ A that generated l; nl is the number of rings used in this partial path; tl is the federal traffic generated by those rings. Those lists are initially empty, Li = ∅, ∀i ∈ N \ {0}, and an initial label is set at node 0, L0 = {(0, 0, 0)}. The labels are then propagated on the arcs. Given a label l = (pl , nl , tl ) ∈ Li and an arc (i, j) ∈ A, a new label l = (i, nl + 1, tl + t(i, j)) is generated at node j. t(i, j) corresponds to the traffic from the subsequence (Si+1 . . . Sj ) to the remaining sequence (Sj+1 . . . Sn ). The new label l is dropped if the federal traffic exceeds the federal ring capacity, tl + t(i, j) > Q. Otherwise it enters the list Lj , if it is not dominated by

IFAC MIM 2016 June 28-30, 2016. Troyes, France

Christophe Duhamel et al. / IFAC-PapersOnLine 49-12 (2016) 763–768

{S1 . . . Sk } {S1 S2 } 0

{S1 }

1

2

k

n

Ln = ∅

Lk = {(0, 1, t(0, k))}

L2 = {(0, 1, t(0, 2))}

L1 = {(0, 1, t(0, 1))}

L0 = {(0, 0, 0)}

Fig. 2. Label propagation from node 0 a label l ∈ Lj (l ≺ l ). The label propagation from node 0 is illustrated in Figure 2. Arcs (0, 1) to (0, k) are supposed to be associated to feasible rings. The initial label l = (0, 0, 0) is then propagated into each node 1 to k. Each new label corresponds to a single ring and the federal traffic is set accordingly. The dominance criterion between a label l1 = (p1 , n1 , t1 ) and a label l2 = (p2 , n2 , t2 ) is defined as:

l1 ≺ l2



 n1 ≤ n2 and  t1 < t2

(13)

The labels l ∈ Li are sorted by increasing value of nl . The general scheme of the Split for SRAP is presented in Algorithm 1. The initial label is set at node 0, line 3. Then the nodes are sequentially scanned lines 5-23. For each node i ∈ H, its outgoing arcs (i, j) ∈ A are checked lines 8-21. The internal and external traffics corresponding to the arc (i, j), i.e. the ring, are computed line 10. If (i, j) corresponds to a feasible ring, line 11, the labels l ∈ Li of node i are propagated to node j, lines 13-19. The federal traffic increase is computed line 14 in order to set the new labels at node j, line 16. Most previous works on SRAP (Aringhieri and Dell’Amico (2005); Macambira et al. (2006); Bastos et al. (2005); Bernardino et al. (2011)) have stressed the importance of allowing unfeasible solutions during the local search. This allows a more efficient exploration of the solution space, especially when the capacity constraints are tight. Moreover, some classic instances are known to be unfeasible while some others have been designed to have tight capacity constraints. The tighter the capacity constraints, the lower the probability of Split being able to compute a feasible solution from a random sequence. The Split algorithm is adapted to allow partial unfeasibility: the federal ring capacity constraint is relaxed, while the constraints on local ring capacity are kept. Thus, solutions computed by Split are feasible with respect to the local ring capacity constraints but may violate the federal ring capacity. This relaxation is implemented by allowing labels l whose federal traffic tl > Q. As a consequence, a label l = (pl , nl , tl ) is evaluated as nl + K{max 0, tl − Q} in order to take any existing violation on the federal ring capacity into account, with K a large positive constant. However, the capacity on local rings is ensured. Thus, 765

765

Algorithm 1 Split algorithm for SRAP. Input: graph H = (N, A), sequence S Output: minimal feasible number of rings 1: // initialization 2: Li ← {}, ∀i = 1 . . . n 3: L0 ← {(0, 0, 0)} 4: // cutting points 5: for i = 0 . . . n − 1 do 6: if Li = ∅ then 7: // scan the arcs (i, j) ∈ A 8: for j = i + 1 . . . n do 9: let S  = Si+1 . . . Sj the new ring 10: compute I(S  ) and E(S  ), internal and external traffic for S  11: if I (S  ) + E(S  ) ≤ Q then 12: // propagate the labels from Li 13: for all l = (pl , nl , tl ) ∈ Li do 14: compute E + (S  ), external traffic from S  to the nodes Sj+1 . . . Sn 15: if tl + E + (S  ) ≤ Q then 16: l = (i, nl + 1, tl + E + (S  )) 17: update Lj with l 18: end if 19: end for 20: end if 21: end for 22: end if 23: end for 24: if Ln = ∅ then 25: return n 26: else 27: return arg minl=(pl ,nl ,tl )∈Ln {nl } 28: end if only feasible arcs (i, j) ∈ A with respect to the local ring capacity are considered. As mentioned before, this algorithm is polynomial since any arc is used once, the number of labels at each node is at most n, and computing a ring traffic has a worst-case complexity of O(m). 4. HYBRID HEURISTICS The proposed Split procedure is used as a chromosome decoding function for a Biased Random Key Genetic Algorithm (BRKGA) and in a randomized constructive heuristic for a Multi-Start Evolutionary Local search (MSELS). Random-Key Genetic Algorithms (RKGA) have been introduced by Bean (1994) to overcome some issues related to the crossover and the mutation operations. A random key is a real value in [0, 1] and a chromosome is a vector of random keys. Translating a chromosome into a solution requires a dedicated decoding procedure. It depends on the problem and on the meaning of the random keys. The meaning of the random keys often corresponds to weights associated with elements of the problem. Those weights are used to first sort the elements, then set the sequence obtained as an input of a problem-dependent heuristic. Thus the random keys do not usually correspond to an explicit encoding of a solution. This offers the advantage of such chromosomes being resilient to basic crossover and

IFAC MIM 2016 766 June 28-30, 2016. Troyes, France

Christophe Duhamel et al. / IFAC-PapersOnLine 49-12 (2016) 763–768

mutation operations and there is no need to call a repair function after such operations. The Biased Random-Key Genetic Algorithm (BRKGA) Gon¸calves and Resende (2011); Resende (2012) differs from the RKGA by partitioning the current population into an elite set and a non-elite set. The elite set contains the best elements of the population. Then, the crossover combines one elite element with another element from the population, hence the bias. This method has been successfully applied on various NP-hard problems Resende (2012); Coco et al. (2014); Mor´ an-Mirabal et al. (2014). In the context of SRAP, a chromosome in BRKGA is a vertex-indexed vector of random keys. The decoding function works as follows: the vertices are first sorted in increasing order of their random keys. The resulting sequence is then transformed into a SRAP solution by applying the Split procedure presented in Section 3. The p chromosomes of the initial population are randomly generated. New ones are created through crossovers and mutations at each iteration of BRKGA. The selection of the two parent chromosomes for a crossover is done as mentioned before: the first parent is randomly chosen in the elite set, while the second is randomly chosen in the population. For each element of the child chromosome, a probability pr > 0.5 of inheriting from the ’elite’ father is used. Thus, the child receives the value from the other parent chromosome with probability 1 − pr . Mutation simply consists in randomly generating a new chromosome. Each iteration of BRKGA, pc chromosomes are built using crossover and pm using mutation. The population evolution is elitist and the best p chromosomes among the p + pc + pm elements are kept for the next iteration. The MS-ELS metaheuristic combines a multistart (MS) strategy with an Evolutionary Local Search (ELS). Its general scheme for SRAP is presented in Algorithm 2. The ELS has been developed by Merz and Wolf (2006) to extend the Iterated Local Search (ILS) proposed by Louren¸co et al. (2002): instead of optimizing a single solution at each iteration, nc copies of the current solution are created line 11 and a perturbation is applied to each one line 12, before being improved by an inner Local Search (LS) line 13. Then, the best solution obtained is kept if it is better than the current solution, line 15. The incumbent solution is updated line 22 and the procedure performs ne iterations, lines 7-25. In the MS-ELS, the ELS is embedded into a multistart strategy: in each of the nm multistart iterations, a solution is randomly generated line 5 and then improved by an ELS. The initial solutions are built the same way they are in BRKGA: a chromosome is randomly generated and evaluated by Split. The inner local search in the ELS is done by a Variable Neighborhood Descent (VND). VND has been proposed by Mladenovi´c and Hansen (1997) and relies on the systematic use of several neighborhood structures, see Algorithm 3. Here, two neighborhood structures are defined (hence kmax = 2): N1 consists in sending one client to another ring, while N2 exchanges two clients from two different rings. Given s a current solution, N1 (s) contains all the solutions than can be obtained from s by using N1 . Same for N2 (s). Let k be the index of the active neighborhood structure, i.e. Nk (s). Initially, k is set to 1, line 2. If an improving solution is found in Nk (s), line 766

Algorithm 2 MS-ELS algorithm for SRAP. Input: graph G = (V, E), capacity Q Output: solution S 1: // initialization 2: S ← ∅ 3: // MS iterations 4: for i = 0 . . . nm do 5: create an initial solution S0 using Split on a random sequence 6: // ELS iterations 7: for j = 0 . . . ne do 8: Stemp ← ∅ 9: // local search on the mutated copies 10: for k = 0 . . . nc do 11: create a copy S  ← S0 12: add perturbation to S  13: apply the VND to S  14: if S  < Stemp then 15: Stemp ← S  16: end if 17: end for 18: // update 19: if Stemp < S0 then 20: S0 ← Stemp 21: if S0 < S then 22: S ← S0 23: end if 24: end if 25: end for 26: end for 27: return S 5, the current solution is updated (line 6) and the search resumes to N1 (line 7). Otherwise, the next neighborhood structure is activated, line 9, without changing the current solution. The VND stops when no improvement can be found in the last neighborhood structure (line 4) and the current solution is returned, line 12. Algorithm 3 VND local search for SRAP. Input: graph G = (V, E), capacity Q, solution S Output: solution S 1: // initialization 2: k ← 1 3: // VND iterations 4: while k ≤ kmax do 5: if ∃S  ∈ Nk (s) | S  < S then 6: S ← S 7: k←1 8: else 9: k ←k+1 10: end if 11: end while 12: return S VND offers the following properties: it is deterministic, several neighborhood structures are considered in a systematic way, and the returned solution is a local optimum with respect to all the neighborhood structures. As mentioned in the previous Section, solutions violating the federal ring capacity are allowed. Both the BRKGA and the MS-ELS try to restore feasibility by considering two criteria for a solution: the violation of the federal ring

IFAC MIM 2016 June 28-30, 2016. Troyes, France

instance set nb instances nb feasible TS+DMN GRASP+PR GA+PR HBMO BRKGA MS ELS

% opt. time % opt. time % opt. time % opt. time % opt. time % opt. time

Christophe Duhamel et al. / IFAC-PapersOnLine 49-12 (2016) 763–768

C1 160 118 100.00 0.09 100.00 0.02 100.00 0.11 100.00 0.06 98.31 0.71 100.00 1.26

C2 230 230 98.26 0.29 99.57 0.97 98.26 0.78 99.57 1.62 97.33 2.75 100.00 3.79

767

than HBMO and BRKGA but does not exceed a few seconds.

C3 40 2 100.00 0.30 100.00 0.04 50.00 0.17 100.00 0.05

Table 1. summarized results from BRKGA and MS-ELS capacity (first criterion) and the number of rings (second criterion). Those criteria a considered in lexicographic order. Thus an infeasibility reduction is always preferred over a reduction of the number of rings. The advantage of such approach is that the methods focus first on restoring feasibility, then on improving the number of rings. 5. COMPUTATIONAL EXPERIMENTS Numerical experiments have been done on a computer with an Intel Core-i7 2.3 GHz processor and 16 Gb RAM. The methods have been coded in C++. For BRKGA, the parameters have been set as follows: p = 100, 50 iterations, pe = 20, pc = 90, pm = 10 and pr = 0.7. For the MS-ELS, nm = 20, ne = 100 and nc = 5. Summarized results for instance sets C1 (Goldschmidt et al. (2003)), C2 (Aringhieri and Dell’Amico (2005)) and C3 (Lee et al. (2000)) are reported Table 1. BRKGA and MS-ELS are compared to the Tabu Search with Diversification by Multiple Neighborhoods (TS+DMN) from Aringhieri and Dell’Amico (2005), GRASP with Path Relinking (GRASP+PR) from Bastos et al. (2005), Genetic Algorithm with Path Relinking (GA+PR) from Bastos and Ochi (2008) and Honey Bee Mating Optimization (HBMO) method from Bernardino et al. (2011). For each instance set, the number of instances (’nb instances’) and the number of feasible instances (’nb feasible’) are shown. For each method, the percent of feasible solutions found (’% feas.’), the average gap to the optimal values (’% gap’) and the average time in seconds to solve an instance of the set (’time’) are given. Note that GRASP+PR has been run on only 111 feasible instances of C1 and its time is the time to reach the best solution. The best published method, HBMO, finds an optimal solution for all feasible instances, except one in C2 set, in a very small computational time. In comparison, BRKGA fails at finding some optimal values (2 in C1, 6 in C2 and 1 in C3). Its performance is similar to GA+PR except that it does not use additional techniques (PR). It is worth mentioning the basic GA in Bastos and Ochi (2008) got respectively 98.3 % and 85.7 % for C1 and C2 in 0.21 s and 1.93 s. Thus BRKGA is slightly better than GA. Its computational time is also larger, even if its stays limited. MS-ELS is more efficient than BRKGA. It is even able to find all the optimal values while HBMO was failing at solving one instance in C2. The CPU time is also larger 767

Detailed results for MS-ELS on instance set C3 are provided Table 2. For each instance, the name (’instance’), the number of clients (’n’), the number of demands (’m’) and the rings capacity (’Q’) are reported. The next three columns correspond to the smallest number of rings (’r’) in a feasible solution, the smallest capacity violation of the federal ring (’D’) and the CPU time in seconds (t’) are shown. Only 2 instances, LSHK 25 35 02 and LSHK 25 35 08, are feasible. The 38 remaining instances are unfeasible, either because the total demand of at least one client exceeds the ring capacity (’strong’ unfeasibility) or because no ring partition can satisfy the capacities (’weak’ unfeasibility). The first case can be easily checked and there is no need to run MS-ELS. Otherwise, MS-ELS is run. MS-ELS is able to find the optimal value for the 2 feasible instances. For the weakly unfeasible instances, the computational time does not differ much from those feasible instances (0.30, 0.35 and 0.28 s for LSHK 25 35 03, LSHK 25 35 04 and LSHK 25 35 10 respectively). instance 15 30 01 15 30 02 15 30 03 15 30 04 15 30 05 15 30 06 15 30 07 15 30 08 15 30 09 15 30 10 20 30 01 20 30 02 20 30 03 20 30 04 20 30 05 20 30 06 20 30 07 20 30 08 20 30 09 20 30 10 20 35 01 20 35 02 20 35 03 20 35 04 20 35 05 20 35 06 20 35 07 20 35 08 20 35 09 20 35 10 25 35 01 25 35 02 25 35 03 25 35 04 25 35 05 25 35 06 25 35 07 25 35 08 25 35 09 25 35 10

n 15 15 15 15 15 15 15 15 15 15 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 25 25 25 25 25 25 25 25 25 25

m 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70

Q 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800 4800

r 6 6 -

D 7400 2700 1500 0 1300 1800 0 7300

t 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.00 0.00 0.00 0.00 0.00 0.19 0.00 0.00 0.00 0.22 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.34 0.30 0.35 0.00 0.00 0.00 0.33 0.00 0.28

Q 10800 9500 9900 10100 9600 9200 8600 10300 9600 6100 8000 5700 5900 8100 7400 5400 7000 6600 6100 5400 7800 10400 6500 10800 6600 6300 7400 6000 8000 7100 6700 4700 5200 5300 7200 6500 7400 4800 8400 5700

t 2.37 1.85 1.96 2.00 2.12 1.63 2.04 1.96 1.99 1.63 3.72 4.41 3.53 3.97 3.64 2.93 3.53 3.67 3.57 3.85 3.27 3.82 3.55 3.54 3.12 3.05 3.70 3.11 3.15 3.39 5.42 4.16 5.09 5.70 3.35 4.96 5.37 3.63 5.34 5.20

Table 2. results on C3 instance set Since only 2 instances out of 40 are feasible, one may be interested in computing the smallest capacity that turns each instance feasible. This can be done by performing a dichotomic search on the capacity, calling MS-ELS for each value and branching upon its result (feasibility reached or not). Starting from the original capacity (4800 for C3

IFAC MIM 2016 768 June 28-30, 2016. Troyes, France

Christophe Duhamel et al. / IFAC-PapersOnLine 49-12 (2016) 763–768

instances) the first step consists in doubling the capacity until MS-ELS finds a feasible solution. Then the interval is iteratively halved until the smallest feasible capacity is identified. Since MS-ELS is a metaheuristic, this value is an upper bound on the minimal feasible capacity. The last two columns of Table 2 report respectively the smallest feasible capacity (’Q’) found by the dichotomic search and the time (’t’) spent in seconds. The CPU time stays below 6 s for all the instances. The capacity found is obviously higher than the original one, except for the 2 feasible instances. For LSHK 25 35 02, the capacity can be reduced to Q = 4700. On the other hand, the method is no able to reduce the capacity for LSHK 25 35 08. For the weakly unfeasible instances, a liited capacity increase (less than 1000) is sufficient to turn them feasible, with the exception of LSHK 15 30 10 which requires an additional 1300. The variation can be larger for the strongly unfeasible instances. For five of them, a value Q > 10000 was found. 6. CONCLUSIONS AND FUTURE WORKS A possible way to improve BRKGA would be to use the VND as a mutation operator in order to quickly reach solutions of good quality. However this would require some parameter tuning since it would reduce the population diversity and significantly increase the computing time. MS-ELS competes with HBMO in term of ability to find feasible solutions, but HBMO is faster. Thus, some strategies to restrict the neighborhood exploration, adding path relinking strategies and even considering large neighborhoods could be investigated. On a broader point of view, successfully adapting Split algorithm to SRAP opens several perspectives for solving graph partitioning problems. It offers several advantages, especially the ability to be easily embedded into population-based approaches. REFERENCES Aringhieri, R. and Dell’Amico, M. (2005). Comparing metaheuristic algorithms for SONET network design problems. Journal of Heuristics, 11(1), 35–57. Bastos, L.d.O. and Ochi, L.S. (2008). A genetic algorithm with evolutionary path-relinking for the Sonet Ring Assignment Problem. In Proceedings of the International Conference on Engineering Optimization, EngOpt2008. Bastos, L.d.O., Ochi, L.S., and Macambira, E.M. (2005). GRASP with path-relinking for the SONET ring assignment problem. In Proceedings of the Fifth International Conference on Hybrid Intelligent Systems, HIS ’05, 239– 244. IEEE Computer Society, Washington, DC, USA. Bean, J.C. (1994). Genetic algorithms and random keys for sequencing and optimization. ORSA Journal on Computing, 6(2), 154–160. Beasley, J.E. (1983). Route-first cluster-second methods for vehicle routing. Omega, 11, 403–408. Bernardino, A.M., Bernardino, E.M., S´ anchez-P´erez, J.M., G´ omez-Pulido, J.A., and Vega-Rodr´ıguez, M.A. (2011). Using a hybrid honey bees mating optimisation algorithm for solving SONET/SDH design problems. In Proceedings of the 4th ISABEL, 122:1–122:7. ACM, New York, NY, USA. 768

Coco, A.A., J´ unior, J.C.A., Noronha, T.F., and Santos, A.C. (2014). An integer linear programming formulation and heuristics for the minmax relative regret robust shortest path problem. To appear in Journal of Global Optimization. Garey, M.R. and Johnson, D.S. (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman. Goldschmidt, O., Laugier, A., and Olinick, E.V. (2003). SONET/SDH ring assignment with capacity constraints. Discrete Applied Mathematics, 129(1), 99–128. Gon¸calves, J.F. and Resende, M.G.C. (2011). Biased random-key genetic algorithms for combinatorial optimization. Journal of Heuristics, 17(5), 487–525. Irnich, S. and Desaulniers, G. (2005). Shortest path problems with resource constraints. In G. Desaulniers, J. Desrosiers, and M. Solomon (eds.), Column Generation, GERAD 25th Anniversary Series, chapter 2, 33–65. Springer. Lee, Y., Sherali, H.D., Han, J., and Kim, S.I. (2000). A branch-and-cut algorithm for solving an intraring synchronous optical network design problem. Networks, 35(3), 223–232. Louren¸co, H.R., Martin, O.C., and St¨ utzle, T. (2002). Iterated local search. In F. Glover and G. Kochenberger (eds.), Handbook of metaheuristics, 321–353. Kluwer Academic Publishers, Boston. Macambira, E.M., Maculan, N., and de Souza, C.C. (2006). A column generation approach for SONET ring assignment. Networks, 47(3), 157–171. Merz, P. and Wolf, S. (2006). Evolutionary local search for designing peer-to-peer overlay topologies based on minimum routing cost spanning trees. In T.P. Runarsson, H. Beyer, E.K. Burke, J.J.M. Guerv´os, L.D. Whitley, and X. Yao (eds.), Parallel Problem Solving from Nature - PPSN IX, 9th International Conference, Reykjavik, Iceland, September 9-13, 2006, Procedings, volume 4193 of Lecture Notes in Computer Science, 272– 281. Springer. Mladenovi´c, N. and Hansen, P. (1997). Variable neighborhood search. Computers & Operations Research, 24(11), 1097–1100. Mor´an-Mirabal, L.F., Gonz´alez-Velarde, J.L., and Resende, M.G.C. (2014). Randomized heuristics for the family traveling salesperson problem. International Transactions in Operational Research, 21(1), 41–57. Resende, M.G.C. (2012). Biased random-key genetic algorithms with applications in telecommunications. TOP, 20(1), 130–153.