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

Daniel Aloise

  • Upload
    wayde

  • View
    40

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: 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

Page 2: Daniel Aloise

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

Page 3: Daniel Aloise

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

Page 4: Daniel Aloise

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

Page 5: Daniel Aloise

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.

Page 6: Daniel Aloise

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

Page 7: Daniel Aloise

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)

Page 8: Daniel Aloise

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.

Page 9: Daniel Aloise

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

Page 10: Daniel Aloise

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

Page 11: Daniel Aloise

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

Page 12: Daniel Aloise

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

Page 13: Daniel Aloise

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

Page 14: Daniel Aloise

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

Page 15: Daniel Aloise

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

Page 16: Daniel Aloise

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

Page 17: Daniel Aloise

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

Page 18: Daniel Aloise

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

Page 19: Daniel Aloise

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

Page 20: Daniel Aloise

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

Page 21: Daniel Aloise

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

Page 22: Daniel Aloise

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

Page 23: Daniel Aloise

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

Page 24: Daniel Aloise

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:

Page 25: Daniel Aloise

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

Page 26: Daniel Aloise

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

Page 27: Daniel Aloise

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

Page 28: Daniel Aloise

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:

Page 29: Daniel Aloise

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.

Page 30: Daniel Aloise

MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3030/48/48

Vocabulary building: example 1

Complete phraseComplete phrase

Page 31: Daniel Aloise

MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3131/48/48

Vocabulary building: example 2

incomplete phraseincomplete phrase

Page 32: Daniel Aloise

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)

Page 33: Daniel Aloise

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

Page 34: Daniel Aloise

MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3434/48/48

Algorithm overview

Page 35: Daniel Aloise

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.

Page 36: Daniel Aloise

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

Page 37: Daniel Aloise

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

Page 38: Daniel Aloise

MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 3838/48/48

Computational resultsConstructive heuristics

rn40_10 / HC1rn40_10 / HC1A A - HC1- HC1BB

Page 39: Daniel Aloise

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

Page 40: Daniel Aloise

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.

Page 41: Daniel Aloise

MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4141/48/48

Computational experiments

Solution values afterSolution values afterlocal searchlocal search

Page 42: Daniel Aloise

MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4242/48/48

Computational experiments

Solution values afterSolution values afterlocal searchlocal search

Page 43: Daniel Aloise

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.

Page 44: Daniel Aloise

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.

Page 45: Daniel Aloise

MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4545/48/48

Computational experiments

avg avgbest best

Page 46: Daniel Aloise

MATHEURISTICS, August 2006 Multicommodity network design with stepwise cost functions 4646/48/48

Computational experiments

avg avg bestbest

Page 47: Daniel Aloise

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.

Page 48: Daniel Aloise

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.

Page 49: Daniel Aloise

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.

Page 50: Daniel Aloise

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.