• Nie Znaleziono Wyników

Solving bicriterion optimization problems by parallel simulated annealing

N/A
N/A
Protected

Academic year: 2021

Share "Solving bicriterion optimization problems by parallel simulated annealing"

Copied!
28
0
0

Pełen tekst

(1)

Solving bicriterion optimization problems by parallel simulated annealing

Zbigniew J. Czech1 Bo˙zena Wieczorek2

1Silesia University of Technology, Gliwice,Poland zczech@polsl.pl

2Katowice School of Economics, Katowice, Poland bozena.wieczorek@polsl.pl

PDP 2006

February 15-17, 2006, Montb ´eliard-Sochaux, France

(2)

Outline

Formulation of the vehicle routing problem Sequential and parallel simulated annealing Experimental results

Conclusions

(3)

Vehicle routing problem with time windows (VRPTW)

Problem formulation

D [0 − 50]

V [5 − 35]

X [20 − 28]

Y [24 − 40]

Z [10 − 29]

3

4

3

4 5

5

5

5

8

6

Given:

dij — distances tij— travel times

[ei fi]— time windows qi — delivery demands si — service times Q — vehicle capacity Needed:

Set of routes Optimization criteria:

1. No of vehicles

2. Total distance traveled

(4)

Vehicle routing problem with time windows (VRPTW)

Non-dominated solutions

Solution 1 – one vehicle

D [0 − 50]

V [5 − 35]

X [20 − 28]

Y [24 − 40]

Z [10 − 29]

3

4

3

4 5

5

5

5

8

6

Solution 2 – two vehicles

D [0 − 50]

V [5 − 35]

X [20 − 28]

Y [24 − 40]

Z [10 − 29]

3

4

3

4 5

5

5

5

8

6

(5)

Vehicle routing problem with time windows (VRPTW)

Solutions resum ´e

Solution 1 Solution 2

No of vehicles − 1 2 − No of vehicles Distance traveled − 22 24 − Distance traveled

Delivery time − 28 27 − Delivery time

(6)

Simulated annealing

Sequential algorithm

The simulated annealing algorithm performs the local searchby sampling the neighbourhood randomly.

On every step a neighbour solution is determined by moving one or more customers among the routes.

Both the customers and the routes are chosenrandomly.

The neighbour solutions oflower costsobtained in this way are always accepted.

(7)

Simulated annealing

Accepting worse solutions

The solutions of higher costs are accepted with the probability

Pr =e

δ

Ti (1)

whereδ denotes the increase in the solution cost, Ti is the temperature of annealing which drops from some initial value according to the formula Ti+1 := Ti· β, whereβ <1.

Eq. (1) implies that large increases in solution cost, so calleduphill moves, are more likely to be accepted when Ti is high.

As Ti approaches zero most uphill moves are rejected.

(8)

Simulated annealing

Solution cost in phase 1 and 2

Cost of solution s:

cost1(s) =c1N+c2D+c3(r1− ¯r) (phase 1) cost2(s) =c1N+c2D (phase 2)

N- number of routes in solution s, D- total travel distance of the routes,

r1- number of customers in a route which is tried to be removed,

¯r - average number of customers in all routes c1,c2,c3- some costants (c1c2).

(9)

Simulated annealing

Stopping the algorithm

In general, the phases of the simulated annealing algorithm halt ifstopping conditionsare satisfied.

In our work we halted the algorithm after having performed a1= 20. . . 50cooling stages in phase 1,

a2=120. . .200cooling stages in phase 2.

(10)

Parallel simulated annealing

What can be done with p processes?

Asuume thatpidentical processes are available and each of them is capable of generating its own sequential

annealing sequence.

The processes can be used either tospeed upthe sequential annealing algorithm or to achieve ahigher qualityof solutions to a problem.

We are interested inspeeding upthe algorithm withno loss of qualityof solutions to the VRPTW problem.

Methods of parallelization of the sequential simulated annealing algorithm:

independent searches semi-independent searches co-operating searches

(11)

Parallel simulated annealing

Independent, semi-independent and co-operating searches

Independent searches— p independent annealing sequences are run and the best solutions among the solutions found by the processes is selected.

Semi-independent searches— as above, but processor 0 encounters equlibrium and stops the algoritm (equilibrium occurs if a predefined number of cooling stages do not change the best solution).

Co-operating searches— processes co-operate with each other everyω step passing their best solution found so far.

(12)

Scheme of co-operating searches

Processes co-operate everyωstep

X0





























X1(0)X1(ω)X1(2ω) → • • → X1(umω)

↓ ↓ ↓

X2(0)X2(ω)X2(2ω) → • • → X2(umω)

↓ ↓ ↓

• • • • • •

• • • • • •

Xp−1(0)Xp−1(ω)Xp−1(2ω) → • • → Xp−1(umω)

↓ ↓ ↓

Xp(0)Xp(ω)Xp(2ω) → • • → Xp(umω)





























Xb

X0- initial solution

Xb - the best solution among the processes

(13)

Solomon’s problem instances (1987)

56 VRPTW data sets

Each instance comprises 100 customers.

The depot and customers locations are values from the range 0 .. 100 in a Cartesian coordinate system.

Travel times ti,j are equal to the Euclidean distances di,j between the customers.

Problem setsC1andC2— distribution of the customers is clustered.

Problem setsR1andR2— customer locations are generatedrandomly.

Problem stesRC1andRC2— distribution is semi-clusteredwith a mix of randomly located and clustered customers.

(14)

C201 customers – clustered case

D

Dmarks the depot

Several clusters of customers can be seen

(15)

C201 routes

D Service

accomplished byN =3 vehicles

(16)

R112 customers – random case

D

Dmarks the depot

(17)

R112 routes

D

Service accomplished byN =9 vehicles

(18)

RC204 customers – semi-clustered case

D

Dmarks the depot

5clusters of customers can be seen

(19)

RC204 routes

D Service

accomplished by3vehicles

(20)

Experimental results for R108 test (easy)

Increasing a1=20. . .50 a2=100= const

p a1 wm H ¯y s

5 20 442 1 973.23 7.20

10 20 495 3 969.81 5.40

15 20 500 5 968.06 4.36

20 20 476 5 969.63 6.37

5 30 448 8 972.63 6.78

10 30 457 14 972.24 7.06

15 30 445 6 972.01 6.63

20 30 449 6 972.86 7.52

5 40 478 9 972.64 6.92

10 40 464 9 972.20 7.22

15 40 467 10 972.38 6.83

20 40 462 10 972.47 7.45

5 50 464 2 972.28 6.92

10 50 478 5 972.03 7.01

15 50 481 8 971.83 7.20

20 50 461 6 972.37 7.52

a1=50= const

Increasing a2=120. . .200

p a2 wm H ¯y s

5 120 498 9 969.54 6.06

10 120 498 8 969.80 6.52

15 120 495 8 969.20 6.50

20 120 500 12 969.61 6.43

5 140 498 12 968.84 5.92

10 140 497 9 969.40 6.09

15 140 498 12 969.17 6.23

20 140 496 14 968.80 6.27

5 160 500 15 968.60 6.13

10 160 500 15 968.05 5.42

15 160 499 23 967.85 5.36

20 160 497 11 968.58 6.04

5 180 499 14 968.57 6.12

10 180 499 30 968.07 6.00

15 180 500 14 968.25 5.90

20 180 498 12 968.78 6.25

5 200 499 16 968.41 5.69

10 200 498 19 969.04 6.36

15 200 497 15 968.82 6.55

20 200 497 18 968.80 6.48

(21)

Experimental results for R112 test (difficult)

Increasing a1=20. . .50 a2=100= const

p a1 wm H ¯y s

5 20 4 0 1014.56 13.35

10 20 3 0 1007.30 9.51

15 20 3 0 1004.63 13.47

20 20 4 0 1001.85 9.62

5 30 11 0 1006.06 9.86

10 30 10 1 997.73 9.61

15 30 15 0 1005.69 14.16

20 30 12 1 1005.03 13.12

5 40 24 0 1003.87 8.28

10 40 21 0 999.65 10.16

15 40 23 0 1009.52 9.62

20 40 27 1 1004.59 10.55

5 50 38 0 1006.73 11.99

10 50 40 0 1008.09 13.86

15 50 39 2 1005.49 10.97

20 50 35 0 1005.04 11.59

a1=50= const

Increasing a2=120. . .200

p a2 wm H ¯y s

5 120 21 0 1005.07 13.82

10 120 35 0 1003.16 12.76

15 120 29 1 1008.81 13.92

20 120 34 0 1006.65 13.30

5 140 32 0 1005.60 11.29

10 140 34 0 1000.72 9.03

15 140 37 0 1006.64 14.09

20 140 30 1 1002.28 9.98

5 160 33 0 1008.32 10.37

10 160 31 0 1005.20 11.03

15 160 38 0 1007.88 11.65

20 160 40 1 1003.79 12.98

5 180 29 1 1002.75 10.27

10 180 31 0 1004.69 11.43

15 180 32 0 1007.11 14.68

20 180 36 1 1001.70 10.56

5 200 31 0 1003.29 11.08

10 200 34 1 1004.20 11.20

15 200 31 0 1001.94 10.37

20 200 31 2 1005.10 12.12

(22)

Experimental results for R104 test (very difficult)

Increasing a1=20. . .50 a2=100= const

p a1 wm H y¯ s

5 20 - - - -

10 20 - - - -

15 20 - - - -

20 20 - - - -

5 30 - - - -

10 30 2 2 1007.31 0.00

15 30 - - - -

20 30 1 0 1018.07 0.00

5 40 1 0 1015.51 0.00

10 40 3 1 1013.63 4.59

15 40 - - - -

20 40 2 1 1010.22 2.91

5 50 5 1 1015.18 4.74

10 50 1 1 1007.31 0.00

15 50 3 2 1013.22 8.36

20 50 1 1 1007.31 0.00

a1=50= const

Increasing a2=120. . .200

p a2 wm H ¯y s

5 120 2 1 1010.22 2.91

10 120 4 3 1008.76 2.52

15 120 2 1 1010.22 2.91

20 120 3 3 1007.31 0.00

5 140 2 1 1009.17 1.86

10 140 2 0 1014.55 3.52

15 140 - - - -

20 140 2 1 1011.41 4.10

5 160 1 0 1011.04 0.00

10 160 3 0 1015.74 3.94

15 160 1 1 1007.31 0.00

20 160 1 0 1019.98 0.00

5 180 1 1 1007.31 0.00

10 180 2 1 1011.41 4.10

15 180 2 1 1012.69 5.38

20 180 2 1 1011.09 3.78

5 200 1 0 1011.04 0.00

10 200 - - - -

15 200 2 0 1015.37 2.25

20 200 1 0 1018.07 0.00

(23)

Definitions of test difficulty factors

Pr1– probability that after execution of the parallel

algorithm, a solution with the minimum number of routes is found

Pr2– probability that the total travel distance of routes of that solution is not worse than by 1% with respect to the shortest distance achieved in all the experiments

(24)

Tests arranged in difficulty order

Difficulty measured by factors Pr1and Pr2

Set R1

Test Pr1 Pr2 R104 0.003 0.85 R112 0.07 0.15 R110 0.56 0.45 R111 0.66 0.74 R109 0.71 0.69 R103 0.89 0.98 R107 0.92 0.63 R108 0.94 0.50 R106 1.00 0.91 R102 1.00 1.00 R105 1.00 1.00 R101 1.00 1.00

Set R2

Test Pr1 Pr2 R211 0.93 0.07 R207 0.99 0.44 R210 1.00 0.42 R203 1.00 0.51 R204 1.00 0.75 R208 1.00 0.77 R202 1.00 0.88 R209 1.00 0.96 R206 1.00 0.99 R201 1.00 1.00 R205 1.00 1.00

(25)

Open time windows

Test R104 and R101

R104

64.5

R101 4.3

0 50 100 150 200 0

20 40 60 80

Time Number of windows

◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦◦

0 0.2 0.4 0.6 0.8 0

20 40 60 80 100

Relative width of windows

◦ — R104 • — R101 Number of windows

(26)

Tests arranged in difficulty order

Difficulty measured by factors Pr1and Pr2

Set RC1

Test Pr1 Pr2 RC106 0.20 0.68 RC101 0.33 0.90 RC105 0.35 1.00 RC102 0.76 0.96 RC108 1.00 0.63 RC104 1.00 0.70 RC103 1.00 1.00 RC107 1.00 1.00

Set RC2

Test Pr1 Pr2 RC202 0.95 0.15 RC203 1.00 0.63 RC206 1.00 0.88 RC205 1.00 0.91 RC207 1.00 0.94 RC201 1.00 0.96 RC208 1.00 0.97 RC204 1.00 1.00

(27)

Experimental results for R112 and R104 tests

Large numbers of cooling stages:a1=100,a2=400 R112

p wm H y¯ s

5 54 0 1004.37 12.11 10 45 1 1004.82 12.42 15 46 1 1008.67 13.85 20 46 0 1004.96 12.14

R104

p wm H y¯ s

5 5 2 1012.07 4.32

10 1 1 1007.31 0.00 15 5 4 1008.95 3.28 20 1 1 1007.31 0.00

(28)

Conclusions

Solomon’s test instances of the VRPTWdiffer substantially in difficulty(all of them are NP-hard).

The majority of 56 tests can be solved ensuring good quality of results by the parallel algorithm executing a1=20..50anda2=120..200cooling stages.

Only a few tests, like R104 and R112,require special effortswhile solving them, e.g. larger values of parameters a1and a2or a suitable frequency of processes

co-operation.

Cytaty

Powiązane dokumenty

Table 3 contains the histograms of numbers of solutions 7 produced by the algorithm with the total travel distance y worse by 0-1%, 1-2% etc. than the distance y min of the

have improved in comparison to the previous itera- tion, the new weights and biases are accepted.. I n order to prevent over-fitting, the simulated T_ val- ues f o r the

De systemen waar menselijke arbeid gebruikt wordt kunnen onderscheiden worden in systemen waar de orderverzamelaar naar de producten gaat, of systemen waar de

The troubleshooting procedure for aircraft maintenance is described in the Troubleshooting Manual (TSM) and entails multiple tasks with increasing complexity, ranging from

(Wim) Beukenkamp (born in Rotterdam in 1956) studied mining engineering at Delft University (1974-1976) and civil engineering at Haarlem Polytechnic (1976-1980), where he obtained

Przedsiębiorstwo nie podejmie działań, które nie mają dla niego ekonomicznego sensu (re- prezentowanego w niniejszej analizie przez NPV), dlatego istotne jest analizowanie takich

Celem konkursu było wyróżnienie projektów, których autorzy i uczestnicy wykazali się umiejętnością pracy w zespole, współpracą z innym zespo- łem,

To increase the strength properties of such elements, in engineering, high- temperature annealing with successively implemented stages namely heating to high