Traveling Salesman Problem An Ant Colony Optimization algorithm

Traveling Salesman Problem An Ant Colony Optimization algorithm to find a path. . . Progetto: Modulo: Corso: Studente: Data: sviluppare un algoritmo che risolva il TSP Algoritmi e ottimizzazione (M 08002) Algoritmi (C 08003) Nicola Vermes semestre estivo 2009 SUPSI-DTI I 3 A Traveling Salesman Problem

Algoritmo sviluppato e sue particolarità 1. Ant Colony Optimization * 2. Localsearch: 2 -opt con candidate lists * Particolarità: • In fase di exploration è inclusa anche la città che sarebbe scelta in fase di exploitation l’algoritmo è leggermente più greedy • Parametri (alcuni dinamici) • Utilizzo delle candidate lists già in ACO 10/23/2021 Traveling Salesman Problem 2

Candidate lists applicate ad ACO e 2 -opt • • • L’utilizzo delle candidate lists nella fase di exploitation dell’ACO crea, alla fine del processo costruttivo, dei tour che già rispettano fortemente le candidate lists Il 2 -opt con le candidate lists risulta ovviamente più rapido: per ognuna delle N città, vengono provati solo M scambi (N nro. tot. di città; M nro. città in CL) La seconda città viene scelta tra quelle nella candidate lists della prima 10/23/2021 Traveling Salesman Problem 3

Localsearch 2 -opt con candidate lists • • La città B risulterà dunque nella candidate list della città A Si crea quindi un “arco candidato”, tra A-B (arco verde) Non è invece detto che la città [B+1] sia nella candidate list della città [A+1] (arco rosso) Si potrebbe implementare un sistema che consideri solamente doppie copie di città entrambe in candidate list l’una con l’altra 10/23/2021 Traveling Salesman Problem 4

Prove e altri algoritmi testati in fase di sviluppo • • • Ant Colony con una sola formica per iterazione, solo aggiornamento locale e altre differenze (con LS risultati ~ 3%) SA e ILS, in seguito scartati perché non sarebbe utile applicarli all’ACO (“distruggono” la soluzione iniziale, sarebbe tempo perso) Varie LS: 3 -opt, one-shift (lente anche con CL o comunque non performanti) ILS: mutazioni come one-shift, scambio random; intensificazioni con 2 -opt, 3 -opt con/senza CL Il difetto di queste tecniche risiede nel tempo che necessitano per dare buoni risultati: in soli 3 minuti l’ACO è maggiormente performante 10/23/2021 Traveling Salesman Problem 5

Conclusioni • • • L’Ant Colony Optimization è un ottimo algoritmo per risolvere il TSP Vi sono diverse opzioni d’implementazione dell’algoritmo, piccole differenze, approcci diversi e svariati parametri da impostare: da questo punto di vista risulta un algoritmo non sempre facile da ottimizzare È un approccio affascinante, poiché viene implementato un sistema che si migliora e impara nel tempo 10/23/2021 Traveling Salesman Problem 6
- Slides: 6