12.07.2015 Views

Problemi di Trasporto – Vehicle Routing - Massimo Paolucci

Problemi di Trasporto – Vehicle Routing - Massimo Paolucci

Problemi di Trasporto – Vehicle Routing - Massimo Paolucci

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Problemi</strong> decisionali neitrasporti:<strong>Vehicle</strong> <strong>Routing</strong> Problems<strong>Massimo</strong> <strong>Paolucci</strong>(paolucci@<strong>di</strong>st.unige.it)DIST – Università <strong>di</strong> Genova<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong>2 <strong>Problemi</strong> <strong>di</strong> pianificazione e gestione con elevata incidenzasui costi (totali e logistici in particolare) Logistica• stu<strong>di</strong>o <strong>di</strong> procedure e meto<strong>di</strong> per la pianificazione ed il controllo deiflussi <strong>di</strong> materiali e delle relative informazioni nelle organizzazioni,imprese ed enti erogatori <strong>di</strong> servizi• opera in modo che materiali, materie prime, semilavorati, prodotti finitie servizi pervengano al posto giusto, al momento giusto ed a uncosto ragionevole• Sistema logistico: “è l’insieme delle infrastrutture, attrezzature,persone e politiche operative che permette il flusso <strong>di</strong> beni e dellenecessarie informazioni dall’acquisizione delle materie prime sino alla<strong>di</strong>stribuzione dei prodotti finiti ai consumatori” (J. Heskett, R. Shapiro,Harward Business School)1


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong>3 I problemi <strong>di</strong> trasporto sono associati ad altri problemidecisionali quali:• localizzazione dei centri logistici• allocazione della domanda• gestione delle scorte Una molteplicità <strong>di</strong> problemi decisionali:• composizione delle flotte• turni dei veicoli e del personale• determinazione delle rotte• assegnazione dei carichi e loro composizione• posizionamento dei veicoli vuoti Due classi principali <strong>di</strong> problemi:• problemi <strong>di</strong> trasporto a lunga <strong>di</strong>stanza• problemi <strong>di</strong> trasporto a breve <strong>di</strong>stanza<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong>4 I problemi <strong>di</strong> trasporto a lunga <strong>di</strong>stanza (long-haul, intercityfreight transportation)• Viaggi <strong>di</strong>retti (singola origine-destinazione)• da pochi a molti• realizzati in proprio dalle <strong>di</strong>tte produttrici• Viaggi in<strong>di</strong>retti• da molti a molti• spe<strong>di</strong>zionieri con molteplicità <strong>di</strong> clienti• servizio in linea (orario prestabilito) o su richiesta (allocazione<strong>di</strong>namica dei mezzi)• In questo contesto si utilizzano modelli decisionali per laprogettazione della rete <strong>di</strong> collegamento (Network Design, ND)• ND statico e <strong>di</strong>namico• Modelli (lineari) <strong>di</strong> flusso: Min Cost Flow Prob., Max Flow Prob.2


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong>5 I problemi <strong>di</strong> trasporto a breve <strong>di</strong>stanza (short-haul, localfreight transportation)• Ambito citta<strong>di</strong>no o regionale• Presenza <strong>di</strong> uno o più depositi• Arco temporale giornaliero• Problematiche caratteristiche• <strong>di</strong>stribuzione (delivery)• raccolta (pick-up)• <strong>di</strong>stribuzione e raccolta combinata (pick-up and Delivery)• domanda variabile (giornaliera)• allocazione <strong>di</strong>namica dei veicoli<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>6 Organizzazione dell’attività <strong>di</strong> raccolta e <strong>di</strong>stribuzione: unodei problemi più rilevanti del trasporto a breve <strong>di</strong>stanza <strong>Vehicle</strong> <strong>Routing</strong> Problem (VRP): definizione delle rotte deiveicoli• <strong>Problemi</strong> statici: richieste <strong>di</strong> servizio note a priori• <strong>Problemi</strong> <strong>di</strong>namici: richieste note anche nel corso delleoperazioni (aggiustamento rotte)• Vedremo modelli nell’ipotesi <strong>di</strong> staticità e <strong>di</strong> veicoli omogenei3


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>7 <strong>Vehicle</strong> <strong>Routing</strong> Problem• Formulazione• Dato un grafo G=(V,A) generico determinare l’insieme <strong>di</strong> m cicli(rotte) a costo minimo che comprendano U⊆V no<strong>di</strong> <strong>di</strong> servizio(required vertices) e R⊆A archi <strong>di</strong> servizio (required edges) e chesod<strong>di</strong>sfino ad un insieme dato <strong>di</strong> vincoli operativi.• Costo <strong>di</strong> una rotta = somma costi degli archi che la compongono• Vincoli operativi possibili:– ogni rotta deve passare per uno o più no<strong>di</strong> stabiliti– numero massimo dei veicoli– rispetto della capacità dei veicoli (peso, volume)– durata massima delle rotte– fasce orarie <strong>di</strong> servizio per i clienti (time windows)– richieste <strong>di</strong> servizio dei clienti sod<strong>di</strong>sfatte da un singoli veicolo<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>8 <strong>Vehicle</strong> <strong>Routing</strong> Problem• Localizzazione dei clienti• <strong>di</strong>stribuiti in modo <strong>di</strong>scontinuo lungo le vie• concentrati nelle località associate ai no<strong>di</strong>‣clienti associati ai no<strong>di</strong> <strong>di</strong> servizio U, R=∅‣Node <strong>Routing</strong> Problem (NRP)• <strong>di</strong>stribuiti in modo continuo lungo le vie‣clienti associati agli archi <strong>di</strong> servizio R, U=∅‣Arc <strong>Routing</strong> Problem (ARP)• Senza vincoli operativi:• NRP <strong>di</strong>venta un Traveling Salesman Problem (TSP)• ARP <strong>di</strong>venta un Rural Chinese Postman Problem (RCPP)• ARP con R=A <strong>di</strong>venta un Chinese Postman Problem (CPP)4


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>9 TSP (NRP senza vincoli operativi)• Singolo veicolo• Soluzione: rotta a costo minimo che tocca tutti i no<strong>di</strong> (undeposito) = sequenza <strong>di</strong> no<strong>di</strong>• G=(V,A) → G’=(V’,A’) completo (orientato)• c ij (i,j)∈A’ costo minimo in G per andare da i a j• Soluzione ammissibile: ciclo orientato hamiltoniano in G’• TSP asimmetrico c ij ≠c ji (ATSP)• TSP simmetrico c ij =c ji (STSP)<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>10 Il TSP è un problema NP-hard molto stu<strong>di</strong>ato La più grande istanza risolta: Applegate, Bixby, Chvátal, andCook (2001) 15.112 città in Germania“The solution of the 15,112-citytraveling salesman problem wasaccomplished in several phases in2000/2001, and used a total of 22.6years of computer time, adjusted to a500 MHz, EV6 Alpha processor. Theinitial tour-fin<strong>di</strong>ng and cutting-planephases were run on a cluster ofCompaq ES40 Alphaserversconsisting of 32 EV6 (500 MHz)nodes and 12 EV67 (667 MHz)nodes”(www.math.princeton.edu/tsp/index.html)5


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>11 Le soluzioni al TSP si cercano nella pratica utilizzandoeuristiche La formulazione matematica è utile per determinare dei“lower bound”, quin<strong>di</strong> una stima della bontà delle soluzionisub-ottimeZ − Z*TSP LBZ*LB In genere si usano approcci <strong>di</strong>stinti tra caso simmetrico edasimmetrico<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong> ATSP• Formulazione: G’=(V’,A’) orientato completox ij =1 se il nodo j segue imme<strong>di</strong>atamenteil nodo i nel tourmin ∑ cijxij(i,j) ∈A'∑ xij= 1i∈V'\{j}∑ xij= 1j∈V'\{i}xij∈ XSTExij∈Bj ∈ V'i ∈ V'∀(i,j) ∈ A'alternativi∑ ∑ xij≤|S | −1i∈Sj∈S• due classi <strong>di</strong> subtour elimination constraints4∑ ∑ xij≥ 1i∈Sj∉S532 1S ⊂ V',| S | ≥ 26S ⊂ V',| S | ≥ 2126


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>13 ATSP• Rilassamento: Assigment Problem (AP)2 1min ∑ cijxij(i,j) ∈A'∑ xij= 1i∈V'\{ j}j∈V'4536∑ xij= 1j∈V'\{i}i ∈ V'xij∈ Bse la matrice dei costi èfortemente asimmetricaZ*Z* TSP − AP < 1%Z* TSP<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>14 STSP• Formulazione G’=(V’,A’) non orientato completox ij =1 se l’arco (i, j) è nel tourx ij ∀i,j∈V’ i i∑ xiv+ ∑ xvi= 2i∈V'i∈V'ivxij∈ XSTExij∈ B∀i,j ∈ V'i < jv ∈ V'alternativi∑ ∑ xij+ ∑ ∑ xij≥ 2i∈S j∉Si∉S j∈Si < j i < j∑ ∑ xiji∈S j∈Si < j3241S ⊂ V',2 ≤|S | ≤ ⎡|≤|S | −195678V'| /2⎤S ⊂ V',2 ≤|S | ≤ ⎡|V'| / 2⎤7


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>15 STSP• Rilassamento : Min r-Span. Tree (r-ST)min ∑ ∑ cijxiji∈V'j∈V'i


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>17 Euristiche <strong>di</strong> miglioramento (local search)• 2-OPT (3-OPT)• si migliora il ciclo scegliendo il miglior 2-scambio (si rimovuono 2archi nel ciclo sostituendoli con altri due in modo da ottenere unciclo) (molto valide)• Lin-Kernighan• esegue k-scambi con k variabile sino a che scopre che con k+1scambi non si migliora<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>18 NRP con vincoli operativi514236101179Magazzino B13rete inizialeMagazzino A81212311Magazzino Bsoluzione546107913Magazzino A8129


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>19 NRP con vincoli operativi• M-TSP: M commessi (senza vincoli <strong>di</strong> capacità)• Single Depot Multiple <strong>Vehicle</strong> NRP• Multiple Depot Multiple <strong>Vehicle</strong> NRP• La presenza dei vincoli complica la formulazione• La soluzione è costituita da K tour (K veicoli)• Euristiche:• classiche (’60-’90) - semplici• metaeuristiche (dal ’90) - complicate<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>20 NRP con vincoli operativi - Euristiche classiche• Cluster first, route second• nella prima fase associano ad ogni veicolo un sottinsieme <strong>di</strong> no<strong>di</strong>(clienti) e nella seconda fase risolvono per ogni veicolo un TSPsul sottografo indotto dai no<strong>di</strong> scelti• Route first, cluster second• nella prima fase viene risolto un TSP rilassando i vincoli (ingenere non ammissibile per il NRP) e nella seconda fase il ciclo èdecomposto in k≤K tour ammissibili• Algoritmo dei risparmi• si parte da una serie <strong>di</strong> soluzioni ammissibili per NRP (tour) che sifondono progressivamente per ottenere soluzioni migliori purrestando ammissibili (inizializzazione: ogni cliente è servito da unveicolo <strong>di</strong>verso)10


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>21 NRP con vincoli operativi - Euristiche classiche• Algoritmo dei risparmi• si calcolano i risparmi e si introduce quello più convenienteammissibileirisparmioc 0iic ij0c 0i c i0c j0c 0jj0s ij =c i0 +c 0j -c ij22c j0j• Scambi (local search)• adattamento delle k-OPT al NRP (scambio <strong>di</strong> clienti nella rotta otra rotte) che richiedono le verifiche <strong>di</strong> ammissibilità<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong> NRP con vincoli operativi - Metaeuristiche• Tabù Search• si cerca una soluzione ottima locale, si generano delle soluzioninell’intorno accettando peggioramenti ed anche soluzioni nonammissibili, quin<strong>di</strong> riparte alla ricerca <strong>di</strong> una soluzione localmenteottima ammissibile• per evitare <strong>di</strong> restare bloccati in un ciclo <strong>di</strong> soluzioni si utilizza lalista delle soluzioni tabù• ci si ferma dopo un numero massimo <strong>di</strong> iterazioni o <strong>di</strong> nonmiglioramenti• Simulated annealing• simile alla tabù search, esplora un intorno <strong>di</strong> una soluzioneaccettando anche soluzioni peggiorative.• l’ampiezza dell’esplorazione e la propensione all’accettazione deipeggioramenti si riduce progressivamente (raffreddamento)11


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>23 Il Postino Cinese (CPP) (ARP senza vincoli operativi)• Singolo veicolo• Tutti gli archi richiedono servizio (altrimenti si ha il Rural CPP)• Soluzione: rotta a costo minimo che attraversa tutti gli archialmeno una volta• G=(V,A):• euleriano se esiste un ciclo che passi per tutti gli archi una solavolta → è la soluzione ottima• non euleriano → almeno un arco attraversato due volte• G orientato e connesso è euleriano se ogni nodo ha tanti archientranti quanti uscenti (simmetrico)• G non orientato e connesso è euleriano se ogni nodo ha gradopari• Il CPP è un problema facile (P) se G è orientato o non orientato<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>24 Il Postino Cinese (CPP) (ARP senza vincoli operativi)• G misto (archi sia orientati e non – caso realistico nei centriurbani)• G misto è euleriano se:• il numero totale <strong>di</strong> archi incidenti nei no<strong>di</strong> è pari• per ogni insieme <strong>di</strong> no<strong>di</strong> S⊂V la <strong>di</strong>fferenza tra il numero <strong>di</strong> archiorientati che attraversa il taglio (S, V\S) nei due sensi è minore ouguale al numero <strong>di</strong> archi non orientati del taglio121212V\SV\SV\S535353S4S4S4eulerianoeulerianonon euleriano12


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>25 Il Postino Cinese (CPP) (ARP senza vincoli operativi)• Se G è misto il CPP è NP-hard• La soluzione nel caso <strong>di</strong> G non orientato:• G euleriano: si trova il circuito euleriano partendo da un nodoqualsiasi scegliendo un arco da percorrere che non sia “bridge”(eliminando gli archi percorsi non si <strong>di</strong>sconnette il grafo ancora davisitare)• G non euleriano: si rende il grafo euleriano duplicando alcuniarchi. Prima si determinano i percorsi minimi tra ogni coppia <strong>di</strong>no<strong>di</strong> con grado <strong>di</strong>spari (che sono in numero pari), poi si troval’accoppiamento tra tali no<strong>di</strong> a costo minimo risolvendo unproblema <strong>di</strong> matching binario<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>26 Il Postino Cinese Rurale (RCPP) (ARP senza vincolioperativi)• Alcune strade non debbono essere servite ma sono solo <strong>di</strong>collegamento• Il proce<strong>di</strong>mento <strong>di</strong> soluzione si basa sulla costruzione <strong>di</strong> ungrafo euleriano che comprende gli archi da servire e quelli <strong>di</strong>collegamento necessari a costo minimo quin<strong>di</strong> sullacostruzione del ciclo eulerianoarco <strong>di</strong>servizio5132arco <strong>di</strong>collegamento6 513264413


<strong>Problemi</strong> <strong>di</strong> <strong>Trasporto</strong> – <strong>Vehicle</strong> <strong>Routing</strong>27 Il Postino Cinese Rurale (RCPP) (ARP senza vincolioperativi)• Il RCPP è NP-hard anche per grafi orientati e non orientati (seil numero <strong>di</strong> componenti connesse del sottografo indotto dagliarchi da servire è maggiore <strong>di</strong> 1) ARP con vincoli operativi• Necessari in genere più veicoli• Si usano algoritmi simili a quelli per il NRP, ad esempio:• Route First, Cluster Second• Path Scanning (si procede sino a che la capacità del veicolo loconsente poi si rientra al dep. per il percorso più breve)• Alg. <strong>di</strong> Christofiedes: simile al path scanning ma si procede sino ache è possibile rientrare con un percorso a richiesta minima• Casi più complessi possono richiedere il trasferimento deicarichi tra veicoli (eg. raccolta rifiuti)14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!