Introduzione TSP asimmetrico VRP Il problema del commesso viaggiatore e problemi di vehicle routing Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa [email protected] http://www.di.unipi.it/~galli 2 Dicembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa A.A. 2014/15 L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 1 / 33 Introduzione TSP asimmetrico VRP Problema del commesso viaggiatore (TSP) Problema Grafo (N, A) completo; cij = costi sugli archi. Trovare un ciclo di costo minimo che passi su tutti i nodi una ed una sola volta (ciclo hamiltoniano). Teorema Questo problema `e NP-hard. Quante sono le soluzioni ammissibili? L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 2 / 33 Introduzione TSP asimmetrico VRP Problema del commesso viaggiatore (TSP) Applicazioni • trasporti, logistica: (N ′ , A′ ) rete stradale. S ⊆ N ′ , cerco ciclo di costo minimo che passi su tutti i nodi di S. Il problema `e un TSP sul grafo (N, A), dove N = S, A = S × S, cij = costo cammino minimo da i a j sul grafo (N ′ , A′ ). • scheduling (problema 1|sjk |Cmax ) • produzione di circuiti integrati • data analysis • sequenze DNA • . . . (vedi http://www.tsp.gatech.edu/) L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 3 / 33 Introduzione TSP asimmetrico VRP Perch´ e ciclo hamiltoniano? William Rowan Hamilton (1805-1865): in un dodecaedro regolare `e possibile partire da un vertice e, passando sugli spigoli, toccare tutti i vertici una ed una sola volta e tornare al vertice di partenza? L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 4 / 33 Introduzione TSP asimmetrico VRP Perch´ e ciclo hamiltoniano? Icosian game: in un dodecaedro regolare `e possibile partire da un vertice e, passando sugli spigoli, toccare tutti i vertici una ed una sola volta e tornare al vertice di partenza? L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 5 / 33 Introduzione TSP asimmetrico VRP TSP simmetrico e asimmetrico Se la matrice dei costi `e simmetrica, cio`e cij = cji per ogni arco (i, j), il problema `e detto simmetrico; altrimenti `e detto asimmetrico. TSP simmetrico TSP asimmetrico 2 1 2 6 7 1 2 2 3 5 6 5 8 4 4 5 4 7 6 7 3 4 3 6 8 4 Prima tratteremo il problema asimmetrico (pi` u generale) e poi quello simmetrico (caso particolare). L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 6 / 33 Introduzione TSP asimmetrico VRP Modello 1 Variabili: xij = ( 1 se arco (i, j) ∈ ciclo hamiltoniano, 0 altrimenti. min X cij xij (i ,j)∈A X xij = 1 ∀j ∈N (1) xij = 1 ∀i ∈N (2) i ∈N\{j} X j∈N\{i } X xij ≥ 1 ∀ S ⊆ N, S 6= ∅, N (3) (i ,j)∈A: i ∈S, j ∈S / xij ∈ {0, 1} ∀ (i, j) ∈ A (1)-(2): per ogni nodo deve esistere un arco entrante e un arco uscente (3): eliminazione di sottocicli. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 7 / 33 Introduzione TSP asimmetrico VRP Modello 2 Variabili: xij = ( 1 se arco (i, j) ∈ ciclo hamiltoniano, 0 altrimenti. min X cij xij (i ,j)∈A X xij = 1 ∀j ∈N (4) xij = 1 ∀i ∈N (5) i ∈N\{j} X j∈N\{i } X xij ≤ |S| − 1 ∀ S ⊆ N, S 6= ∅, N (6) (i ,j)∈A: i ∈S, j∈S xij ∈ {0, 1} ∀ (i, j) ∈ A (4)-(5): per ogni nodo deve esistere un arco entrante e un arco uscente (6): eliminazione di sottocicli. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 8 / 33 Introduzione TSP asimmetrico VRP Modello 3 ( 1 se arco (i, j) ∈ ciclo hamiltoniano 0 altrimenti ui ≥ 1 per ogni i ∈ N, dove ui = k se i `e il k–esimo nodo visitato nel ciclo. Variabili: xij = min X cij xij (i ,j)∈A X xij = 1 ∀j ∈N (7) xij = 1 ∀i ∈N (8) i ∈N\{j} X j∈N\{i } |N| xij + ui − uj ≤ |N| − 1 ∀ (i, j) ∈ A, j 6= 1 xij ∈ {0, 1} ∀ (i, j) ∈ A u1 = 1 2 ≤ ui ≤ |N| (9) ∀ i ∈ N, i 6= 1 (7)-(8): per ogni nodo deve esistere un arco entrante e un arco uscente (9): eliminazione di sottocicli. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 9 / 33 Introduzione TSP asimmetrico VRP Modello 3 Perch´e il vincolo |N| xij + ui − uj ≤ |N| − 1 ∀ (i, j) ∈ A, j 6= 1 (9) elimina i sottocicli? Se xij = 1, con j 6= 1, allora uj ≥ ui + 1. Se xij = 0 allora ui − uj ≤ |N| − 1. Se x soddisfa i vincoli (7)-(8) ma non `e un ciclo hamiltoniano, allora `e una famiglia di sottocicli, quindi esiste un sottociclo S che non passa per il nodo 1. Applicando il vincolo (9) agli archi di S si ottiene una contraddizione sulle variabili u, quindi (9) non `e soddisfatto. Il vincolo (9) `e soddisfatto da ogni ciclo hamiltoniano. Infatti, al ciclo 1 − 4 − 2 − 3 − 1 corrisponde la soluzione x14 = 1, x42 = 1, x23 = 1, x31 = 1, u1 = 1, u4 = 2, u2 = 3, u3 = 4 che soddisfa il vincolo (9). Il vincolo (9) `e costituito da O(n2 ) disequazioni (polinomiale) I vincoli (3) e (6) sono costituiti da O(2n ) disequazioni (non polinomiale) L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 10 / 33 Introduzione TSP asimmetrico VRP Modello 4 Variabili: xij = ( 1 se arco (i, j) ∈ ciclo, 0 altrimenti, min X yij = flusso inviato lungo (i, j) cij xij (i ,j)∈A X xij = 1 ∀j ∈N (10) xij = 1 ∀i ∈N (11) yij = 1 ∀ i ∈ N, i 6= 1 (12) 0 ≤ yij ≤ (|N| − 1) xij ∀ (i, j) ∈ A (13) xij ∈ {0, 1} ∀ (i, j) ∈ A i ∈N\{j} X j∈N\{i } X j∈N\{i } yji − X j∈N\{i } (10)-(11): per ogni nodo deve esistere un arco entrante e un arco uscente (12)-(13): eliminazione di sottocicli. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 11 / 33 Introduzione TSP asimmetrico VRP Metodo Branch and Bound: rilassamenti • Rilassamenti continui dei modelli 1, 2, 3, 4. • Eliminare i vincoli di connessione dal modello 1: si ottiene un problema di assegnamento di costo minimo: XX min cij xij i ∈N j∈N X xij = 1 ∀j ∈N xij = 1 ∀i ∈N i ∈N X j∈N xij ∈ {0, 1} ∀ i, j ∈ N Questo problema `e un flusso di costo minimo e quindi `e risolubile in tempo polinomiale. La soluzione ottima `e una famiglia di cicli orientati che coprono tutti i nodi. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 12 / 33 Introduzione TSP asimmetrico VRP Metodo Branch and Bound: rilassamenti Esempio Consideriamo la seguente matrice dei costi: 1 2 3 4 5 1 – 33 39 35 60 2 33 – 33 29 54 3 13 46 – 12 30 4 25 58 12 – 23 5 33 76 30 23 – 1 5 2 4 3 La soluzione ottima del rilassamento `e formata da due cicli: x13 = 1, x32 = 1, x21 = 1, x45 = 1, x54 = 1, e ha valore 125 = vI (P). L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 13 / 33 Introduzione TSP asimmetrico VRP Metodo Branch and Bound: metodi euristici Metodo greedy sugli archi Dispongo gli archi in ordine crescente di costo. Seguendo l’ordine, inserisco un arco se vengono rispettati tutti i vincoli. Esempio 1 2 3 4 5 1 – 33 39 35 60 2 33 – 33 29 54 3 13 46 – 12 30 4 25 58 12 – 23 5 33 76 30 23 – 1 5 2 4 3 x34 = 1, x43 = 0, x13 = 1, x45 = 1, x54 = 0, x14 = 0, x42 = 0, x35 = 0, x53 = 0, x12 = 0, x15 = 0, x21 = 1, x32 = 0, x41 = 0, x31 = 0, x23 = 0, x52 = 1. Il ciclo trovato `e 3-4-5-2-1-3 di costo 135. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 14 / 33 Introduzione TSP asimmetrico VRP Metodo Branch and Bound: metodi euristici Algoritmo del nodo pi` u vicino Parti da un nodo i. Il nodo successivo `e il pi` u vicino a i tra quelli non ancora visitati. E cos`ı via. Esempio 1 2 3 4 5 1 – 33 39 35 60 2 33 – 33 29 54 3 13 46 – 12 30 4 25 58 12 – 23 5 33 76 30 23 – Partendo dal nodo 1 si ottiene il ciclo 1–3–4–5–2–1 di costo 135. Partendo dal nodo 5 si ottiene il ciclo 5–4–3–2–1–5 di costo 134. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 15 / 33 Introduzione TSP asimmetrico VRP Metodo Branch and Bound: metodi euristici Algoritmi di inserimento Costruisco un ciclo su un sottoinsieme di nodi. Estendo questo ciclo inserendo uno alla volta i nodi rimanenti fino ad inserire tutti i nodi. L’implementazione di questo schema dipende da: • come costruisco il ciclo iniziale: ciclo qualsiasi, ciclo sui 3 nodi che formano il triangolo pi`u grande, ciclo che segue l’involucro convesso dei nodi (quando cij = distanza euclidea tra i e j), . . . • come scelgo il prossimo nodo da inserire: il pi` u vicino al ciclo, il pi`u lontano dal ciclo, quello il cui inserimento causa il minimo incremento nella lunghezza del ciclo, . . . • dove inserisco il nodo scelto: di solito ` e inserito nel punto che causa il minimo incremento nella lunghezza del ciclo L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 16 / 33 Introduzione TSP asimmetrico VRP Metodo Branch and Bound: metodi euristici Esempio 1 2 3 4 5 1 – 33 39 35 60 2 33 – 33 29 54 3 13 46 – 12 30 4 25 58 12 – 23 5 33 76 30 23 – Scelgo un ciclo a caso: 1-2-3-1. Il nodo 4 ha distanza 12 dal ciclo, mentre il nodo 5 ha distanza 30. Scelgo il nodo pi`u vicino al ciclo: 4. Dove inserisco il nodo 4? Se inserisco 4 tra 1 e 2, la lunghezza del ciclo aumenta di 25 + 29 − 33 = 21 Se inserisco 4 tra 2 e 3, la lunghezza del ciclo aumenta di 58 + 12 − 46 = 24 Se inserisco 4 tra 3 e 1, la lunghezza del ciclo aumenta di 12 + 35 − 39 = 8 Quindi inserisco il nodo 4 tra 3 e 1. Il ciclo diventa 1-2-3-4-1. Dove inserisco il nodo 5? Conviene inserirlo tra 3 e 4, quindi il ciclo hamiltoniano `e 1-2-3-5-4-1 di costo 167. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 17 / 33 Introduzione TSP asimmetrico VRP Metodo Branch and Bound: metodi euristici Algoritmo basato sulla soluzione ottima del rilassamento. Algoritmo delle toppe (patching) 1. L’assegnamento di costo minimo `e formato da una famiglia di cicli orientati F = {C1 , . . . , Cp }. 2. Per ogni coppia di cicli Ci , Cj ∈ F , calcola l’incremento di costo γij corrispondente alla fusione di Ci e Cj nel modo pi` u conveniente possibile. 3. Effettua la fusione dei due cicli Ci e Cj ai quali corrisponde il minimo valore di γij . Aggiorna F . 4. Se F contiene un solo ciclo allora STOP altrimenti torna al passo 2. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 18 / 33 Introduzione TSP asimmetrico VRP Metodo Branch and Bound: metodi euristici Esempio 1 2 3 4 5 1 – 33 39 35 60 2 33 – 33 29 54 3 13 46 – 12 30 4 25 58 12 – 23 5 33 76 30 23 – 1 5 2 4 3 La soluzione ottima del rilassamento `e formata da due cicli: 1–3–2–1 e 4–5–4. Le possibili fusioni dei due cicli sono le seguenti: sostituire gli archi (1, 3) e (4, 5) (1, 3) e (5, 4) (2, 1) e (4, 5) (2, 1) e (5, 4) (3, 2) e (4, 5) (3, 2) e (5, 4) con gli (1, 5) e (1, 4) e (2, 5) e (2, 4) e (3, 5) e (3, 4) e archi (4, 3) (5, 3) (4, 1) (5, 1) (4, 2) (5, 2) si ottiene il ciclo 1-5-4-3-2-1 1-4-5-3-2-1 1-3-2-5-4-1 1-3-2-4-5-1 1-3-5-4-2-1 1-3-4-5-2-1 di costo 134 144 180 187 128 135 La fusione pi` u conveniente trova il ciclo 1-3-5-4-2-1 di costo 128. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 19 / 33 Introduzione TSP asimmetrico VRP Metodi euristici: ricerca locale Dopo aver trovato una soluzione ammissibile, provo a migliorarla. 1. Trovo una soluzione ammissibile x 2. Genero un insieme N(x) di soluzioni “vicine” ad x (intorno) 3. Se in N(x) esiste una soluzione ammissibile x ′ migliore di x allora x := x ′ e torno al passo 2 altrimenti STOP (x `e una soluzione ottima locale) L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 20 / 33 Introduzione TSP asimmetrico VRP Metodi euristici: ricerca locale Nel caso del TSP, come definisco un intorno N(x)? Una possibile scelta `e: N(x) = {cicli hamiltoniani che hanno 2 archi diversi da x}. 1 2 6 1 3 5 6 4 3 5 4 x ′ ∈ N(x) x L. Galli 2 Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 21 / 33 Introduzione TSP asimmetrico VRP Metodi euristici: ricerca locale Esempio Consideriamo il TSP sul grafo 1 11 31 36 23 24 5 34 2 25 29 15 4 27 3 Effettuiamo la ricerca locale a partire dal ciclo 1-3-5-2-4 di costo 142. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 22 / 33 Introduzione TSP asimmetrico VRP Metodi euristici: ricerca locale Esempio x 1-3-5-2-4-1 1-5-3-2-4-1 1-2-3-5-4-1 costo 142 141 125 1-3-5-4-2 122 L. Galli elimino archi (1,3) (5,2) (1,5) (2,4) (1,2) (3,5) (1,2) (5,4) (2,3) (5,4) (2,3) (4,1) ... Corso di Ricerca Operativa 2 - inserisco archi (1,5) (3,2) (1,2) (5,4) (1,3) (2,5) (1,5) (2,4) (2,5) (3,4) (2,4) (3,1) ... x′ 1-5-3-2-4-1 1-2-3-5-4-1 1-3-2-5-4-1 1-5-3-2-4-1 1-2-5-3-4-1 1-3-5-4-2-1 ... Laurea Magistrale in Ingegneria Gestionale costo 141 125 127 141 132 122 ... Universit` a di Pisa 23 / 33 Introduzione TSP asimmetrico VRP Problemi di vehicle routing Servire un insieme di clienti utilizzando una flotta di veicoli, localizzati in uno o pi`u depositi, che si spostano su una rete stradale. Rete stradale Grafo completo (N, A), dove N={clienti, depositi}, A ={tratti stradali}, cij = lunghezza del cammino minimo da i a j → vale disuguagliaza triangolare tij = tempo di viaggio da i a j Clienti - il cliente i ha una domanda di - tempi di carico/scarico - eventuali finestre temporali (orari apertura, orari accesso ZTL, . . . ) - eventuali veicoli non utilizzabili L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 24 / 33 Introduzione TSP asimmetrico VRP Problemi di vehicle routing Veicoli - veicoli di dimensione fissa o variabile (rimorchio?) veicolo pu` o ritornare in un deposito diverso da quello di origine capacit`a di carico (volume, peso, unit`a, . . . ) archi che un veicolo non pu` o attraversare costi (per km, per ora, . . . ) Autisti - dipendenti o ditte esterne - vincoli su orario di lavoro, durata pause, . . . L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 25 / 33 Introduzione TSP asimmetrico VRP Problemi di vehicle routing Vincoli operativi - capacit`a dei veicoli - `e permessa solo la consegna di merce ai clienti, oppure solo il ritiro, oppure entrambe le operazioni - massima lunghezza/durata dei viaggi - rispetto finestre temporali - precedenze tra clienti (pickup and delivery): la merce prelevata da un cliente deve essere consegnata ad un altro cliente dallo stesso veicolo - precedenze tra clienti (vehicle routing with backhaul): tutte le consegne di merce devono essere effettuate prima dei ritiri di merce Obiettivi - minimizzare costo totale di trasporto (distanza percorsa + costi veicoli) - minimizzare numero dei veicoli utilizzati - minimizzare penalit`a associate al mancato servizio di clienti L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 26 / 33 Introduzione TSP asimmetrico VRP Problemi di vehicle routing Applicazioni • distribuzione di merci a clienti dislocati in diverse zone geografiche • distribuzione di merci ai negozi di una citt` a • raccolta rifiuti solidi urbani • ... L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 27 / 33 Introduzione TSP asimmetrico VRP VRP capacitato un solo deposto (nodo 0) da cui partono e in cui tornano i veicoli n clienti (nodi 1, . . . , n) solo consegne di merce di un unico tipo di = domanda del cliente i K veicoli identici di capacit`a C , un solo viaggio per veicolo obiettivo: minimizzare lunghezza totale percorsa 3 4 2 5 0 1 6 7 Questo problema `e NP-hard (perch´e il TSP `e un caso particolare per K = 1). L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 28 / 33 Introduzione TSP asimmetrico VRP Modello 1 Variabili: xij = ( 1 0 se arco (i, j) ∈ sol. ottima altrimenti X min cij xij (i ,j)∈A X xij = 1 ∀ j ∈ N \ {0} (14) xij = 1 ∀ i ∈ N \ {0} (15) i ∈N\{j} X j∈N\{i } X xi 0 = K (16) i ∈N\{0} XX i ∈S j ∈S / xij ≥ P i ∈S di C xij ∈ {0, 1} ∀ S ⊆ N \ {0}, S 6= ∅ (17) ∀ (i, j) ∈ A (14)-(15): un arco entrante e un arco uscente per ogni cliente. (16): K veicoli usati. (17): capacit` a dei veicoli ed eliminazione di sottocicli. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 29 / 33 Introduzione TSP asimmetrico VRP Modello 2 Variabili: xij = ( 1 0 se arco (i, j) ∈ sol. ottima altrimenti X min ui = carico veicolo prima di visitare i cij xij (i ,j)∈A X xij = 1 ∀ j ∈ N \ {0} (18) xij = 1 ∀ i ∈ N \ {0} (19) i ∈N\{j} X j∈N\{i } X xi 0 = K (20) i ∈N\{0} uj − ui + C xij ≤ C − di ∀ i, j ∈ N \ {0}, xij ∈ {0, 1} ∀ (i, j) ∈ A di ≤ ui ≤ C ∀ i ∈ N \ {0} i 6= j (21) (18)-(19): un arco entrante e un arco uscente per ogni cliente. (20): K veicoli usati. (21): capacit` a dei veicoli ed eliminazione di sottocicli. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 30 / 33 Introduzione TSP asimmetrico VRP Modello 3 Variabili: xijk = ( 1 0 se veicolo k passa sull’arco (i , j) yik = altrimenti min X cij K X ( 1 0 se i assegnato al veicolo k altrimenti xijk k=1 (i ,j)∈A K X yik = 1 ∀ i ∈ N \ {0} (22) k=1 K X y0k = K (23) k=1 X j∈N\{i } xijk = X xjik = yik ∀ i ∈ N, k = 1, . . . , K (24) di yik ≤ C ∀ k = 1, . . . , K (25) ∀ S ⊆ N \ {0}, h ∈ S, k = 1, . . . , K (26) j∈N\{i } X i ∈N\{0} XX xijk ≥ yhk i ∈S j ∈S / xijk ∈ {0, 1}, yik ∈ {0, 1} ∀ i , j, k (22): ogni cliente ` e assegnato a un solo veicolo. (23): K veicoli usati. (24): se i ` e assegnato a k, allora k entra ed esce da i . (25): capacit` a dei veicoli. (26): eliminazione sottocicli. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 31 / 33 Introduzione TSP asimmetrico VRP Modello 4 Indichiamo con R = {R1 , . . . , Rq } l’insieme di tutte le rotte ammissibili (Rj `e un ciclo che include(il deposito e rispetta le capacit`a)(e cj = costo della rotta Rj . 1 se i ∈ Rj 1 se scelgo la rotta Rj Definiamo aij = Variabili: xj = 0 altrimenti 0 altrimenti min q X cj xj j=1 q X aij xj = 1 ∀ i ∈ N \ {0} (27) j=1 q X xj = K (28) j=1 xj ∈ {0, 1} ∀j (27): ogni cliente `e assegnato a una sola rotta. (28): K veicoli usati. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 32 / 33 Introduzione TSP asimmetrico VRP Metodi euristici Costruttivi: trovano gradualmente una soluzione ammissibile, senza fasi di miglioramento A due fasi: • cluster-first-route-second: prima si dividono i clienti in sottoinsiemi ammissibili (rispettando le capacit`a), poi per ogni sottoinsieme si determina la rotta (risolvendo un TSP) • route-first-cluster-second: prima si trova un ciclo hamiltoniano su tutti i clienti (TSP), poi si suddivide il ciclo in pezzi ammissibili (rispettando le capacit`a) Ricerca locale: prima trovano una soluzione ammissibile, poi cercano di migliorarla esplorando un intorno, fino a trovare una soluzione ottima locale L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Universit` a di Pisa 33 / 33
© Copyright 2024 Paperzz