Cercare il percorso minimo Ant Colony Optimization

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Cercare il percorso minimo Ant Colony Optimization"

Transcript

1 Cercare il percorso minimo Ant Colony Optimization Author: Luca Albergante 1 Dipartimento di Matematica, Università degli Studi di Milano 4 Aprile 2011 L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

2 Sommario Sommario 1 Il commesso viaggiatore (TSP) L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

3 Il problema Supponiamo di essere un commesso viaggiatore che deve visitare n città ritornando poi a quella iniziale. Quale ordine di visita scegliamo? Naturalmente lo scopo è quello di minimizzare la distanza percorsa (e quindi il costo). Questo problema è noto in letteratura come Travelling Salesman Problem (TSP), e come (forse) vedrete a lezione è un problema piuttosto complesso. L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

4 Quanti percorsi? Una analisi formale del problema richiederebbe alcune basi di teoria della complessità, quindi vediamo il tempo richiesto per affrontare il problema in maniera naïve. Supponiamo di dover visitare n città, come possiamo definire un percorso? Un idea è quella di elencare l ordine di visita delle città. Ad esempio per visitare Londra, Parigi e Milano ho le possibilità: Londra Parigi Milano Londra Milano Parigi Parigi Milano Londra Parigi Londra Milano Milano Parigi Londra Milano Londra Parigi L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

5 Quanti percorsi? Un percorso su n città è quindi una permutazione delle n città. Se volessi valutare il costo di ogni percorso per trovare il migliore quanti percorsi dovrei controllare? L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

6 Quanti percorsi? Un percorso su n città è quindi una permutazione delle n città. Se volessi valutare il costo di ogni percorso per trovare il migliore quanti percorsi dovrei controllare? Dovrei controllare n! percorsi (decisamente troppi!!) L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

7 Le formiche Le formiche sono piuttosto abili nel costruire percorsi utilizzando solo informazioni locali (anche se alcune specie conoscono la geografia del luogo...). Per costruire questi percorsi una formica rilascia un particolare marcatore chimico (feromoni) che attira le altre. Quando una formica esplora una zona in cerca di cibo, lascia una traccia. Se trova il cibo e torna indietro rinforza la traccia. I feromoni evaporano, quindi, tracce corte avranno più feromoni di tracce lunghe. L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

8 Le formiche Le altre formiche saranno attratte dalla traccia seguendola e rinforzandola. Quindi dopo un certo tempo un grande numero di formiche utilizzeranno quel percorso. Dato che una formica sceglie in maniera probabilistica il percorso da seguire (ci sono molte tracce ed ogni formica è solo attratta), se ci sono molte formiche, dopo un po il percorso scelto tenderà ad essere molto buono (idealmente ottimo). L algoritmo Ant Colony Optimization (ACO) è stato sviluppato da Dorigo ed è utilizzato per trovare cammini quasi-ottimi (non ho naturalmente la garanzia di avere l ottimo). L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

9 Le formiche Supponiamo che una formica k si trovi nel nodo i al tempo t e che possa dirigersi in uno dei nodi dell insieme N k i, questa formica si dirigerà al nodo j con la probabilità seguente: P k i,j (t) = ( τi,j (t) ) α ( ηi,j (t) ) β ( τi,j (t) ) α ( ηi,j (t) ) (1) β j N k i dove τ i,j è la quantità di feromone nell arco (i, j), η i,j (t) è dell informazione euristica conosciuta a priori, α è un parametro che controlla l effetto dei feromoni e β è un parametro che controlla l effetto dell informazione euristica. Nel TSP si pone { 1/d i,j se i j η i,j = 0 altrimenti dove d i,j è il costo per muoversi da i a j L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

10 Le formiche La traccia di feromoni sull arco (i, j) viene aggiornata come segue dove τ i,j (t) = ρ τ i,j (t 1) + n k=1 k i,j (t) (2) { Q k i,j (t) = L k (t) se l arco (i, j) è scelto dalla formica k 0 altrimenti dove ρ è il coefficiente di evaporazione del feromone (0 < ρ < 1), n è il numero di formiche, Q è la costante di aggiornamento per il feromone e L k (t) un costo associato con la distanza percorsa dalla formica k al tempo t (in genere conviene normalizzare il valore in maniera tale che per la formica che ha fatto il percorso minore L k (t) sia vicino allo 0). L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

11 Le formiche Fatte queste premesse l algoritmo procede come segue: ACO Inizializza i parametri e le n formiche while condizione do t t + 1 for i = 1 to n do Posiziona la formica i in un nodo iniziale a caso for j = 2 to numero città do muovi la formica i di un nodo utilizzando la formula 1 tieni traccia della mossa effettuata end for end for Aggiorna i feromoni utilizzando la formula 2 Tieni traccia della soluzione migliore trovata end while L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

12 Esercizio Scrivere un programma in MATLAB che utilizzi il sistema sopra descritto per trovare il percorso minimo fra 20 punti con coordinate (x, y) generate a caso tra 0 e 100. Utilizzate la distanza euclidea come costo. Plottate il costo medio dei percorsi col passare del tempo e l evoluzione dei percorsi (per ogni iterazione plottate solo il percorso migliore trovato). Nota: dato che il programma è piuttosto lungo sarebbe opportuno definire diverse funzioni per le varie parti (Inizializzazione, movimento delle formiche, calcolo dei costi, aggiornamento della traccia di feromoni). L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

13 Esercizio Il posizionamento delle formiche è piuttosto semplice: mi basterà per ogni formica scegliere un nodo iniziale a caso. Si noto che ogni formica deve percorrere tutti i nodi, quindi mi servirà una matrice (numero dei nodi) (numero delle formiche). Le formiche verranno mosse una alla volta, ed ogni formica completerà tutto il percorso. Conviene fare una copia locale della matrice dei feromoni e settare di volta in volta le degli 0 per le posizioni che ho già visitato. Dopo che tutte le formiche si sono mosse calcolo la lunghezza del percorso, e tengo traccia del minimo. La lunghezza del percorso calcolato verrà poi usata per aggiornare la traccia del feromone L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

Intelligenza collettiva Swarm intelligence

Intelligenza collettiva Swarm intelligence Intelligenza collettiva Swarm intelligence Andrea Roli [email protected] DEIS Alma Mater Studiorum Università di Bologna Intelligenza collettiva p. 1 Swarm Intelligence Intelligenza collettiva p. 2

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

PROBLEMA DEL COMMESSO VIAGGIATORE

PROBLEMA DEL COMMESSO VIAGGIATORE PROBLEMA DEL COMMESSO VIAGGIATORE INTRODUZIONE Il problema del commesso viaggiatore (traveling salesman problem :TSP) è un classico problema di ottimizzazione che si pone ogni qual volta, dati un numero

Dettagli

Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi

Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata Luca Bertazzi 0 3 Ulisse: da Troia a Itaca Troia Itaca 509 km Quale è stato invece il viaggio di Ulisse? Il viaggio di Ulisse Troia

Dettagli

Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia

Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia sercizi per il corso di Logistica I a.a. - aniela avaretto ipartimento di Matematica pplicata Università a oscari di Venezia sercizio Individuare un albero di supporto di lunghezza minima (SST) sul seguente

Dettagli

Algoritmi di ricerca locale

Algoritmi di ricerca locale Algoritmi di ricerca locale Utilizzati in problemi di ottimizzazione Tengono traccia solo dello stato corrente e si spostano su stati adiacenti Necessario il concetto di vicinato di uno stato Non si tiene

Dettagli

RICERCA OPERATIVA (a.a. 2018/19)

RICERCA OPERATIVA (a.a. 2018/19) Secondo appello //9 RICERCA OPERATIVA (a.a. 8/9) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: min y + y y y y y = y + y y = y, y, y, y Si verifichi se la soluzione ȳ =,,, sia ottima

Dettagli

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa [email protected] M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni

Dettagli

Intelligenza collettiva Swarm intelligence. Swarm Intelligence. Intelligenza collettiva emergente in gruppi di agenti (semplici).

Intelligenza collettiva Swarm intelligence. Swarm Intelligence. Intelligenza collettiva emergente in gruppi di agenti (semplici). Swarm Intelligence Intelligenza collettiva Swarm intelligence Andrea Roli [email protected] Dipartimento di Scienze Università degli Studi G. D Annunzio Chieti-Pescara Intelligenza collettiva emergente in

Dettagli

Algoritmi e giochi combinatori

Algoritmi e giochi combinatori Algoritmi e giochi combinatori Panoramica Giochi combinatori Programmi che giocano Albero di un gioco L algoritmo Minimax 1 Perché studiare i giochi? Problemi che coinvolgono agenti in competizione tra

Dettagli

trovare un percorso senza collisioni per passare da una configurazione ad un altra del sistema robotico

trovare un percorso senza collisioni per passare da una configurazione ad un altra del sistema robotico Problemi da risolvere navigazione trovare un percorso senza collisioni per passare da una configurazione ad un altra del sistema robotico copertura passare un sensore o un attuatore su tutti i punti che

Dettagli

Problema del cammino minimo

Problema del cammino minimo Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento

Dettagli

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa [email protected] M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università

Dettagli

Cammini minimi fra tutte le coppie

Cammini minimi fra tutte le coppie Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore

Dettagli

Euristiche per il Problema del Commesso Viaggiatore

Euristiche per il Problema del Commesso Viaggiatore Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Euristiche per il Problema del Commesso Viaggiatore Renato Bruni [email protected] Il materiale presentato

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

I Appello Ricerca Operativa 2 bis Compito A

I Appello Ricerca Operativa 2 bis Compito A I Appello Ricerca Operativa 2 bis Compito A Cognome e nome:. Esercizio 1. Si consideri il problema del matching di cardinalità massima in un grafo G ed il suo problema di decisione associato: esiste un

Dettagli

Il metodo dei Piani di Taglio (Cutting Planes Method)

Il metodo dei Piani di Taglio (Cutting Planes Method) Il metodo dei Piani di Taglio (Cutting Planes Method) E un metodo di soluzione dei problemi (IP) di tipo generale. L idea di base: Se la soluzione di (RL) non è intera allora la soluzione ottima intera

Dettagli

Il problema del commesso viaggiatore e problemi di vehicle routing

Il problema del commesso viaggiatore e problemi di vehicle routing Il problema del commesso viaggiatore e problemi di vehicle routing Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa [email protected] http://www.di.unipi.it/~galli 2 Dicembre

Dettagli

Algoritmi e Strutture Dati. Luciano Gualà

Algoritmi e Strutture Dati. Luciano Gualà Algoritmi e Strutture Dati Luciano Gualà [email protected] www.mat.uniroma2.it/~guala Esercizio Analizzare la complessità nel caso medio del primo algoritmo di pesatura (Alg1) presentato nella prima

Dettagli

AMPL Problemi su Reti

AMPL Problemi su Reti Dipartimento di Matematica Università di Padova Corso di Laurea Informatica Outline Problemi su Reti Cammino Minimo Molti problemi di ottimizzazione combinatoria possono essere modellati ricorrendo ai

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi

Dettagli

Ant Colony Optimization (ACO) e Swarm Intelligence

Ant Colony Optimization (ACO) e Swarm Intelligence Università degli Studi di Milano Facoltà di scienze Matematiche, Fisiche e Naturali Ant Colony Optimization (ACO) e Swarm Intelligence Seminario per il corso di Sistemi Intelligenti Prof. N. Alberto BORGHESE

Dettagli

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 . Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,

Dettagli

Problema del trasporto

Problema del trasporto p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. p. 1/1 Problema del trasporto Supponiamo di avere m depositi in

Dettagli

METODI DELLA RICERCA OPERATIVA

METODI DELLA RICERCA OPERATIVA Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco ([email protected]) i i Dott.ing. Maria Ilaria Lunesu ([email protected])

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli

Algoritmo basato su cancellazione di cicli

Algoritmo basato su cancellazione di cicli Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile

Dettagli

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST)

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) È dato un grafo non orientato G=(V,E). Ad ogni arco e i E, i=1,,m, è associato un costo c i 0 7 14 4 10 9 11 8 12 6 13 5 17 3 2

Dettagli

INSTRADAMENTO: ALGORITMO DI BELLMAN-FORD

INSTRADAMENTO: ALGORITMO DI BELLMAN-FORD UNIVERSITA' DEGLI STUDI DI BERGAMO Dipartimento di Ingegneria INSTRADAMENTO: ALGORITMO DI BELLMAN-FORD FONDAMENTI DI RETI E TELECOMUNICAZIONE A.A. 2012/13 - II Semestre Esercizio 1 Sia dato il grafo G=

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture iterative e selettive Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 AlgoBuild: Strutture iterative

Dettagli

Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:

Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: Esercizi su Python 14 maggio 2012 1. Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: 1. conti quanti elementi pari sono presenti nella lista; 2. conti quanti quadrati

Dettagli

Richiami di inferenza statistica. Strumenti quantitativi per la gestione. Emanuele Taufer

Richiami di inferenza statistica. Strumenti quantitativi per la gestione. Emanuele Taufer Richiami di inferenza statistica Strumenti quantitativi per la gestione Emanuele Taufer Inferenza statistica Inferenza statistica: insieme di tecniche che si utilizzano per ottenere informazioni su una

Dettagli

Differenze divise. Polinomio di interpolazione nella forma di Newton. Proprietà. Se n=0. Simmetria. Ricorsività. Abbiamo un solo punto

Differenze divise. Polinomio di interpolazione nella forma di Newton. Proprietà. Se n=0. Simmetria. Ricorsività. Abbiamo un solo punto Differenze divise Polinomio di interpolazione nella forma di Newton Se n=0 Abbiamo un solo punto Se n = 1 Abbiamo 2 punti Il polinomio cercato è la retta passante per i due punti Proprietà Simmetria Differenza

Dettagli

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP Sommario Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP I conjecture that there is no good algorithm for the traveling salesman problem. My reasons are the same

Dettagli

12.1 IL PROBLEMA DEL CAMMINO MINIMO: L ALGORITMO DI DIJKSTRA

12.1 IL PROBLEMA DEL CAMMINO MINIMO: L ALGORITMO DI DIJKSTRA Problemi strutturati. IL PROBLEMA DEL CAMMINO MINIMO: L ALGORITMO DI DIJKSTRA Esercizio.. Dato il grafo di Figura.., trovare il peso dei cammini minimi dal nodo a tutti gli altri nodi del grafo (il peso

Dettagli

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015 1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)

Dettagli