Algoritmi Evolutivi per il Problema del Commesso Viaggiatore

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.