• Aucun résultat trouvé

our ACO algorithm(s) for the SPP

N/A
N/A
Protected

Academic year: 2022

Partager "our ACO algorithm(s) for the SPP"

Copied!
27
0
0

Texte intégral

(1)

Xavier GANDIBLEUX1, Julien JORGE1, S´ebastien ANGIBAUD1 Xavier DELORME2 and Joaquin RODRIGUEZ3

(1) LINA - Laboratoire d’Informatique de Nantes Atlantique Universit´e de Nantes

2 rue de la Houssini`ere BP92208, F-44322 Nantes cedex 03 – FRANCE Xavier.Gandibleux@univ-nantes.fr, {jorge,angibaus}@ensinfo.univ-nantes.fr

(2) Centre G´enie Industriel et Informatique Ecole des Mines de Saint-Etienne

158 cours Fauriel, F-42023 Saint-Etienne cedex 2 – FRANCE delorme@emse.fr

INRETS

(3) INRETS - Institut National de Recherche sur les Transports et leur S´ecurit´e ESTAS - ´Evaluation des Syst`emes de Transports Automatis´es et de leur S´ecurit´e 20 rue ´Elis´ee Reclus, F-59650 Villeneuve d’Ascq – FRANCE

joaquin.rodriguez@inrets.fr

MIC2005

The Sixth Metaheuristics International Conference Vienna, Austria, August 22–26, 2005

(2)

Motivations: A railway planning problem (RPP)

Planning the construction or reconstruction of infrastructures

Capacity of one component / junctions of a rail system

Junction Pierrefitte-Gonesse, north of Paris

(3)

The RPP as a Set Packing Problem (SPP)

Given

a finite set I = {1, . . . , n} of items

◦ {Tj}, j J = {1, . . . , m}, a collection of m subsets of I

a packing is a subset P I such that |Tj P| ≤ 1,j J which 2

6 6 6 6 6 6 6 6 6 6 4

M ax z(x) =X

i∈I

cixi

X

i∈I

ti,jxi 1,j J xi ∈ {0,1} ,i I

ti,j ∈ {0,1} ,i I,j J 3 7 7 7 7 7 7 7 7 7 7 5

(SP P)

Strongly NP-Hard (Garey and Johnson 1979)

Node Packing Problem : P

i∈I ti,j = 2,∀j J

(4)

From the RPP to the SPP

Road 1 Road 2

Road 3 tin

TGV tin

Road 1

Road 3

Road 2

Road 1 Road 2

Road 3

TGV tin

tin

Road 1

Road 3

Road 2

(5)

A solution to the RPP

(6)

The literature about the SPP

Theoretical results and Exact algorithms :

polyhedral theory, facets (Padberg 1973)

a Branch & Cut algorithm (Nemhauser 1999, Rossi 2001)

a lagrangian relax. with subgradient opt. (R¨onnqvist 1995)

use a general solver (as LINDO) (Kim 1997)

Heuristics and meta-heuristics :

nothing on the market in 2000 and until today (?) except our works

Practical applications :

a cutting stock problem (R¨onnqvist 1995)

a ship scheduling problem (Kim 1997)

bounds for a RCPSP (Mingozzi 1998)

a ground holding problem (Rossi 2001)

a railway planning problem (Zwaneveld 1996, Delorme 2003)

(7)

Aim of our investigations

To design efficient algorithms for solving the large size instances of SPP,

without using the specific structure of the RPP

Heuristics and meta-heuristics :

GRASP with a path-relinking technique, a learning process and a dynamic tuning of parameters (Delorme 2004)

ACOv1 with a territory disturbance strategy (Gandibleux 2004)

(8)

II. Description and revision of

our ACO algorithm(s) for the SPP

(9)

ACO for SPP: construction of a solution

x1 x2 x3 x4

x5

x3

x2

x4 x2 x4x2

x1 x2 x3 x4 x5 f1

f2 f3 f4 f5

f2

f4

x1 x2 x3 x4 x5

x1 x2 x3 x4 x5 f4

x1 x2 x3 x4 x5 . . . . . 1 0 1 0 1 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0

x1 x2 x3 x4 x5 0 . 1 . 0 1 0 1 0 1 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0

x1 x2 x3 x4 x5 0 1 1 . 0 1 0 1 0 1 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0

x1 x2 x3 x4 x5 0 1 1 1 0 1 0 1 0 1 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0

(10)

ACOv1 → ACOv2 → ACOv3 − ACOv3f

Characteristics:

Each variable has its own pheromone level

A constructing solution process alternating exploration mode and ex- ploitation mode (SACO, Stuztle 1998)

A local search based on 1-1 exchanges for the WSPP

A territory disturbance strategy inspired by a warming up strategy, well-known for the SA

Drawbacks / limits:

Impossible to solve the RPP instances

A basic stopping condition

Good quality of solutions, bad CPU times Goal for a revised version:

To deal with large size instances

To have a more ad-hoc stopping condition

(11)

ACOv1 → ACOv2 → ACOv3 − ACOv3f

Characteristics:

Management of constraints: a dynamic structure (AVL trees)

A local search based on 1-2 exchanges for the USPP

A first implementation of a dynamic stopping condition

Interesting (new best known) solutions for the RPP, CPU times not competitive with GRASP

Drawbacks / limits:

Excessive CPUt for the biggest instances (indirect consequence of the dynamic structure)

Not satisfying version of the stopping condition (not successful inte- grated with the exploration/exploitation strategy).

Goal for a revised version:

A drastic reduction of the CPUt

An improvement of the local searches

A revision of the stopping condition

(12)

ACOv1 → ACOv2 → ACOv3 − ACOv3f

New/revised components:

Ad-hoc data structures and subroutines (the core activity of the algo- rithm has been redesigned with very efficient routines and data struc- tures regarding to the computational complexity)

LS based on 1-1 exchanges for the WSPP revised (more aggressive), LS based on 1-2 exchanges for the WSPP integrated

Stopping condition redesigned (integrated with the exploration/exploitation strategy and based on the interest of the search and diversity of new solutions). ACOv3f: algorithm stopped when the 1st restart is triggered

CPUt drastically reduced

Search activity increased (more LS, more iterations)

Automatic stopping condition

Mature and competitive heuristic for the W/U SPP

(13)

ACOv3: first convergence and restart

illustrated with gon09 (USPP[RPP], 3720 vars, 482887 csts)

R estart !

50 55 60 65 70 75 80 85 90 95 100

0 500 1000 1500 2000

z(x)

#iterations x #ants

USPP : pb_ gon09 | First best : 88 | Best at the first restart : 97

BestGlobal AllSolutions

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0 500 1000 1500 2000 2500 3000 3500

phi(x)

gon09 (3720 variables) | Pheromone levels before the first restart

0 0.2 0.4 0.6 0.8 1

0 500 1000 1500 2000 2500 3000 3500

phi(x)

gon09 (3720 variables) | Pheromone levels after the first restart

(14)

z(x) for ACOv3

illustrated with gon09 (USPP[RPP], 3720 vars, 482887 csts)

50 55 60 65 70 75 80 85 90 95 100

0 2000 4000 6000 8000 10000 12000

0 0.2 0.4 0.6 0.8 1

z(x) Probability

USPP : pb_ gon09 | First best : 88 | Last best : 99

BestGlobal AllSolutions Prob exploitation

(15)

III. Numerical experiments

(16)

Data set: 79 instances

100 variables (USPP / WSPP [1,20]):

100 / 300 / 500 constraints

density of matrix between 2.0% and 3.1%

200 variables (USPP / WSPP [1,20]):

200 / 600 / 1000 constraints

density of matrix between 1.0% and 2.6%

500 variables (USPP / WSPP [1,20]):

500 / 1500 / 2500 constraints

density of matrix between 0.7% and 2.3%

1 000 variables (USPP / WSPP [1,20]):

1000 / 5000 constraints

density of matrix between 0.58% and 2.65%

2 000 variables (USPP / WSPP [1,20]):

2 000 / 10 000 constraints

density of matrix between 0.55% and 2.56%

RPP instances (USPP):

465 ... 3 720 variables; 8 661 ... 482 887 constraints

(17)

Constant values of the algorithm (parameters)

maxIter auto Number of iterations

maxAnt 15 Number of ants for each iteration

phiInit 1.0 Initial pheromone assigned to a variable

rhoE 0.9 Pheromone evaporation rate

rhoD phiInit * (1.0 - rhoE) Pheromone deposition rate

phiNul 0.001 Level of pheromone considered as zero

iterStagnant 2 Declare the procedure stagnant when

no improvement is observed

restartBefExploit 2 Number of restarts before enabling the exploitation mode

(18)

Experiment information

Numerical instances

100...3 720 variables; 100...482 887 constraints

WSPP/USPP(incl. RPP)

Experimental environment

Apple PowerBook; PowerPC G4 1GHz; RAM 512Mb;

Mac OS X 10.3.9

ACO (all versions)

C language; gcc 3.3 and -O3

GRASP (Delorme 2004)

Ada language; gnat 3.3

(19)

ACO v1 / v2 / v3

90 % 92 % 94 % 96 % 98 % 100 %

100 200 500 1000 2000 GON

0 s 1000 s 2000 s 3000 s 4000 s 5000 s 6000 s 7000 s 8000 s

z(x) avg (%) CPUt avg (sec)

Instances (by classes)

z(x) (avg) and CPUt (avg) - ACOv1 | ACOv2 | ACOv3 - Instances: all

v3 z(x) v3 CPUt v2 z(x) v2 CPUt v1 z(x) v1 CPUt

agregated (avg) results / 16 runs / : (x) (%) vs best known / : CPUt

(20)

ACO v2 / v3

0 250 500 750 1000 1250 1500

It ACOv2 maxIt ACOv2 it ACOv3 maxIt ACOv3 Gon01

Gon02

Gon03

Gon04

Gon05

Gon06

Gon07

Gon08

Gon09

Gon10

Gon11

Gon12

Gon13

Gon14

Gon15 iterations:

(21)

ACO v3 / v3f / GR+LS

80 % 85 % 90 % 95 % 100 %

100 200 500 1000 2000 GON

0 s 100 s 200 s 300 s 400 s 500 s 600 s 700 s 800 s

z(x) avg (%) CPUt avg (sec)

Instances (by classes)

z(x) (avg) and CPUt (avg) - ACOv3 | ACOv3f | GR+LS - Instances: all

v3 z(x) v3 CPUt v3f z(x) v3f CPUt GR+LS z(x)

agregated (avg) results / 16 runs / : (x) (%) vs best known / : CPUt

(22)

GRASP / ACO v3 (1/2)

90 % 92 % 94 % 96 % 98 % 100 %

100 200 500 1000 2000 GON

0 s 100 s 200 s 300 s 400 s 500 s 600 s 700 s

z(x) avg (%) CPUt avg (sec)

Instances (by classes)

z(x) (avg) and CPUt (avg) - GRASP | ACOv3 - Instances: all

grasp z(x) v3 z(x) CPUt

(23)

GRASP / ACO v3 (2/2)

RPP instances avg Quality (%) avg CPUt (s)

name # var. # con. ACOv3 ACOv3f GRASP ACOv3 [GRASP] ACOv3f

Gon01 465 8661 100.00 100.00 96.67 10.38 3.25

Gon02 620 11676 100.00 100.00 95.21 25.50 7.62

Gon03 1240 23736 100.00 100.00 93.96 175.00 58.00

Gon04 1240 50705 100.00 100.00 98.80 80.62 28.75

Gon07 1620 79514 99.44 99.09 96.07 187.69 62.38

Gon05 1860 55938 99.34 99.34 98.97 485.44 162.81

Gon06 1860 119009 98.55 97.90 94.32 258.44 75.25

Gon14 2160 140632 99.63 98.12 95.08 360.33 110.00

Gon10 2400 186861 100.00 99.21 97.25 407.67 129.33

Gon15 2503 185523 98.39 98.08 96.47 468.67 155.67

Gon11 2683 228972 99.62 98.47 97.32 606.00 163.00

Gon12 2880 311228 98.12 97.75 92.13 635.00 178.67

Gon13 3210 380292 99.26 98.14 94.81 734.67 212.33

Gon08 3720 155985 100.00 100.00 99.08 2256 .00 789.25

Gon09 3720 482887 97.62 95.92 89.46 689.00 195.67

Best % — ∆ with ACOv3 : ≤3% 8% > 8 % — ∆ ACOv3/v3f : > faster

RPP results / 16 runs / quality (%) vs best known

(24)

ACOv3 and Set partitionning data (ORlib) viewed as SPP (20 instances)

90 % 92 % 94 % 96 % 98 % 100 %

0 s 2000 s 4000 s 6000 s 8000 s 10000 s 12000 s 14000 s

z(x) avg (%) CPUt avg (sec)

z(x) (avg) and CPUt (avg) - ACOv3 | CPLEX - Instances: SPA (ORlib)

v3 z(x) v3 CPUt cplex CPUt

bills delta

exotic heart

meteor sppaa01

sppaa02 sppaa03

sppaa04 sppaa05

sppaa06 sppkl01

sppnw06 sppnw23

sppnw24 sppnw25

sppnw32 sppnw33

sppnw34 sppnw43

... ... ...

3 runs / y : performances (%) vs optimal solution (cplex) / y : CPUt

(25)

Some remarkable facts

Cplex 8.2 on PIII 800Mhz needs

up to 156109.36 seconds yet for the class 200

cannot deal with some 500, 1000, 2000 and GON instances

# instances where the best known solution is found at least one time: 74 (93.67%)

always found: 43 (54.43%)

Number of new best known solutions found: 9 (ACOv1: 3 before: 6)

Average percentage from the best known solution: 99.59% i.e.

1.28% better than ACOv1 (for instances 100-1000) 0.39% better than ACOv3f

Average CPUt comsumed by ACOv3: 110.27 seconds i.e.

2.23 times less than ACOv1 2.90 times more than ACOv3f

(26)

IV. Conclusion – Perspectives

ACOv3 is a mature approximation method for solving U/W SPP Competitive with the previous existing method (GRASP)

None tuning is requested

ACOv3f is a compromise alternative for practical applications

Possible improvement:

revisit the stopping criterion (less iterations)

Possible forthcoming works:

a version dedicated for the RPP (exploiting the specific struc- ture of the matrix constraints)

a procedure which set on variables (preprocessing or during the resolution process)

(27)

Questions – Discussion

Références

Documents relatifs

In this paper, a new metaheuristic inspired by music improvisations, harmony search, is applied to solve the containers storage problem at the port. The

This method, which is based on structural analysis, provides the constraints that have to be used for the design of each detection test and manages situations where constraints

Bouvry (2010), therefore the contributions are: (1) adding energy efficiency features to the distance based approach by reducing the transmission range of the forwarding nodes,

The use of the medical term in this context is done because there are considered intervals of values of the divergence, the dynamics of the divergence partitions the

The research objective provides for development of the algorithm for selecting candi- dates to an IT project implementation team with use of the classic simplex method for reduction

As the experimental results show, the best result of optimizing the temperature disbalance can be achieved by using joint adjusting of the risers balancing valves and heater valves,

text similarity model and graph calculation model. It is observed in the experiment that text similarity model has certain advantages in the aspect of full enquiry

An implicit solver, based on a transport equation of void fraction coupled with the Navier-Stokes equations is proposed.. Specific treatment of cavitation source