Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... ·...

15
1 1 Vittorio Maniezzo Università di Bologna Ant Colony Optimization 11 ACO: la metafora biologica A E A E Obstacle C H D B Obstacle A E B D C H B D C H d=1 d=1 d=0.5 d=0.5 E A B D C H 15 ants t=0 E A 15 ants 15 ants 15 ants 30 ants 30 ants B D C H 10 ants t=1 E A 20 ants 20 ants 10 ants 30 ants 30 ants =1 5 =1 5 =3 0 =3 0 Vittorio Maniezzo Università di Bologna 2

Transcript of Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... ·...

Page 1: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

1

1Vittorio Maniezzo – Università di Bologna

AntColonyOptimization

11

ACO: la metafora biologica

A

E

A

E

Obstacle CH

D

B

Obstacle

A

E

B

D

CH

B

D

CH

d=1

d=1

d=0.5

d=0.5

E

A

B

D

CH

15 ants

t=0E

A

15 ants

15 ants15 ants

30 ants

30 ants

B

D

CH

10 ants

t=1E

A

20 ants

20 ants10 ants

30 ants

30 ants

=1 5

=1 5

=3 0

=3 0

Vittorio Maniezzo – Università di Bologna 2

Page 2: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

2

Nella realtà

Vittorio Maniezzo - University of Bologna 3

Ant agents

Una formica è un semplice agente computazionale, che iterativamente costruisce una soluzione per il problema da risolvere.

Le soluzioni parziali sono viste come stati; ogni agente si muove da uno stato a un altro , corrispondente a una soluzione parziale più completa.

Ad ogni passo , ogni formica k calcola un insieme di espansioni ammissibili del suo stato corrente, e muove in uno di questi in probabilità.

Vittorio Maniezzo – Università di Bologna 4

Page 3: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

3

Ant System

Ant System (AS) è stato il primo algoritmo ACO pubblicato [CDM91].

L'idea era modificare un'euristica costruttiva in modo che fosse possibile ricalcolare ad ogni iterazione l'ordinamento dei componenti, considerando

• l'aspettativa a priori, i, dell'utilità di un particolare componente ci come nei normali approcci costruttivi,

• ma anche una misura a posteriori, i, della bontà di soluzioni costruite usando quel particolare componente.

Vittorio Maniezzo – Università di Bologna 5

Attrattività e traccia

Per la formica k, la probabilità p di muoversi dallo stato allo stato dipende dalla combinazione di due valori:

• l'attrattività della mossa, come calcolata da qualche euristica che indica la desiderabilità a priori di quella mossa;

• il livello di traccia di quella mossa, che indica quanto è stato utile nel passato fare quella specifica mossa, cioè la desiderabilità a posteriori di quella mossa.

Le specifiche formule variano fra le implementazioni. La

prima proposta era: 𝑝𝜄𝜓𝑘 =

𝜏𝜄𝜓𝛼 𝜂𝜄𝜓

𝛽

𝜅 𝜏𝜄𝜅𝛼 𝜂𝜄𝜅

𝛽

Vittorio Maniezzo – Università di Bologna 6

Page 4: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

4

Aggiornamento della traccia

Le traccia sono aggiornate ad ogni iterazione, aumentando il livello di quelle che erano parte di buone soluzioni, diminuendo le altre.

Dopo ogni iterazione t, le tracce vengono aggiornate secondo la formula:

dove è un parametro di evaporazione definito dall'utente e rappresenta la somma dei contributi di tutte le formiche che hanno usato la mossa () per costruire la loro soluzione.

)1()( tt

Vittorio Maniezzo – Università di Bologna 7

Ant System

1. Initialize a set A of partial solutions

ai=, i=1, … , m.

2. For i=1 to m

choose a component cj to append to solution aiwith probability given as a function of ai, j(i), j(i).

3. If the solutions in A are not complete, go to step 2.

4. Evaluate z(ai), i=1, … , m and

update j(i), j=1, … , n accordingly.

5. If not (end condition) go to step 1.

Vittorio Maniezzo – Università di Bologna 8

Page 5: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

5

AS: parametri

m numero di formiche

Importanza relativa di attrattività risp. traccia

( Importanza relativa di traccia risp. attrattività)

Coefficiente di “evaporazione”

0 traccia iniziale

niter condizione di terminazione (più usata).

Vittorio Maniezzo – Università di Bologna 9

Example: CCA0

Vittorio Maniezzo – Università di Bologna 10

Page 6: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

6

Ant System

• euristica generica ispirata dalla natura;

• strategia di ricerca parallela e distribuita;

• combina una euristica costruttiva specifica per il problema (visibilità) con una rappresentazione adattiva generica del problema da risolvere.

Ant System (AS) è una metaeuristica con queste caratteristiche:

Vittorio Maniezzo – Università di Bologna 11

ACO

Ant Colony Optimization è il nome dato da M.Dorigo[D98] alla classe di algoritmi il cui primo membro è stato l'AS.

Elemento caratterizzante è la parallelizzazione della ricerca su più thread computazionali costruttivi, tutti basati su una struttura di memoria dinamica con informazioni relative all'efficacia delle scelte passate e in cui il comportamento di ogni agente è (un po') ispirato da quello delle formiche reali.

Vittorio Maniezzo – Università di Bologna 12

Page 7: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

7

ACO pseudo code

Set parameters, init. pheromone trails

SCHEDULE_ACTIVITIES

ConstructAntSolutions

DaemonActions {local search, optional}

UpdatePheromones

END_SCHEDULE_ACTIVITIES

Vittorio Maniezzo – Università di Bologna 13

Max-min ant system

T.Stuetzle e H.Hoos [SH97] hanno introdotto il Max-Min AntSystem (MMAS).

Due parametri aggiuntivi: un massimo e un minimo livello di traccia, che vincolano i valori di traccia possibili all'intervallo [min, max].

Inoltre, MMAS controlla i livelli di traccia (inizializzati al valore massimo max, permettendo solo alla formica migliore si aggiornare la traccia.

Le tracce che ricevono raramente rinforzi perderanno di intensità e saranno selezionate sempre più raramente, finchènon raggiungono il livello min.

Vittorio Maniezzo – Università di Bologna

Page 8: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

8

AS-rank

Bullnheimer, Hartl e Strauss [BHS97] hanno proposto un'altra modifica di AS chiamata AS-rank, introducendo una distribuzione di probabilità basata sul rango, limitando così il rischio di tracce troppo enfatizzate.

Ad ogni iterazione le formiche sono ordinate per valori di qualità di soluzione decrescente e il contributo di ogni formica al livello della traccia dipende dal rango della formica, considerando solo le formiche migliori.

Vittorio Maniezzo – Università di Bologna

Ant Colony System

L.Gambardella e M.Dorigo [GD95, 97] hanno proposto ACS, dove le tracce sono aggiornate con valori costanti.

Le tracce sono aggiornate offline solo sugli archi della migliore soluzione trovata. Le formiche però fanno anche aggiornamenti della traccia ad ogni passo per favorire l'emergere di soluzioni diversificate.

Ogni formica utilizza una regola proporzionale pseudo-casualeper scegliere il suo prossimo nodo sulla base di un parametro q0 [0,1] che modula la tendenza all'esplorazione.

ACS utlizza anche una struttura dati associate ai vertici, detta candidate list (v. GRASP).

Vittorio Maniezzo – Università di Bologna

Page 9: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

9

ANTS1 (Initialization)

Compute a (linear) lower bound LB to the problem to solve

Initialize , , with the primal variable values

2 (Construction)

For each ant k do

repeat

compute ,, as a lower bound to the cost ofcompleting a solution containing ,

choose in probability the state to move into

until ant k has completed its solution

apply a local optimization procedure

enddo

3. (Trail update)

For each ant move (,) do

compute and update the trail values

4. (Terminating condition)

If not(end_test) go to step 2.

Vittorio Maniezzo – Università di Bologna

Convergenza: best value e feromone

• Convergenza nel valore migliore, iterazione t, soluzione x(t):

p{max i t f(x(i)) = f* } 1 (t ). (1)

"Ci sarà un momento in cui una formica produrrà la soluzione ottima."

• Convergenza in feromone, iterazione t, vettore delle tracce(t):

p{sol. x* is produced | pheromone (t)} 1 (t ). (2)

"Ci sarà un momento in cui tutte le formiche avranno imparato a produrre la soluzone ottima."

• (2) ovviamente è più forte di (1).

• - convergenza in feromone: forma più debole di (2), sostituisce " 1" con " 1 – for t N()".

Vittorio Maniezzo – Università di Bologna

Page 10: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

10

ACO: approcci

Vittorio Maniezzo – Università di Bologna 19

ABC Bonabeau et al. [B98], van der Put, Rothkrantz

[vdPR98] network routing

ACS Dorigo, Ganbardella [DG97] TSP, VRP

AntNet Di Caro, Dorigo [DCD97], [DCD98] network routing

ANTS Maniezzo [M98] , Maniezzo, Carbonaro [MC99] QAP, FAP

AS Colorni, Dorigo, Maniezzo [CDM91], [D92],

[CDMT94], [DMC96] TSP, QAP, JSP

ASrank Bullnheimer, Hartl, Strauss [BHS97] TSP, VRP

HAS Gambardella, Taillard, Dorigo [GTD99] QAP, VRP, SOP

MMAS Stuetzle, Hoos [SH98,SD99] TSP, QAP

AS-SCS Michel, Middendorf [MM98] SCS

- Costa, Hertz [CH97] GCP

- Merkle, Middendorf, Schmeck [MM00,MMS00] Scheduling Problems

- Gambardella, Dorigo [GD00] SOP

- Kawamura et al. [KYSO00] TSP

Applicazioni …Elenco per classe di problema e in ordine cronologico (cfr. Dorigo, Gambardella, 2003).

Problem name Authors Algorithm name Year

Traveling salesman Dorigo, Maniezzo, Colorni AS 1991

Gambardella, Dorigo Ant-Q 1995

Dorigo, Gambardella ACS, ACS-3-opt 1996

Stuetzle, Hoos MMAS 1997

Bullnheimer, Hartl, Strauss ASrank 1997

Cordòn, et al. BWAS 2000

Quadratic assignment Maniezzo, Colorni, Dorigo AS-QAP 1994

Gambardella, Taillard, Dorigo HAS-QAP 1997

Stuetzle, Hoos MMAS-QAP 1997

Maniezzo ANTS 1998

Maniezzo, Colorni AS-QAP 1999

Scheduling problems Colorni, Dorigo, Maniezzo AS-JSP 1994

Stuetzle AS-FSP 1997

Bauer et al. ACS-SMTTP 1999

den Besten, Stuetzle, Dorigo ACS-SMTWTP 1999

Merkle, Middendorf, Schmeck ACO-RCPS 2000

Vittorio Maniezzo – Università di Bologna 20

Page 11: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

11

Applicazioni (cont.)Problem name Authors Algorithm name Year

Vehicle routing Bullnheimer, Hartl, Strauss AS-VRP 1997

Gambardella, Taillard, Agazzi HAS-VRP 1999

Connection-oriented Schoonderwoerd et al. ABC 1996

network routing White, Pagurek, Oppacher ASGA 1998

Di Caro, Dorigo AntNet-FS 1998

Bonabeau et al. ABC-smart ants 1998

Connection-less Di Caro, Dorigo AntNet, AntNet-FA 1997

network routing Subramanian, Druschel, Chen Regular ants 1997

Heusse et al. CAF 1998

van der Put, Rothkrantz ABC-backward 1998

Sequential ordering Gambardella, Dorigo HAS-SOP 1997

Graph coloring Costa, Hertz ANTCOL 1997

Shortest common supersequence Michel, Middendorf AS-SCS 1998

Frequency assignment Maniezzo, Carbonaro ANTS-FAP 1998

Generalized assignment Ramalhinho Lourenco, Serra MMAS-GAP 1998

Multiple knapsack Leguizamòn, Michalewicz AS-MKP 1999

Optical networks routing Navarro Varela, Sinclair ACO-VWP 1999

Redundancy allocation Liang, Smith ACO-RAP 1999

Constraint satisf. Solnon Ant-P-solver 2000

Vittorio Maniezzo – Università di Bologna 21

Applicazioni(cont.)

Vittorio Maniezzo – Università di Bologna 22

Page 12: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

12

Routing in Packet-

Switched Networks

Vittorio Maniezzo – Università di Bologna

AntNetInternet routing : bisogna costruire una routing table in ogni router.

• Tutto (nodi, connessioni, costi) varia continuamente

• Intrinsecamente distribuito, con forti vincoli di real-time

Vittorio Maniezzo – Università di Bologna

Page 13: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

13

AntNet Algorithm

• Le formiche sono continuamente lanciate da ogni nodo verso destinazioni casuali

• Ogni formica individua il suo cammino in probabilità, usando feromone e euristiche.

• Ogni formica memorizza i nodi visitati e i costi dell'instradamento

• Arrivata a destinazione, ogni formica ripercorre il suo cammino all'indietro, aggiornando la tracce di feromone in funzione della qualità della soluzione finale individuata.

Vittorio Maniezzo – Università di Bologna

AntNet data structure

Ad ogni nodo:

Routing table

- Probabilità di scegliere ogni vicino, per ogni possibile destinazione finale

Local traffic vector (LTV)

- Statistiche sui tempi di viaggio dal nodo corrente k ad ogni nodo destinazione d (medie e varianze)

Vittorio Maniezzo – Università di Bologna

Page 14: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

14

AntNet Routing - Agenti

Due tipi di formiche

• Forward Ants (F-ants)

•Esplorano la rete e collezionano dati

•Giunte a destinazione, diventano backward ants

• Backward Ants (B-ants)

•Ripercorrono il cammino della forward antcorrispondente

•Aggiornano le routing tables di tutti i nodi del cammino

Vittorio Maniezzo – Università di Bologna

AntNet: validazioneTest estensivi.

• American NSF net

• Japanese NTT net

Buoni risultati

• throughput simile a quello di altri algoritmi di routing

• packet delay medio significativamente più basso

Vittorio Maniezzo – Università di Bologna

Page 15: Ant E 11 E Optimization - unibo.itisi-personale.csr.unibo.it/vittorio.maniezzo/didattica/... · 2016. 4. 19. · dove è un parametro di evaporazione definito dall'utente e rappresenta

15

Esempio: NSFnet

Vittorio Maniezzo – Università di Bologna