1 / 50

Daniel Aloise

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

wayde
Download Presentation

Daniel Aloise

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A memory-based multistart heuristic for a discrete cost multicommodity network design problem Daniel Aloise MATHEURISTICS Bertinoro, Italy August 2006 Celso C. Ribeiro

  2. Outline • Problem statement • Constructive heuristics • Local search • Memory-based multistart heuristic • Vocabulary building • Results • Concluding remarks Multicommodity network design with stepwise cost functions

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. Vocabulary building: finding words if if for the capacity installed in each edge u  U. Multicommodity network design with stepwise cost functions

  26. Vocabulary building: example 1 l = 3O1 = {p1,p4,p2,p5,p6,p3,p7,p8} word identified Multicommodity network design with stepwise cost functions

  27. 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

  28. 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

  29. 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

  30. Vocabulary building: example 1 Complete phrase Multicommodity network design with stepwise cost functions

  31. Vocabulary building: example 2 incomplete phrase Multicommodity network design with stepwise cost functions

  32. 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

  33. 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

  34. Algorithm overview Multicommodity network design with stepwise cost functions

  35. 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

  36. 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

  37. 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

  38. Computational results Constructive heuristics rn40_10 / HC1A - HC1B Multicommodity network design with stepwise cost functions

  39. 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

  40. 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

  41. Computational experiments Solution values after local search Multicommodity network design with stepwise cost functions

  42. Computational experiments Solution values after local search Multicommodity network design with stepwise cost functions

  43. 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

  44. 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

  45. avg best avg best Computational experiments Multicommodity network design with stepwise cost functions

  46. best avg best avg Computational experiments Multicommodity network design with stepwise cost functions

  47. 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

  48. 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

  49. 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

  50. 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

More Related