Algoritmi Evolutivi per il Problema del Commesso Viaggiatore PROGETTO Computazione Naturale C.d.L Magistrale in Informatica – AA. 2011/2012 Prof. Mario Pavone [email protected] http://www.dmi.unict.it/mpavone/ April 16, 2012 1 Il Problema del Commesso Viaggiatore - TSP Il problema del commesso viaggiatore (Travelling Salesman Problem – TSP) é uno dei classici problemi combinatorici piú studiati in ricerca operativa. Naturalmente il TSP é un problema NP-Completo. Dato un generico grafo G = (V, E) non diretto e pesato, tale che le cittá sono i vertici del grafo, mentre i percorsi/collegamenti tra le cittá sono gli archi del grafo. TSP consiste nel determinare un tour di costo minimo che visiti una ed una sola volta ciascun vertice/cittá, partendo e finendo nello stesso vertice. TSP é un problema di minimizzazione. Il problema del commesso viaggiatore puó essere affrontato in due diverse Figure 1: Symmetric TSP con 4 cittá 1 2 PROTOCOLLO SPERIMENTALE 2 varianti: symmetric TSP o asymmetric TSP. Il primo caso si ha quando la distanza tra due cittá é la stessa in direzione inversa (vedi figura 1); mentre nell’ultimo le distanze possono essere differenti. 2 Protocollo Sperimentale Le istanze su cui testare l’algoritmo implementato (vedi section 3) appartengono al classico Benchmark TSPLIB Instances scaricabile dal link: http://www2.research.att.com/ dsj/chtsp/download.html. Il candidato é invitato a testare il proprio algoritmo evolutivo scelto sulle seguenti istanze: fl3795, pcb3038, rl5915, rm11849 and u2319. Per ciascuna istanza gli esperimenti devono essere eseguiti per runs = 10, ed utilizzando come criterio di arresto il numero massimo di valutazioni della funzione fitness (F E). Valore da utilizzare negli esperimenti: F E = 5.5 × 106 . Risultati da presentare nella relazione: 1. best solution found on 10 runs; 2. SR: numero di volte che l’algoritmo trova la soluzione best (punto sopra) in 10 runs; 3. AES: numero medio di valutazioni della funzione fitness per ottenere la soluzione best (punto sopra); 4. media (mean) delle migliori soluzioni trovate in ogni run 5. standard deviation. Il candidato é invitato a presentare nella relazione grafici di convergenza dell’algoritmo implementato per almeno due dell’istanze utilizzate, con descrizione e propri commenti. 3 Algoritmo Evolutivo da Implementare Al candidato é fatta richiesta di implementare uno tra i seguenti algoritmi evolutivi: 1. Ant Colony Optimization; 2. Clonal Selection Algorithm; 3. Memetic Algorithm. 4 NOTE AL PROGETTO 3 Si noti che la difficoltá (o meno) dell’algoritmo implementato e l’originalitá introdotta saranno punti fermi della valutazione del progetto. Si invita il candidato a motivare nella sezione introduttiva della relazione la scelta dell’algoritmo sviluppato. 4 Note al progetto Al candidato é data facoltá di trovare il miglior settaggio dei parametri che influenzano le prestazioni dell’algoritmo implementato. I valori dei parametri scelti devono essere indicati nella relazione, giustificando e motivando la scelta fatta (punto obbligatorio). É data facoltá al candidato di scegliere la modalitá di selezione degli elementi della popolazione per l’iterazione successiva. Si invita il candidato stesso a descrivere nella relazione il criterio, o operatore di selezione utilizzato, giustificandone la scelta (punto fortemente consigliato). É data facoltá al candidato di scegliere eventuali operatori di ”Ricerca Locale” (particolarmente per la scelta dell’algoritmo n. 3) piú opportuni da adottare al problema dato. Si ricorda che la valutazione del progetto si baserá anche sull’originalitá introdotta nell’elaborato. Nella relazione da consegnare insieme al progetto (min. 4 pag max 12 pag) é fortemente sconsigliata l’inclusione di codici. É invece fortemente consigliato la descrizione (minuziosa): degli operatori utilizzati; dell’algoritmo implementato con relativo pseudo-codice; delle caratteristiche chiavi implementate nell’algoritmo; le motivazioni della scelta sui parametri utilizzati; eventuali originalitá introdotte nell’elaborato. É fortemente richiesta l’inclusione di una sezione introduttiva al progetto, ed una sezione conclusiva in cui descrivere i vostri commenti e le vostre conclusioni finali sull’elaborato svolto e sui risultati ottenuti. Si ricorda che la relazione é oggetto di valutazione dell’esame.