Title: A memory-based multistart heuristic for a discrete cost multicommodity network design problem
1 A memory-based multistart heuristic
for a discrete cost multicommodity network
design problem
MATHEURISTICS Bertinoro, Italy August 2006
Celso C. Ribeiro
2Outline
- Problem statement
- Constructive heuristics
- Local search
- Memory-based multistart heuristic
- Vocabulary building
- Results
- Concluding remarks
3Problem 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 Dksk,tk,fk
- Satisfying capacity constraints
- Minimizing the total network cost given in terms
of the capacity installed in the edges
4Problem statement
- Stepwise discrete cost function
A step-increasing cost function is associated to
each edge u ? U
5Short 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.
6Constructive 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
7Constructive heuristic step 1
Constructive heuristic step 3
Constructive heuristic step 4
Constructive heuristic step 2
f1 2 s1 1 t1 3
UR ?
f3 1 s3 4 t3 2
UR f2 5 s2 1 t2 4
f2 5 s2 1 t2 4
G
3
Infeasible routing!!! Minimum cut capacity 4
Initial installed capacities
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
(0,4)
(1,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
8Local 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.
9Local 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
10Local 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 -
-
-
11Local search link rerouting
- 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
12Local search link rerouting
G
3
(1,2)
(1,2)
(3,4)
1
4
(5,7)
(0,0)
2
5
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
13Local 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 -
-
14Local 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)
15Local 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
16Local 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 sk1, tk4, fk4
3
(0,1,2,1)
(2,3,4,2)
(0,1,2,1)
(2,2,2,1)
(0,0,0,0)
1
4
(0,2,2,1)
(0,3,4,2)
(2,5,7,4)
(4,6,7,4)
2
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!
17Local 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
18Local 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 sk1, tk4, fk4
3
(0,1,2,1)
(0,1,4,2)
(3,4,4,2)
(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
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.
Demand Dk can be rerouted with solution cost
equal to 8 (initial cost was 12)
19Local 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 -
20Memory-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
21Memory-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
22Memory-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
23Vocabulary 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
24Vocabulary 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
25Vocabulary building finding words
if
if
- for the capacity installed in each edge u ? U.
26Vocabulary building example 1
l 3 O1 p1,p4,p2,p5,p6,p3,p7,p8
word identified
27Vocabulary 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
28Vocabulary 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
29Vocabulary 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.
30Vocabulary building example 1
Complete phrase
31Vocabulary building example 2
incomplete phrase
32Vocabulary 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)
33Vocabulary 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.
34Algorithm overview
35Computational 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.
36Computational 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).
37Computational 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.
38Computational results
Constructive heuristics
rn40_10 / HC1A - HC1B
39Computational experiments
Local search
- Local search followed the VND strategy.
- Better results obtained when demand rerouting is
applied first, followed by link rerouting.
40Computational experiments
Multistart algorithm with adaptive memory (MSmem)
- Three paramers were adjusted for using the
adaptive memory - Size of the pool of elite solutions (Pool30)
- Minimum hamming distance (hammin3) among
solutions in the pool - Weight (?) of the greedy and memory information,
continuously decreasing the value of this
parameter as the algorithm proceeds.
41Computational experiments
Solution values after local search
42Computational experiments
Solution values after local search
43Computational experiments
Normalized average results obtained in ten
executions of the heuristics MS, MSmem and
OtimRedDisc for each size of instance.
44Computational 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.
45Computational experiments
46Computational experiments
47Computational experiments
Average CPU times for H1, H2, MSmem and
OtimRedDisc for each size of instance.
... H1 and H2 visit infeasible solutions and stop
at the first feasible one.
OtimRedDisc and MSmem can perform fewer
iterations still obtaining feasible solution,
while...
OtimRedDisc and MSmem can be further improved
(max-flow and LP).
48Concluding 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.
49References
- 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, 11198-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. -
50Computational experiments
Average results obtained in ten executions of the
heuristics MS, MSmem and OtimRedDisc for each
size of instance.