13.07.2015 Views

8. Algoritmi euristici per il Vehicle Routing Problem

8. Algoritmi euristici per il Vehicle Routing Problem

8. Algoritmi euristici per il Vehicle Routing Problem

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>8.</strong> <strong>Algoritmi</strong> Euristici <strong>per</strong> <strong>il</strong> VRP 4Metodi delle due fasiQuesti metodi si suddividono in:1. Cluster-first-route-second:i clienti vengono prima partizionati in sottoinsiemi e poi <strong>per</strong> ciascunsottoinsieme di determina la sequenza di visita;2. Route-first-cluster-second:inizialmente si determina una sequenza di visita dei clienti e poi sisuddivide la sequenza in route ammissib<strong>il</strong>i.Metodi di Ottimizzazione <strong>per</strong> la Logistica e la Produzione


<strong>8.</strong> <strong>Algoritmi</strong> Euristici <strong>per</strong> <strong>il</strong> VRP 9Tabu Search <strong>per</strong> <strong>il</strong> <strong>Vehicle</strong> <strong>Routing</strong> <strong>Problem</strong>Taburoute (Gendreau, Hertz e Laporte, 1994)Sia S = (R 1 ,R 2 ,...,R k ) una soluzione ammissib<strong>il</strong>e <strong>per</strong> <strong>il</strong> VRP dik route.Ogni route r è del tipo R r = (0,i 1 ,...,i |Rr |−2,0). Usiamo la notazione(i,j) ∈ R r se i e j sono due vertici consecutivi in R r .Si associno ad ogni soluzione S le seguenti due funzioni obiettivo(funzioni di fitness):F 2 (S) = F 1 (S)+αF 1 (S) = ∑⎛⎜ ∑⎝r∈Smax∑c ijr∈S (i,j)∈R r⎡⎢⎣0, ∑q i −Qi∈R r⎤⎞⎠,con α ∈ R +⎥⎟⎦Obiettivo della funzione F2 è quello di valutare anche soluzioni nonammissib<strong>il</strong>i <strong>per</strong> <strong>il</strong> carico del veicolo.Metodi di Ottimizzazione <strong>per</strong> la Logistica e la Produzione


<strong>8.</strong> <strong>Algoritmi</strong> Euristici <strong>per</strong> <strong>il</strong> VRP 11Costruzione della soluzione inizialeAlgoritmo 2 (Sweep): <strong>per</strong> problemi Euclidei (i clienti sono puntiin una mappa e i costi sugli archi sono le distanze euclidee).Ordino i clienti <strong>per</strong> angoli crescenti da un raggio iniziale (determinatoin modo casuale).raggio inizialeCollego la prima route dal deposito al primo cliente e via via aisuccessivi, fino a quando <strong>il</strong> vincolo sulla capacità non è violato. Reiterocon le route successive.raggio inizialeR 3R 4R 1R 2L’ultima route può essere infeasible.Metodi di Ottimizzazione <strong>per</strong> la Logistica e la Produzione


<strong>8.</strong> <strong>Algoritmi</strong> Euristici <strong>per</strong> <strong>il</strong> VRP 12Spostamento da una soluzione a un’altraNeighborhood: rimuovi <strong>il</strong> cliente i dalla sua route attuale; ottimizzatale route con 4-opt; inserisci <strong>il</strong> cliente in una nuova route r;ottimizza la route r con 4-opt.Indichiamo con (i,r)l’o<strong>per</strong>azione (mossa)di inserimento del clientei nella route r.Iterazione t del Tabu Search:Step 1. if (mod(t,10)=0) thenif (tutte le precedenti 10 soluzioni sono ammissib<strong>il</strong>i) thenα = α/2;if (tutte le precedenti 10 soluzioni sono non ammissib<strong>il</strong>i) thenα = 2α;end ifStep 2. Per ogni cliente i ∈ V ′ :- Considera tutte le mosse non tabu (i,r) dove r è unaroute di S che contiene almeno uno dei p clientipiù vicini ad i;- Sia Φ l’insieme delle soluzioni prodotte;- Determina la soluzione S ′ tale che F 2 (S ′ ) = minS ′′ ∈Φ {F 2(S ′′ )}.Step 2. Sia (i,r ∗ ), con r ∗ ∈ S, la mossa che produce S ′ ;- if (F 2 (S ′ ) < F 2 (S ∗ )) then S ∗ = S ′ ;- if (S ′ ammissib<strong>il</strong>e e F 1 (S ′ ) < F 1 (S ∗F )) then S ∗F = S ′ ;- Poni S = S ′ ;- Dichiara tabu <strong>per</strong> θ iterazioni la mossa (i,r ∗ ).Metodi di Ottimizzazione <strong>per</strong> la Logistica e la Produzione


<strong>8.</strong> <strong>Algoritmi</strong> Euristici <strong>per</strong> <strong>il</strong> VRP 15Applicazione di Taburoute al 2L-CVRPSia S = (R 1 ,R 2 ,...,R k ) una soluzione <strong>per</strong> <strong>il</strong> 2L-CVRP di k route.Si associno ad S le seguenti due funzioni obiettivo:F 2 (S) = F 1 (S)+α+β⎛⎜ ∑⎝r∈S⎛⎝ ∑r∈SF 1 (S) = ∑max⎡∑c ijr∈S (i,j)∈R r⎤⎞⎢⎣0, ∑q i −Qi∈R rmax[0,h(R r )−H]⎥⎟⎦⎠⎞⎠con α ∈ R + ,β ∈ R +H = lunghezza veicolo;h(R r ) = lunghezza (euristica) del carico sul veicolo r.yH(a)I 43I 41I 42h(R)yH(b)I 41I 43I 42h(R)yHI 42I 52(c)I 53h(R)I 52I 530I 44I 51I 52I 53I 44I 51Wx0I I 51 44W x 0I 41I 43WxCon F2 si accettano soluzioni non ammissib<strong>il</strong>i sia <strong>per</strong> <strong>il</strong> peso che<strong>per</strong> <strong>il</strong> caricamento degli oggetti.Metodi di Ottimizzazione <strong>per</strong> la Logistica e la Produzione

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

Saved successfully!

Ooh no, something went wrong!