510 likes | 614 Views
A memory-based multistart heuristic for a discrete cost multicommodity network design problem. Daniel Aloise. MATHEURISTICS Bertinoro, Italy August 2006. Celso C. Ribeiro. Outline. Problem statement Constructive heuristics Local search Memory-based multistart heuristic
E N D
A memory-based multistart heuristic for a discrete cost multicommodity network design problem Daniel Aloise MATHEURISTICS Bertinoro, Italy August 2006 Celso C. Ribeiro
Outline • Problem statement • Constructive heuristics • Local search • Memory-based multistart heuristic • Vocabulary building • Results • Concluding remarks Multicommodity network design with stepwise cost functions
source value destination Problem statement • Undirected network G=(V,U) • Problem: determine the capacities to be installed in the edges : • Satisfying a set of demands D = {D1,…,DK} defined by triples Dk={sk,tk,fk} • Satisfying capacity constraints • Minimizing the total network cost given in terms of the capacity installed in the edges Multicommodity network design with stepwise cost functions
Problem statement • Stepwise discrete cost function A step-increasing cost function is associated to each edge u U Multicommodity network design with stepwise cost functions
Short literature review • Stoer and Dahl (1994) • Cutting planes • Gabrel, Knippel and Minoux (1999) • Benders decomposition method • Gabrel, Knippel and Minoux (2003) • Heuristic implementation of the exact Benders cutting plane method Exact methods are limited, in practice, to small instances not exceeding 20 nodes and 40 edges with cost functions with six steps per link and dense matrices of demands. Multicommodity network design with stepwise cost functions
Constructive heuristic • Procedure: • An initial capacity xu = vui is selected to each edge u U, favouring steps with the best ratios between the capacity vui and the associated cost ui • Route each demand using a maximum flow algorithm • Capacities are augmented to route the yet unrouted demands • Unused capacity steps are eliminated Multicommodity network design with stepwise cost functions
Constructive heuristic – step 3 Constructive heuristic – step 4 Constructive heuristic – step 2 Constructive heuristic – step 1 UR = f1= 2 s1 = 1 t1 = 3 f2 = 5 s2 = 1 t2 = 4 f3 = 1 s3 = 4 t3 = 2 UR = {f2 = 5 s2 = 1 t2 = 4} G 3 Initial installed capacities Infeasible routing!!! Minimum cut capacity: 4 New minimum cut capacity: 5 We must consider the edges of the minimum cut!!! (0,2) (2,2) (2,4) (4,4) (0,4) (0,2) (0,0) 1 4 (1,4) (0,4) (4,4) (0,2) (0,4) (3,4) 2 edge (1,3) (7-4)/(4-2) = 3/2 edge (1,2) (4-2)/(2-1) = 2 Multicommodity network design with stepwise cost functions
Local search: link rerouting • Reroutes a fraction of the total flow traversing an edge. • Considered quantities of the flow to be rerouted are those for which the edge capacity “steps down” in the objective function. Multicommodity network design with stepwise cost functions
Local search: link rerouting Suppose 5 unities of flow traverse edge u Rerouting one unity of flow Rerouting three unities of flow Rerouting five unities of flow 5 Multicommodity network design with stepwise cost functions
Local search: link rerouting • Large neighborhood: number of paths for flow rerouting is not polynomially bounded • Neighborhood exploration can be confined to a single path for each rerouted flow quantity Multicommodity network design with stepwise cost functions
Local search: link rerouting • For each quantity of flow considered for rerouting in a given edge , a graph is built with edge lenghts where yuis the total flow using edge u in the current solution. • Reroute flow through the shortest path from a to b in G1 Multicommodity network design with stepwise cost functions
G1 3 3 1 0 3 1 0 0 inf 2 1 4 1 2 4 2 Local search: link rerouting G 3 (1,2) (1,2) (3,4) 1 4 (5,7) (0,0) 2 5 Additional cost of rerouting one unity of flow of u is 0. Cost variation: 0 - (4-2) = -2 Additional cost of rerouting five unities of flow of u is 10. Cost variation: 10 - (4-0) = 6 Additional cost of rerouting three unities of flow of u is 3. Cost variation: 3 - (4-1) = 0 Multicommodity network design with stepwise cost functions
Local search: link rerouting • Minimum rerouting cost is equal to the shortest path from ato bin G1. • In each iteration of the local search method, all edges have their rerouting possibilities evaluated • Perform link rerouting which reduces the most the cost of the current solution • Local search stops when improvements are no longer possible Multicommodity network design with stepwise cost functions
Local search: demand rerouting • Instead of rerouting aggregated flows in the edges, demands are individually considered for rerouting: • Remove from the edges the flows associated to the demand to be rerouted, updating the current solution and its cost • Reroute the demand Discrete cost multicommodity flow problem NP-hard (Chopra et. Al., 1996) Multicommodity network design with stepwise cost functions
Local search: demand rerouting • Heuristic devised for exploring the demand rerouting neighborhood • Local search algorithm first attempts to reroute each demand using the residual capacities of the graph Multicommodity network design with stepwise cost functions
6 5 1 3 Local search: demand rerouting flow of demand k using edge u total flow using edge u capacity installed on edge u cost associated to edge u (uk, yu, xu, u) Dk = {sk=1, tk=4, fk=4} 3 (0,1,2,1) (2,3,4,2) (0,1,2,1) (0,0,0,0) (2,2,2,1) 1 4 (2,5,7,4) (0,3,4,2) (0,2,2,1) (4,6,7,4) 2 Capacity of the minimum cut between nodes 1 and 4 is 1. Impossible to reroute Dk using the residual capacities! Solution cost equal to 12. Multicommodity network design with stepwise cost functions
Local search: demand rerouting • Additional capacities are installed in the edges of the minimum cut which separates skfrom tk (sequentially, choosing one edge for capacity augmentation from the current minimum cut). • Next additional capacity step is always installed in the edge of the minimum cut with the smallest ratio between the additional cost and the additional capacity Multicommodity network design with stepwise cost functions
Local search: demand rerouting flow of demand k using edge u total flow using edge u capacity installed on edge u cost associated to edge u (uk, yu, xu, u) Dk = {sk=1, tk=4, fk=4} 3 (3,4,4,2) (0,1,4,2) (0,1,2,1) (0,1,4,2) (0,1,2,1) (3,4,4,2) (0,0,0,0) 1 4 (0,3,4,2) (1,4,4,2) (0,2,2,1) (0,2,4,2) (1,3,4,2) 2 The value of the capacity of the minimum cut between the nodes 1 and 4 equals 2. Capacity of the minimum cut between nodes 1 and 4 is still equal to 2. Regarding the edge (1,2): (7-4)/(4-2) = 3/2 Regarding the edge (1,3): (4-2)/(2-1) = 2 Finally, capacity of the minimum cut between nodes 1 and 4 is equal to 4. Demand Dk can be rerouted with solution cost equal to 8 (initial cost was 12) Multicommodity network design with stepwise cost functions
Local search: demand rerouting • Demands are exhaustively tested for rerouting until improvements are no longer possible • The original routing is restored when a demand rerouting does not lead to an improvement in the solution cost Multicommodity network design with stepwise cost functions
Memory-based multistart • Multistart heuristics are iterative two-phase procedures: • Constructive heuristic • Local search • A multistart algorithm can be obtained by combining the constructive heuristic with the proposed local search strategies. • Basic multistart heuristics do not take advantage of regions previously explored Multicommodity network design with stepwise cost functions
Memory-based multistart • Multistart heuristic with adaptive memory based on the ideas of [Fleurent & Glover, 1999]. • Pool of elite solutions stores the best solutions found during the search • Construction of new solutions is intensified by using the information extracted from the elite solutions Multicommodity network design with stepwise cost functions
Memory-based multistart • Parameter controls the relative weigth of the greedy information and the information contained in the pool of elite solutions during the construction • In the beggining, weight of the greedy information is stronger (information in the pool is not relevant) • At the end, weight of the information extracted from the pool is stronger, focusing the search into promising regions Multicommodity network design with stepwise cost functions
Vocabulary building • Vocabulary building [Glover & Laguna, 1997] creates new solutions from pieces of solutions previously found • Two basic steps: • Identification of pieces (words) common to good solutions • Building of new solutions (phrases) from the combination of words Multicommodity network design with stepwise cost functions
Vocabulary building: finding words • Input: pool of elite solutions • Installed capacities in the elite solutions • Employs the Int operator • Searches for words of size greater than a given length l, while maximizing the number of solutions used by the Int operator. • Considering two capacity vectors x’ and x’’ associated to two different solutions s’ ands’’, the resulting capacity vector z obtained from the application of Int(s’,s’’) is given by: Multicommodity network design with stepwise cost functions
Vocabulary building: finding words if if for the capacity installed in each edge u U. Multicommodity network design with stepwise cost functions
Vocabulary building: example 1 l = 3O1 = {p1,p4,p2,p5,p6,p3,p7,p8} word identified Multicommodity network design with stepwise cost functions
Vocabulary building: example 2 l = 3O2 = {p3,p4,p8,p5,p7,p6,p1,p2} From this solution, any operation Int can only decrease the length of the word Multicommodity network design with stepwise cost functions
Vocabulary building: build phrases • Input: set Z of extracted blocks from elite solutions (words). • Logical inconsistencies generated by the Int operator are replaced by blank spaces. • Employs the EInt operator • New extended operator (EInt) is defined for combining words. • After the elimination of inconsistences, a capacity vector w = EInt(z’,z’’), where z’ and z’’ are identified words, is given by the following rules: Multicommodity network design with stepwise cost functions
Vocabulary building: build phrases • if zu’ and zu’’ are both non blank, the rules that define Int are used. • otherwise, wu = zu’’ if zu’ is equal to blank, and wu = zu’ if zu’’ is equal to blank. for the capacity installed in each edge u U. Multicommodity network design with stepwise cost functions
Vocabulary building: example 1 Complete phrase Multicommodity network design with stepwise cost functions
Vocabulary building: example 2 incomplete phrase Multicommodity network design with stepwise cost functions
Vocabulary building: complete phrases • With the phrases at hand, a minimum cost multicommodity flow problem is solved to: • Route the demands • Define the values of the still undefined capacity variables in incomplete phrases, thereby building a complete solution • To accomplish the second goal, the edges with undefined capacities are considered in the linear model with: • Maximum allowed capacities (upper bounds) • High utilization costs (big M) Multicommodity network design with stepwise cost functions
Vocabulary building: complete phrases • Due to their high utilization costs, these edges are used for routing the demands only if strictly necessary. • The installed capacities are given by the upper limit of the capacity step routing the aggregated flow in each edge obtained from the solution of this LP. Multicommodity network design with stepwise cost functions
Algorithm overview Multicommodity network design with stepwise cost functions
Computational results • Instances are the same as those in [Gabrel, Knippel & Minoux, 2003]. • Instances with up to 20 nodes: optimal solutions obtained by exact methods reported in [Minoux,2001]. • Experiments performed on a Pentium IV 2 GHz with 512 Mb of RAM memory. • Algorithms implemented in C++, compiled with gcc 3.2, and run on Linux Red Hat 9.0 platform. Multicommodity network design with stepwise cost functions
Computational experiments Constructive heuristics • In the proposed heuristics, the demands are routed by a minimum cost flow algorithm. • Two different strategies for the attribution of values to the utilization costs of the edges were tested: • unitary utilization costs (strategy A). • utilization costs inversely proportional to the residual capacity (strategy B). Multicommodity network design with stepwise cost functions
Computational experiments Constructive heuristics • Strategy B obtained better results, measured by the quantity of flow delayed to the set of unrouted demands UR. • Less flow delayed to UR:initial capacities are better used. Multicommodity network design with stepwise cost functions
Computational results Constructive heuristics rn40_10 / HC1A - HC1B Multicommodity network design with stepwise cost functions
Computational experiments Local search • Local search followed the VND strategy. • Better results obtained when demand rerouting is applied first,followed by link rerouting. Multicommodity network design with stepwise cost functions
Computational experiments Multistart algorithm with adaptive memory (MSmem) • Three paramers were adjusted for using the adaptive memory: • Size of the pool of elite solutions (|Pool|=30) • Minimum hamming distance (hammin=3) among solutions in the pool • Weight () of the greedy and memory information, continuously decreasing the value of this parameter as the algorithm proceeds. Multicommodity network design with stepwise cost functions
Computational experiments Solution values after local search Multicommodity network design with stepwise cost functions
Computational experiments Solution values after local search Multicommodity network design with stepwise cost functions
Computational experiments Normalized average results obtained in ten executions of the heuristics MS, MSmem and OtimRedDisc for each size of instance. Multicommodity network design with stepwise cost functions
Computational experiments • Heuristics MSmem and OtimRedDisc were compared with the best heuristics in the literature, named here H1 and H2 [Gabrel, Knippel & Minoux,2003]. • Results and CPU times with heuristics H1 and H2 obtained in a UltraSparc 10. Multicommodity network design with stepwise cost functions
avg best avg best Computational experiments Multicommodity network design with stepwise cost functions
best avg best avg Computational experiments Multicommodity network design with stepwise cost functions
Computational experiments Average CPU times for H1, H2, MSmem and OtimRedDisc for each size of instance. ... H1and H2visit infeasible solutions and stop at the first feasible one. OtimRedDisc and MSmemcan be further improved (max-flow and LP). OtimRedDisc and MSmem can perform fewer iterations still obtaining feasible solution, while... Multicommodity network design with stepwise cost functions
Concluding remarks • New heuristics are competitive with those in the literature. • Better solutions for some benchmark instances. • Computational experiments showed the efficiency of adaptive memory and vocabulary building to improve multistart heuristics. • Other methods can be used to find and combine words. • This approach can benefit from other (perhaps still to come) solution methods the minimum cost multicommodity flow problem. Multicommodity network design with stepwise cost functions
References • R. Ahuja, T. Magnanti e J. Orlin. Network flows: Theory, algorithms and applications. Prentice Hall, 1993. • C. Fleurent e F. Glover. Improved constructive multistart strategies for the quadratic assignment problem using memory adaptative. INFORMS Journal on Computing, 11:198-204, 1999. • V. Gabrel, A. Knippel e M. Minoux. A comparison of heuristics for the discrete cost multicommodity network problem. Journal of Heuristics, 9: 429-445, 2003. • F. Glover e M. Laguna. Tabu Search. Kluwer Academic Publishers, 1997. • M. Minoux. Network synthesis and optimum network design problems: Models, solution methods and applications. Networks, 19: 313-360, 1989. Multicommodity network design with stepwise cost functions
Computational experiments Average results obtained in ten executions of the heuristics MS, MSmem and OtimRedDisc for each size of instance. Multicommodity network design with stepwise cost functions