università del salento - matematicaescuola.it · vincoli (a): stabiliscono che il ciclo orientato...

34
1 Universit Università del Salento del Salento Dipartimento di Matematica Dipartimento di Matematica Il Problema del Il Problema del Commesso Viaggiatore Commesso Viaggiatore Chefi Chefi TRIKI TRIKI Dal Rompicapo Dal Rompicapo … alla Teoria dei Grafi alla Teoria dei Grafi Kaliningrad Kaliningrad Fiume Fiume Pregel Pregel Ex Ex- citt città Prussiana Prussiana

Upload: lythuy

Post on 14-Feb-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

1

UniversitUniversitàà del Salentodel SalentoDipartimento di MatematicaDipartimento di Matematica

Il Problema delIl Problema del

Commesso ViaggiatoreCommesso Viaggiatore

ChefiChefi TRIKITRIKI

Dal Rompicapo Dal Rompicapo …… alla Teoria dei Grafi alla Teoria dei Grafi

KaliningradKaliningrad

Fiume Fiume PregelPregel

ExEx--cittcittàà PrussianaPrussiana

2

Dal Rompicapo Dal Rompicapo …… alla Teoria dei Grafi alla Teoria dei Grafi

KKöönigsbergnigsberg

Mappa di Mappa di KKöönigsbergnigsberg del 1613del 1613(di Joachim Bering)(di Joachim Bering)

KANT

7PONTI

Dal Rompicapo Dal Rompicapo …… alla Teoria dei Grafi alla Teoria dei Grafi

Rompicapo: Rompicapo:

EE’’ possibile fare una passeggiata che:possibile fare una passeggiata che:

partendo e tornando allo stesso puntopartendo e tornando allo stesso punto

attraversi tutti i ponti attraversi tutti i ponti

una ed una sola voltauna ed una sola volta

3

Dal Rompicapo Dal Rompicapo …… alla Teoria dei Grafi alla Teoria dei Grafi

LeonhardLeonhard EulerEuler (1707(1707——1783)1783)

risolse il problema nel 1735risolse il problema nel 1735

Dal Rompicapo Dal Rompicapo …… alla Teoria dei Grafi alla Teoria dei Grafi

Mostrare Filmato su Eulero e la sua soluzione al problema

(~ 2’ e 40’’)

4

GrafoGrafo G=G=(V,E)(V,E): rappresenta le interazioni tra: rappresenta le interazioni tracoppie di oggetticoppie di oggetti

VV: insieme di nodi/vertici ={A, B, C, D}: insieme di nodi/vertici ={A, B, C, D}

EE: insieme di archi = { (A,B), (A,C), (C,B), (C,D) }: insieme di archi = { (A,B), (A,C), (C,B), (C,D) }A

CB

D

Teoria dei Grafi: DefinizioniTeoria dei Grafi: Definizioni

Grafo non orientatoGrafo non orientato Grafo orientatoGrafo orientato Grafo mistoGrafo misto

A

CB

D

A

CB

D

Esempi di GrafiEsempi di Grafi

ChimicaChimicaScienze delle DecisioniScienze delle DecisioniSaccarosio (zucchero)

Scienze GenealogicheScienze Genealogiche

5

Dai Grafi Dai Grafi …… alle Retialle Reti

17

-12

1818

99

55

3030

1212

ReteRete: associare al grafo dei parametri: associare al grafo dei parametriNodi: domanda, offerta, Nodi: domanda, offerta, ……Archi: capacitArchi: capacitàà, costo, tempo , costo, tempo ……

Gestire il flussoGestire il flusso

-17

Ottimizzare il flussoOttimizzare il flusso

12

TelecomunicazioniTelecomunicazioni

Protocolli di instradamenti dei messaggiProtocolli di instradamenti dei messaggi

Esempi di RetiEsempi di Reti

TelecomunicazioniTelecomunicazioni

6

Esempi di RetiEsempi di Reti

Traffico UrbanoTraffico Urbano

Altre Reti ?Altre Reti ?

ElettricaElettrica IdricaIdrica SocialeSociale

7

Altre RetiAltre Reti

Reti di TrasportoReti di Trasporto

8

Reti di TrasportoReti di Trasporto

ProblemiProblemi::

Commesso ViaggiatoreCommesso Viaggiatore

Instradamento dei VeicoliInstradamento dei Veicoli

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Decidere in quale ordine visitare Decidere in quale ordine visitare NN cittcittàà (una e (una e una sola volta) minimizzando la distanza percorsauna sola volta) minimizzando la distanza percorsa

e tornando alla citte tornando alla cittàà di partenzadi partenza

In altri terminiIn altri termini: determinare in un grafo un ciclo: determinare in un grafo un cicloHamiltonianoHamiltoniano a costo (distanza) minimoa costo (distanza) minimo

Definizione:Definizione: un ciclo un ciclo èè detto detto HamiltonianoHamiltoniano sesevisita tutti i nodi del grafo una e una sola voltavisita tutti i nodi del grafo una e una sola volta

Semplice da enunciare ma difficile da risolvereSemplice da enunciare ma difficile da risolvere

9

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Esempio: Esempio: Casa

2

5

4

3

1

8

13

13

78

6

10

9

63

Quante soluzioni (cicli Quante soluzioni (cicli HamiltonianiHamiltoniani) ci sono?) ci sono?Qual Qual èè quella migliore (minima distanza)?quella migliore (minima distanza)?

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Esempio: Esempio: Casa

2

5

4

3

1

8

13

13

78

6

10

9

63

Volete Provare?Volete Provare?Qual Qual èè la soluzione migliore?la soluzione migliore?

10

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

11--22--33--44--55--1 (distanza 36), 1 (distanza 36), 11--22--33--55--44--1 (distanza 38), 1 (distanza 38), 11--22--44--33--55--1 (distanza 42), 1 (distanza 42), 11--22--44--55--33--1 (distanza 40), 1 (distanza 40), 11--22--55--33--44--1 (distanza 40), 1 (distanza 40), 11--22--55--44--33--1 (distanza 44), 1 (distanza 44), 11--33--22--44--55--1 (distanza 48), 1 (distanza 48), 11--33--22--55--44--1 (distanza 46), 1 (distanza 46), 11--33--44--22--55--1 (distanza 48), 1 (distanza 48), 11--33--44--55--22--1 (distanza 44), 1 (distanza 44), 11--33--55--22--44--1 (distanza 44), 1 (distanza 44), 11--33--55--44--22--1 (distanza 40), 1 (distanza 40), 11--44--33--22--55--1 (distanza 38), 1 (distanza 38), 11--44--33--55--22--1 (distanza 40), 1 (distanza 40), 11--44--22--33--55--1 (distanza 44), 1 (distanza 44), 11--44--22--55--33--1 (distanza 44), 1 (distanza 44), 11--44--55--33--22--1 (distanza 38), 1 (distanza 38), 11--44--55--22--33--1 (distanza 46), 1 (distanza 46), 11--55--33--44--22--1 (distanza 42), 1 (distanza 42), 11--55--33--22--44--1 (distanza 44), 1 (distanza 44), 11--55--44--33--22--1 (distanza 36), 1 (distanza 36), 11--55--44--22--33--1 (distanza 48), 1 (distanza 48), 11--55--22--33--44--1 (distanza 38), 1 (distanza 38), 11--55--22--44--33--1 (distanza 48).1 (distanza 48).

Quante soluzioni (cicli Quante soluzioni (cicli HamiltonianiHamiltoniani) ci sono?) ci sono?

Esempio: Esempio:

Le soluzioni sono 24 (Ovvero: 4! = 4*3*2)Le soluzioni sono 24 (Ovvero: 4! = 4*3*2)Qual Qual èè la soluzione migliore?la soluzione migliore?

Ciclo 1Ciclo 1--22--33--44--55--1 (percorrendo 36 km)1 (percorrendo 36 km)

ma ma èè ……... unica?... unica?

25

43

1

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Numero delle soluzioni: Numero delle soluzioni:

Cresce rapidamente con il numero di cittCresce rapidamente con il numero di cittàà da visitareda visitare

Numero delle soluzioni:Numero delle soluzioni:5 citt5 cittàà 120120 soluzionisoluzioni10 citt10 cittàà 362880362880 soluzionisoluzioni12 citt12 cittàà 19958400 19958400 soluzionisoluzioni20 citt20 cittàà 24 * 1024 * 101717 soluzionisoluzioni

Ci arrendiamo????Ci arrendiamo????

11

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

1853: Sir William 1853: Sir William RowanRowan Hamilton e lHamilton e l’’ecosianoecosiano

Un poUn po’’ di storia: di storia:

12

Dal Rompicapo Dal Rompicapo …… alla Teoria dei Grafi alla Teoria dei Grafi

Mostrare Filmato su Hamilton E il suo gioco

(pochi secondi)

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Un poUn po’’ di storia: di storia:

Anni 1920Anni 1920--30: 30: Karl Karl MengerMenger studiò il problema studiò il problema

Anno 1954: Anno 1954: DantzigDantzig--FulkersonFulkerson--JohnsonJohnson risolsero ilrisolsero ilproblema con 49 nodi (capitali statunitensi)problema con 49 nodi (capitali statunitensi)

532 nodi532 nodi(1987)(1987)

13509 nodi13509 nodi(1998)(1998)

49 nodi49 nodi(1954)(1954)

13

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Un poUn po’’ di storia: di storia:

Anno 1962: Anno 1962:

ProcterProcter & & GambleGamble

bandbandìì un concorso un concorso

per trovare il tour per trovare il tour

ottimo su 33 cittottimo su 33 cittàà

Anno 1977Anno 1977

120 citt120 cittàà tedeschetedescheConcorso Concorso ProcterProcter & & GambleGamble

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Un poUn po’’ di storia: di storia:

Anno 1994Anno 1994

7397 nodi di un circuito elettronico7397 nodi di un circuito elettronico

Anno 1987: Anno 1987:

666 citt666 cittàà turistiche turistiche

14

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Un poUn po’’ di storia:di storia:

Anno 2001Anno 2001 Anno 2004Anno 2004

15112 citt15112 cittàà tedesche 24978 citttedesche 24978 cittàà svedesisvedesi

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

CuriositCuriositàà::

Anno 2007Anno 2007 Anno ???Anno ???

Ron Ron SchreckSchreck in 109 aeroporti dellain 109 aeroporti dellaNord Carolina in un solo giornoNord Carolina in un solo giorno

GiroGiro del del mondomondo1,904,711 1,904,711 cittcittàà

15

EsempioEsempio

LL’’AZIENDA SANITARIA di Lecce sta pianificando AZIENDA SANITARIA di Lecce sta pianificando la realizzazione di un nuovo servizio di assistenza per la realizzazione di un nuovo servizio di assistenza per i tossicodipendenti. Il servizio prevede li tossicodipendenti. Il servizio prevede l’’allestimento allestimento di un laboratorio di analisi cliniche, ubicato presso il di un laboratorio di analisi cliniche, ubicato presso il presidio ospedaliero presidio ospedaliero ““Vito Vito FazziFazzi”” di Lecce, da di Lecce, da utilizzare per eseguire le analisi cliniche sui campioni utilizzare per eseguire le analisi cliniche sui campioni di sangue prelevati agli utenti presso i presidi di sangue prelevati agli utenti presso i presidi ospedalieri di ospedalieri di LecceLecce, , S. CesarioS. Cesario, , CopertinoCopertino, , MartanoMartano, , GalatinaGalatina, , NardòNardò e e Campi Campi SalentinaSalentina. .

EsempioEsempio

16

In ogni giorno feriale, In ogni giorno feriale, èè previsto che un autista ritiri i previsto che un autista ritiri i campioni di sangue e, contemporaneamente, consegni i campioni di sangue e, contemporaneamente, consegni i risultati degli esami clinici effettuati sui campioni di risultati degli esami clinici effettuati sui campioni di sangue prelevati il giorno feriale precedente. Per sangue prelevati il giorno feriale precedente. Per stabilire la rotta da seguire, stabilire la rotta da seguire, si risolve un problema del si risolve un problema del commesso viaggiatorecommesso viaggiatore. In tabella sono riportate le . In tabella sono riportate le distanze chilometriche tra i 7 presidi ospedalieri:distanze chilometriche tra i 7 presidi ospedalieri:

EsempioEsempio

Risolviamo insieme il problema:Risolviamo insieme il problema:

Con lCon l’’intuito intuito (a mano)(a mano)

usando il LINGO: usando il LINGO: da dove cominciare?da dove cominciare?

Modello MatematicoModello Matematico

EsempioEsempio

17

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

11

33

Modello Matematico: Modello Matematico:

22

55

44EE’’ sufficiente?sufficiente?

Modello MatematicoModello Matematico

per ciascun nodo# di archi entranti = # di archi uscenti = 1

Minimizzare: costo di trasportoSoggetto a:

4

1

2

3 Proviamo con lProviamo con l’’esempioesempio

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

11

33

Modello Matematico: Modello Matematico:

22

55

44

Modello MatematicoModello Matematico

Soggetto a:assicurare che il ciclo sia connesso(ovvero: evitare i sottocicli)per ciascun nodo# di archi entranti = # di archi uscenti = 1

Minimizzare: costo di trasportoSoggetto a:

4

1

2

3

18

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Modello MatematicoModello Matematico

Consideriamo il caso di un grafo Consideriamo il caso di un grafo orientatoorientato

insieme degli Archi Ainsieme degli Archi ASia:Sia:

ccijij costo associato allcosto associato all’’Arco (Arco (i, j i, j ) ) ∈∈ AA

xxijij variabile decisionale di tipo binario, aventevariabile decisionale di tipo binario, aventevalore 1 se lvalore 1 se l’’Arco (Arco (i, j i, j ) ) ∈∈ A A fa parte delfa parte delciclo orientato ciclo orientato hamiltonianohamiltoniano, 0 altrimenti, 0 altrimenti

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Modello MatematicoModello Matematico

Min ∑∈Aji

ijij xc),(

s.a ∑

=}\{

1jVi

ijx , j ∈ V (a)

∑∈

=}\{

1iVj

ijx , i ∈ V (b)

Vincoli di Connettività (c) xij ∈ {0, 1}, (i, j) ∈ A (d)

19

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Modello MatematicoModello Matematico

Vincoli (a): stabiliscono che il ciclo orientato Vincoli (a): stabiliscono che il ciclo orientato hamiltonianohamiltoniano deve essere caratterizzato da deve essere caratterizzato da un solo un solo arco entrantearco entrante in ogni vertice in ogni vertice j j ∈∈VV

Vincoli (b): garantiscono che il ciclo orientato Vincoli (b): garantiscono che il ciclo orientato hamiltonianohamiltoniano abbia abbia un solo arco uscenteun solo arco uscente da ogni da ogni vertice vertice i i ∈∈VV

I vincoli (c) possono essere formulati in due modi I vincoli (c) possono essere formulati in due modi

alternativi, algebricamente equivalentialternativi, algebricamente equivalenti

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Modello MatematicoModello Matematico

∑∑∈ ∉

≥Si Sj

ijx 1, S ⊂ V, |S| ≥ 2 (e)

ConnectivityConnectivity ConstraintsConstraintsstabiliscono che il ciclo orientato stabiliscono che il ciclo orientato hamiltonianohamiltonianoabbia almeno un arco uscente da ogniabbia almeno un arco uscente da ognisottoinsieme non vuoto sottoinsieme non vuoto SS di vertici in di vertici in VV

20

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Modello MatematicoModello Matematico

SubtourSubtour EliminationElimination ConstraintsConstraintsimpongono limpongono l’’assenza di cicli orientati contenentiassenza di cicli orientati contenentimeno di |meno di |SS| vertici| vertici

∑∑∈ ∈

≤Si Sj

ijx |S| - 1, S ⊂ V, |S| ≥ 2 . (f)

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Modello MatematicoModello Matematico

Se Se SS contenesse un solo vertice, il corrispondente contenesse un solo vertice, il corrispondente vincolo (e) sarebbe ridondante, a causa della vincolo (e) sarebbe ridondante, a causa della contemporanea presenza nel modello dei vincoli (b)contemporanea presenza nel modello dei vincoli (b)

Analogo discorso vale per il vincolo (f) nel caso in cui Analogo discorso vale per il vincolo (f) nel caso in cui ||SS|| fosse pari a 1fosse pari a 1

Ciò spiega il motivo per cui nei vincoli (e) ed (f) si Ciò spiega il motivo per cui nei vincoli (e) ed (f) si impone che i sottoinsiemi impone che i sottoinsiemi SS di di V V siano di almeno due siano di almeno due verticivertici

21

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Metodi di SoluzioneMetodi di Soluzione

La presenza dei vincoli di connettivitLa presenza dei vincoli di connettivitàà rende il rende il problema problema NPNP--difficiledifficileIn alcune applicazioni In alcune applicazioni èè sufficiente trovare una sufficiente trovare una soluzione approssimatasoluzione approssimataEE’’ necessario avere qualche garanzia sulla qualitnecessario avere qualche garanzia sulla qualitààdella soluzione approssimata rispetto a quella ottimadella soluzione approssimata rispetto a quella ottimaMetodo che produce una soluzione di buona qualitMetodo che produce una soluzione di buona qualitààsu un grafo orientatosu un grafo orientato Algoritmo delle Algoritmo delle ““ToppeToppe””

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Algoritmo delle Toppe (Algoritmo delle Toppe (patchingpatching methodmethod))

Consente di generare una soluzione ammissibile per il Consente di generare una soluzione ammissibile per il problema del commesso viaggiatore tramite: problema del commesso viaggiatore tramite:

LL’’eliminazione (o rilassamento) dei vincoli di eliminazione (o rilassamento) dei vincoli di connettivitconnettivitàà (si ottiene il (si ottiene il Problema di Assegnamento)Problema di Assegnamento)

Fusioni dei cicli orientati (con minimo incremento di Fusioni dei cicli orientati (con minimo incremento di costo) finchcosto) finchéé non si ottenga un non si ottenga un ciclo ciclo HamiltonianoHamiltoniano

Collezione di cicli orientati Collezione di cicli orientati CC11, , CC22, , ……, , CCpp che che coprono tutti i vertici del grafo orientatocoprono tutti i vertici del grafo orientato

22

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Algoritmo delle ToppeAlgoritmo delle Toppe

Min ∑∈Aji

ijij xc),(

s.a ∑

=}\{

1jVi

ijx , j ∈ V (a)

∑∈

=}\{

1iVj

ijx , i ∈ V (b)

Vincoli di Connettività (c) xij ∈ {0, 1}, (i, j) ∈ A (d)

Problema di Assegnamento:Problema di Assegnamento:

xij ≥ 0, i, j ∈ V

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Esempio: Laboratorio EllisseEsempio: Laboratorio Ellisse

ELLISSEELLISSE èè un laboratorio specializzato nella un laboratorio specializzato nella produzione artigianale di dolciumi con sede a Napoli produzione artigianale di dolciumi con sede a Napoli nei pressi di Via nei pressi di Via PartenopePartenope

Ogni giorno alle 6:30 un furgone trasporta i prodotti Ogni giorno alle 6:30 un furgone trasporta i prodotti dolciari ai punti vendita che ne fanno richiestadolciari ai punti vendita che ne fanno richiesta

Il numero di clienti e i corrispettivi quantitativi Il numero di clienti e i corrispettivi quantitativi richiesti sono estremamente variabili, ma mai di richiesti sono estremamente variabili, ma mai di entitentitàà tale da superare la capacittale da superare la capacitàà di un furgonedi un furgone

23

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Le consegne possono, pertanto, essere effettuate Le consegne possono, pertanto, essere effettuate con un unico viaggio senza necessitcon un unico viaggio senza necessitàà di di approvvigionamenti intermedi presso il laboratorioapprovvigionamenti intermedi presso il laboratorio

Il problema consiste nella determinazione della rotta Il problema consiste nella determinazione della rotta giornaliera di costo minimo per il furgone, in modo giornaliera di costo minimo per il furgone, in modo tale da soddisfare tutte le richiestetale da soddisfare tutte le richieste

Si assume che i costi di trasporto siano proporzionali Si assume che i costi di trasporto siano proporzionali alle distanze copertealle distanze coperte

Esempio: Laboratorio EllisseEsempio: Laboratorio Ellisse

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

EsempioEsempio

In figura In figura èè schematizzato il grafo misto schematizzato il grafo misto G G ((VV, , AA, , E E ) ) relativo alla zona di Napoli interessata alle consegne relativo alla zona di Napoli interessata alle consegne effettuate leffettuate l’’8 luglio scorso8 luglio scorso

Problema di Problema di commesso viaggiatorecommesso viaggiatore su un grafo su un grafo orientato con orientato con 8 nodi8 nodi (e 56 archi):(e 56 archi):

–– Clienti da servire: vertici 1, 3, 4, 9, 18, 20 e 22Clienti da servire: vertici 1, 3, 4, 9, 18, 20 e 22

–– Laboratorio ELLISSE: vertice 0Laboratorio ELLISSE: vertice 0

24

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

dijji

1

24

3

67

8

13

11

12

10

9 15

14

16

20 23

21

17

19

5

22

18

0

1,1 2,1

1,8

1,6

1,9

0,60,6

11

1,6

0,40,7

0,7 0,9

0,5

0,5

0,51

0,9

1

0,51,3

0,9

0,9

0,5

0,5

0,5

0,20,2

2

1

0,51

1,40,7

Esempio: LEsempio: Laboratorio Ellisseaboratorio Ellisse

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

. . . dove:. . . dove:

gli gli archiarchi corrispondono a strade a senso unicocorrispondono a strade a senso unico

gli gli spigolispigoli corrispondono a strade a doppio corrispondono a strade a doppio senso di senso di circolazione con uguale costo di percorrenzacircolazione con uguale costo di percorrenza

ddijij nel grafo viene riportata nel grafo viene riportata la distanza (in km) la distanza (in km) ttrara i i vertici vertici ii e e jj

Esempio: Laboratorio EllisseEsempio: Laboratorio Ellisse

25

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Lunghezza (in km) del percorso ottimo tra ogni coppia di nodiLunghezza (in km) del percorso ottimo tra ogni coppia di nodi

Vertice0 1 3 4 9 18 20 22

Vertice 0 0 5,5 4,2 2,6 2,4 1,3 2,5 4,3Vertice 1 4,7 0 3,7 2,1 5,1 6 7,2 9Vertice 3 4,2 4,5 0 1,6 3,2 5,5 6,7 8,5Vertice 4 2,6 2,9 1,6 0 3 3,9 5,1 6,9Vertice 9 3,8 4,1 2,8 1,2 0 5,1 6,3 8,1

Vertice 18 3,9 7,4 6,1 4,5 3,3 0 1,2 3Vertice 20 3,5 7 5,7 4,1 2,9 1,2 0 2,3Vertice 22 5,9 9,4 8,1 6,5 5,3 3 2,3 0

Ad ogni arco (Ad ogni arco (ii, , j j ) ) èè associato un costo associato un costo ccijijcorrispondente alla lunghezza del percorso ottimo corrispondente alla lunghezza del percorso ottimo da da ii a a j j determinato sul grafo di partenzadeterminato sul grafo di partenza

Esempio: Laboratorio EllisseEsempio: Laboratorio Ellisse

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Risolvendo il Risolvendo il problema dellproblema dell’’assegnamentoassegnamento, si ottiene la , si ottiene la soluzione ottima a cui corrispondono i seguenti tre soluzione ottima a cui corrispondono i seguenti tre cicli orientati:cicli orientati:

CC1 1 = {(1,3), (3,4), (4,1)}, = {(1,3), (3,4), (4,1)}, di costo pari a 8,2 km di costo pari a 8,2 km

CC2 2 = {(0,18), (18,9), (9,0)}, = {(0,18), (18,9), (9,0)}, di costo pari a 8,4 kmdi costo pari a 8,4 km

CC3 3 = {(20,22), (22,20)}, = {(20,22), (22,20)}, di costo pari a 4,6 kmdi costo pari a 4,6 km

Costo totale della soluzione pari a Costo totale della soluzione pari a 21.2 km21.2 km

Esempio: Laboratorio EllisseEsempio: Laboratorio Ellisse

26

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Soluzione ottima del problema di assegnamentoSoluzione ottima del problema di assegnamento

cijji

1

4

39

20

22

18

0

2,9

3,7

1,6 3,3 1,3

3,3

2,32,3

Esempio: Laboratorio EllisseEsempio: Laboratorio Ellisse

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Per determinare un ciclo Per determinare un ciclo HamiltonianoHamiltoniano sono necessariesono necessariedue iterazionidue iterazioni

Iterazione 1Iterazione 1: si ottengono due cicli orientati:: si ottengono due cicli orientati:

CC1 1 = {(1,3), (3,4), (4,1)} = {(1,3), (3,4), (4,1)} costo pari a 8,2 km costo pari a 8,2 km

CC44 = {(0,18), (18,22), (22,20), (20,9), (9,0)}= {(0,18), (18,22), (22,20), (20,9), (9,0)}

costo pari a 12,8 km costo pari a 12,8 km

Esempio: Laboratorio EllisseEsempio: Laboratorio Ellisse

27

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

CC44 ottenuto dalla fusione di ottenuto dalla fusione di CC22 e e CC33: incremento di costo 0,3 km: incremento di costo 0,3 km

Esempio: Laboratorio EllisseEsempio: Laboratorio Ellissecij

ji

1

4

39

20

22

18

0

2,9

3,7

1,6 3,8 1,3

2,9

2,3

3

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Iterazione 2Iterazione 2: i cicli orientati : i cicli orientati CC11 e e CC44 sono fusi sono fusi attraverso la rimozione degli archi (1,3) e (9,0) e attraverso la rimozione degli archi (1,3) e (9,0) e ll’’inserimento degli archi (9,3) e (1,0)inserimento degli archi (9,3) e (1,0)

si ottiene un si ottiene un ciclo orientato ciclo orientato hamiltonianohamiltoniano al al quale corrisponde una soluzione ammissibilequale corrisponde una soluzione ammissibileper il problema del commesso viaggiatore per il problema del commesso viaggiatore costo della soluzione pari a 21,5 kmcosto della soluzione pari a 21,5 km

Esempio: Laboratorio EllisseEsempio: Laboratorio Ellisse

28

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

Ciclo orientato Ciclo orientato hamiltonianohamiltoniano generato dallgenerato dall’’algoritmo delle algoritmo delle ““toppetoppe””

Esempio: Laboratorio EllisseEsempio: Laboratorio Ellissecij

ji

1

4

39

20

22

18

0

2,9

2,8

1,6

4,7

1,3

2,9

2,3

3

Il Problema del Commesso ViaggiatoreIl Problema del Commesso Viaggiatore

EE’’ possibile valutare la qualitpossibile valutare la qualitàà della soluzione ottenuta della soluzione ottenuta calcolando il rapporto:calcolando il rapporto:

(21,5 (21,5 –– 21,2)/21,2 = 1,4%,21,2)/21,2 = 1,4%,

èè una valutazione (per eccesso) dello scostamentouna valutazione (per eccesso) dello scostamentodel valore di funzione obiettivo della soluzionedel valore di funzione obiettivo della soluzioneeuristica rispetto a quella ottimaeuristica rispetto a quella ottima

Esempio: Laboratorio EllisseEsempio: Laboratorio Ellisse

29

Il Problema dellIl Problema dell’’Instradamento dei Veicoli Instradamento dei Veicoli

Una flotta di veicoli deve servire un certo Una flotta di veicoli deve servire un certo numero di clientinumero di clienti

Stabilire delle rotte che, a partire dalStabilire delle rotte che, a partire daldeposito, visitino tutte le cittdeposito, visitino tutte le cittàà esattamenteesattamenteuna volta per poi ritornare al punto di partenzauna volta per poi ritornare al punto di partenza

Obiettivo: Obiettivo: Minimizzare la distanza percorsaMinimizzare la distanza percorsa

Vincoli: Vincoli: CapacitCapacitàà dei veicolidei veicoliTurni di lavoroTurni di lavoroFinestre temporali per il servizioFinestre temporali per il servizio

Il Problema dellIl Problema dell’’Instradamento dei Veicoli Instradamento dei Veicoli

Deposito

30

Il Problema dellIl Problema dell’’Instradamento dei Veicoli Instradamento dei Veicoli

Campi di applicazione:Campi di applicazione:

distribuzione e prelievo di mercidistribuzione e prelievo di mercitrasporti aerei e ferroviaritrasporti aerei e ferroviariinstradamento delle ambulanzeinstradamento delle ambulanzeservizi di scuolabusservizi di scuolabusservizio di corriereservizio di corriereecc.ecc.

Modelli per l’Ottimizzazione Modelli per l’Ottimizzazione dell’instradamento dei Veicoli in dell’instradamento dei Veicoli in

un Caso Realeun Caso Reale

Relatore Relatore Prof.Prof. Chefi TrikiChefi Triki

DDott.ott.MaMauro Portoneuro Portone

Università del SalentoUniversità del SalentoCorso di Laurea in Matematica ApplicataCorso di Laurea in Matematica Applicata

Tesi di Laurea TriennaleTesi di Laurea Triennale

31

ApplicazioneApplicazioneCostruzione di un modello matematico per la soluzione del problema dell’instradamento dei veicoli, per la distribuzione dei carburanti di un’azienda della provincia di Lecce.

Rifornire settimanalmente i propri clienti (distributori dettaglianti) della quantità di carburante richiesta

Utilizzare al massimo 14 camion di varia portata

Partire ogni giorno dal deposito centrale (a Racale) e tornarci dopo il servizio

Dati del ProblemaDati del Problema

8. FIAT 660 LT. 70009. FIAT OM100 LT. 700010. FIAT 662 LT. 700011. FIAT 145 LT. 1200012. FIAT 190 LT. 1850013. FIAT 650 LT. 700014. IVECO 175 LT. 13000

FLOTTA DEGLI AUTOMEZZI E RELATIVA PORTATA

1. IVECO 190 LT. 190002. IVECO 190 LT. 190003. FIAT 650 LT. 70004. IVECO 130 LT. 90005. IVECO MAGIRUS LT. 170006. IVECO MAGIRUS LT. 210007. FIAT 662 LT. 7000

32

Dati del ProblemaDati del Problema

ELENCO DEI CLIENTI E RELATIVA DOMANDA SETTIMANALE:

1. ANDRANO LT. 40002. ALLISTE LT. 110003. ALESSANO LT. 108004. CAPRARICA D. L. LT. 70005. CARPIGNANO SAL. LT. 65006. CASTRIGNANO D. C LT. 110007. CASTRIGNANO D. G. LT. 70008. DISO LT. 110009. FELLINE-DI ALLISTE LT. 1200010. GAGLIANO D. C. LT. 2000011. GALATONE LT. 2400012. GALLIPOLI LT. 1450013. GUAGNANO LT. 1300014. LECCE LT. 1300015. MANCAVERSA LT. 900016. MELISSANO LT. 1300017. MIGGIANO LT. 8500

18. MONTESARDO LT. 530019. NOVOLI LT. 150020. PARABITA LT. 3150021. RACALE LT. 2030022. SALVE LT. 2310023. SOLETO LT. 830024. SPECCHIA LT. 400025. SQUINZANO LT. 1000026. STERNATIA LT. 470027. TAVIANO LT. 2500028. TORRE SUDA LT. 950029. TORRE S. GIOV. LT. 1300030. UGENTO LT. 4480031. CEGLIE MESS. LT. 2380032. ERCHIE LT. 1340033. FRANCAVILLA F. LT. 5800

DOMANDA TOTALE: 439.300 Litri

Grafo della rete di distribuzione Grafo della rete di distribuzione dell’aziendadell’azienda

V: insieme dei nodi

|V|= 33

E: insieme degli archi

|E|= 127

NV: veicoli disponibili NV = 14

33

Modello MatematicoModello MatematicoObiettivo) (Funzione Min

1 1 1ijv

n

i

n

j

NV

vij xcz ∑∑∑

= = =

=

(1) ,...,2 1

S.V.

2 1njx

n

i

NV

vijv ==∑∑

= =

(3)n 1,...,p ,...,1 011

===−∑∑==

NVvxxn

jpjv

n

iipv

(4) ,...,1 11i

NVvQxd v

n

jijv

n

i =≤⎟⎟⎠

⎞⎜⎜⎝

⎛∑∑==

(5) ,...,1 12

1 NVvxn

jjv =≤∑

=

{ } (8) ,...,1 ,...,1, 1,0 NVvnjixijv ==∈

(7) NV1,.., v2 , 1 =≥⊆∀−≤∑∑∈ ∈

JNJJxJi Ju

ijv

Soluzione Soluzione del Modellodel ModelloMatematicoMatematico

Soluzione Soluzione adottata adottata

dall’aziendadall’azienda

34

Soluzione adottata dallSoluzione adottata dall’’azienda azienda •• Distanza settimanale percorsa: Distanza settimanale percorsa: 1532 km1532 km

•• Veicoli utilizzati in totale: Veicoli utilizzati in totale: 10 veicoli10 veicoli

Soluzione con il Modello MatematicoSoluzione con il Modello Matematico•• Distanza settimanale percorsa: Distanza settimanale percorsa: 1158 km1158 km

•• Veicoli utilizzati in totale: Veicoli utilizzati in totale: 7 veicoli7 veicoli

Conclusione: riduzione nel costo di servizio

riduzione nei costi di gestione

Confronto tra le soluzioniConfronto tra le soluzioni

30%24%