8. Algoritmi euristici per il Vehicle Routing Problem
8. Algoritmi euristici per il Vehicle Routing Problem
8. Algoritmi euristici per il Vehicle Routing Problem
Trasformi i suoi PDF in rivista online e aumenti il suo fatturato!
Ottimizzi le sue riviste online per SEO, utilizza backlink potenti e contenuti multimediali per aumentare la sua visibilità e il suo fatturato.
<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