Download - Daniel Aloise
A memory-based multistart heuristic for a discrete cost
multicommodity network design problem
Daniel AloiseDaniel Aloise
Celso C. RibeiroCelso C. Ribeiro MATHEURISTICSMATHEURISTICSBertinoro, ItalyBertinoro, ItalyAugust 2006August 2006
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 22/48/48
Outline
Problem statement Constructive heuristics Local search Memory-based multistart heuristic Vocabulary building Results Concluding remarks
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 33/48/48
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}
uxUu
sourcesource
destinationdestination
valuevalue
Satisfying capacity constraints
Minimizing the total network cost given in terms of the capacity installed in the edges
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 44/48/48
Problem statement
Stepwise discrete cost function
A step-increasing cost function is associated to each edge u U
A step-increasing cost function is associated to each edge u U
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 55/48/48
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 Exact methods are limited, in practice, to small instances not exceeding 20 nodes and 40 edges instances not exceeding 20 nodes and 40 edges
with cost functions with six steps per link and with cost functions with six steps per link and dense matrices of demands.dense matrices of demands.
Exact methods are limited, in practice, to small Exact methods are limited, in practice, to small instances not exceeding 20 nodes and 40 edges instances not exceeding 20 nodes and 40 edges
with cost functions with six steps per link and with cost functions with six steps per link and dense matrices of demands.dense matrices of demands.
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 66/48/48
Constructive heuristic
Procedure:
1. An initial capacity xu = vui is selected to
each edge u U, favouring steps with the best ratios between the capacity vu
i and the associated cost u
i
2. Route each demand using a maximum flow algorithm
3. Capacities are augmented to route the yet unrouted demands
4. Unused capacity steps are eliminated
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 77/48/48
Infeasible routing!!!
Minimum cut capacity: 4
We must consider the edges of the minimum cut!!!
Initial installed capacities
Constructive heuristic – step 3Constructive heuristic – step 4Constructive heuristic – step 1Constructive heuristic – step 2
New minimum cut capacity: 5
edge (1,3)
(7-4)/(4-2) = 3/2
edge (1,2)
(4-2)/(2-1) = 2
(2,4)(4,4)
f3 = 1 s3 = 4 t3 = 2UR = {f2 = 5 s2 = 1 t2 = 4} f1= 2 s1 = 1 t1 = 3f2 = 5 s2 = 1 t2 = 4
1
3
4
2
(0,4)
(0,2)
(0,2)
(0,4)
(0,2)G
(1,4)(0,4)(3,4) (4,4)
(2,2)
UR =
(0,0)
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 88/48/48
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.
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 99/48/48
Rerouting one unity of flowRerouting three unities of flowRerouting five unities of flow
Local search: link rerouting
Suppose 5 unities of flow traverse edge u
5
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 1010/48/48
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
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 1111/48/48
For each quantity of flow considered for rerouting in a given edge , a graph is built with edge lenghts
where yu is the total flow using edge u in
the current solution. Reroute flow through the shortest path
from a to b in G1
Local search: link rerouting
}){\,(1 uUNG Ubau ),(
( ) ( )u u u u ul y y }{\ uUu
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 1212/48/48
Additional cost of rerouting five unities of flow of u is 10.
Cost variation:10 - (4-0) = 6
Additional cost of rerouting one unity of flow of u is 0.
Cost variation:0 - (4-2) = -2
Additional cost of rerouting three unities of flow of u is 3.
Cost variation:3 - (4-1) = 0
1
3
4
2
0
0
0
1
G1
Local search: link rerouting
1
3
4
2
(1,2)
(5,7)
(3,4)
(1,2)
(0,0)
G
11
2
2
3 3
inf
4
5
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 1313/48/48
Local search: link rerouting
Minimum rerouting cost is equal to the shortest path from a to b in 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
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 1414/48/48
Instead of rerouting aggregated flows in the edges, demands are individually considered for rerouting:
1. Remove from the edges the flows associated to the demand to be rerouted, updating the current solution and its cost
2. Reroute the demand
kD
kD
Discrete cost multicommodity flow Discrete cost multicommodity flow problemproblem
NP-hard (Chopra et. Al., 1996)
Discrete cost multicommodity flow Discrete cost multicommodity flow problemproblem
NP-hard (Chopra et. Al., 1996)
Local search: demand rerouting
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 1515/48/48
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
kD
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 1616/48/48
capacity installed on edge capacity installed on edge u
Solution cost equal to 12.
Capacity of the minimum cut between nodes 1 and 4 is 1.
Impossible to reroute Dk
using the residual capacities!
(0,2,2,1)(0,3,4,2)
Local search: demand rerouting
1
3
4
2
(2,3,4,2)
(2,2,2,1)
(uk, yu, xu, u) Dk = {sk=1, tk=4, fk=4}
(2,5,7,4) (4,6,7,4)
(0,1,2,1)(0,1,2,1)
3 5
(0,0,0,0)
61
flow of demand flow of demand kk using edge using edge uutotal flow using edge total flow using edge uu
cost associated to edge cost associated to edge u
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 1717/48/48
Local search: demand rerouting
Additional capacities are installed in the edges of the minimum cut which separates sk from 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
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 1818/48/48
Finally, capacity of the minimum cut between nodes 1 and 4 is equal to 4.
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
The value of the capacity of the minimum cut between the nodes 1 and 4 equals 2.
flow of demand flow of demand kk using edge using edge uu
Demand Dk can be rerouted with solution cost equal to 8 (initial
cost was 12)
(0,3,4,2)(1,4,4,2) (0,2,2,1)(0,2,4,2)(1,3,4,2)
(0,0,0,0)
(0,1,2,1)(0,1,4,2)(3,4,4,2)
Local search: demand rerouting
1
3
4
2
(uk, yu, xu, u) Dk = {sk=1, tk=4, fk=4}
(0,1,2,1)(0,1,4,2)(3,4,4,2)
total flow using edge total flow using edge uucapacity installed on edge capacity installed on edge u
cost associated to edge cost associated to edge u
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 1919/48/48
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
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 2020/48/48
Memory-based multistart
Multistart heuristics are iterative two-phase procedures:
1. Constructive heuristic
2. 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
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 2121/48/48
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
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 2222/48/48
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
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 2323/48/48
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
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 2424/48/48
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’ and s’’, the resulting capacity vector z obtained from the application of Int(s’,s’’) is given by:
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 2525/48/48
for the capacity installed in each edge u U.
Vocabulary building: finding words
if
if
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 2626/48/48
Vocabulary building: example 1
l = 3 O1 = {p1,p4,p2,p5,p6,p3,p7,p8}word identifiedword identified
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 2727/48/48
Vocabulary building: example 2
l = 3 O2 = {p3,p4,p8,p5,p7,p6,p1,p2}
From this solution, any operation Int can only decrease the length of the word
From this solution, any operation Int can only decrease the length of the word
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 2828/48/48
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:
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 2929/48/48
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.
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3030/48/48
Vocabulary building: example 1
Complete phraseComplete phrase
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3131/48/48
Vocabulary building: example 2
incomplete phraseincomplete phrase
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3232/48/48
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)
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3333/48/48
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.
Vocabulary building: complete phrases
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3434/48/48
Algorithm overview
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3535/48/48
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.
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3636/48/48
Computational experiments
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).
Constructive heuristics
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3737/48/48
Computational experiments
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.
Constructive heuristics
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3838/48/48
Computational resultsConstructive heuristics
rn40_10 / HC1rn40_10 / HC1A A - HC1- HC1BB
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3939/48/48
Computational experiments
Local search followed the VND strategy.
Better results obtained when demand rerouting is applied first, followed by link rerouting.
Local search
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4040/48/48
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.
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4141/48/48
Computational experiments
Solution values afterSolution values afterlocal searchlocal search
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4242/48/48
Computational experiments
Solution values afterSolution values afterlocal searchlocal search
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4343/48/48
Computational experimentsNormalized average results obtained in ten executions of theNormalized average results obtained in ten executions of the
heuristics MS, MSheuristics MS, MSmemmem and OtimRedDisc for each size of instance. and OtimRedDisc for each size of instance.
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4444/48/48
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.
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4545/48/48
Computational experiments
avg avgbest best
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4646/48/48
Computational experiments
avg avg bestbest
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4747/48/48
OtimRedDisc and MSmem can perform fewer iterations still obtaining feasible solution, while...
OtimRedDisc and MSmem can perform fewer iterations still obtaining feasible solution, while...
OtimRedDisc and MSmem can be further improved
(max-flow and LP).
OtimRedDisc and MSmem can be further improved
(max-flow and LP).
... H1 and H2 visit infeasible solutions and stop at the first
feasible one.
... H1 and H2 visit infeasible solutions and stop at the first
feasible one.
Computational experimentsAverage CPU times for H1, H2, MSAverage CPU times for H1, H2, MSmemmem and OtimRedDisc and OtimRedDisc
for each size of instance. for each size of instance.
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4848/48/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.
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4949/48/48
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.
MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 5050/48/48
Computational experimentsAverage results obtained in ten executions of the heuristicsAverage results obtained in ten executions of the heuristics
MS, MSMS, MSmemmem and OtimRedDisc for each size of instance. and OtimRedDisc for each size of instance.