Cercare il percorso minimo Ant Colony Optimization
|
|
|
- Leonardo Pellegrini
- 9 anni fa
- Visualizzazioni
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 Andrea Roli [email protected] DEIS Alma Mater Studiorum Università di Bologna Intelligenza collettiva p. 1 Swarm Intelligence Intelligenza collettiva p. 2
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
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
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
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
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
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
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
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
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
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
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
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à
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)
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
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
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
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
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
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
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
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
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
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
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
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,
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
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])
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
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
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
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
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=
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
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
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
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
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
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
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)
