Problemi di Instradamento di Veicoli

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Problemi di Instradamento di Veicoli"

Transcript

1 Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Problemi di Instradamento di Veicoli Renato Bruni [email protected] Il materiale presentato è derivato da quello dei proff. A. Sassano e C. Mannino

2 Tornando al Problema di Distribuzione PROBLEMA GENERALE: Trasportare beni da una o più origini a una o più destinazioni Minimizzando dei costi di trasporto Rispettando una serie di vincoli: - vincoli di capacità dei veicoli - vincoli di raggiungibilità delle destinazioni Abbiamo deciso dove posizionare le origini (genericamente i depositi) risolvendo la localizzazione di impianti Ora dobbiamo decidere il resto

3 Dati del Problema Dopo aver risolto la localizzazione, per ogni area si conosce: 1. Origine (o deposito) v 1 2. Destinazioni (o clienti) che v 1 deve servire {v 2, v 3,,v n } 3. Grafo orientato G(V,E) deposito-clienti Nodi V={v 1,,v n } Archi a b se b è accessibile da a v 2 v 1 v 4 v 5 v 3 4. Costo dell arco da v a a v b : c ab è il valore dell aspetto che si vuole minimizzare, ad es. spesa, distanza, preferibilità, tempo, etc. (è importante scegliere correttamente)

4 Il Grafo dei Collegamenti Vogliamo un grafo orientato che sia completo G(V,E) quindi aggiungiamo anche gli archi relativi a collegamenti che non ci sono mettendo pesi opportunamente alti v 1 c 12 =3 c 21 =4 v 3 v 2 c 32 = + poniamo c 32 = (o meglio un numero >> tutti gli altri costi) se 2 non è accessibile da 3

5 La Flotta di Veicoli Per servire i vari clienti abbiamo una flotta di veicoli Ciascun veicolo visita un insieme di clienti e torna al deposito Numero e caratteristiche dei singoli veicoli devono essere noti d 1 = 3 d 2 =2 B C A d 5 =1 Q A =10 d 3 =2 d 4 =1

6 Dati su Domanda e Veicoli 1. d i : domanda del cliente v i 2. m: numero di veicoli disponibili 3. J={1, 2,, m}: insieme dei veicoli 4. Di solito Q j : capacità del veicolo j {1, 2,, m} 5. A volte per ogni cliente bisogna distinguere se è consegna o prelievo (Picup or Delivery) Eventuali aspetti temporali: orari di apertura limitati, tempi di trasporto, di carico e scarico (tempi di transito) 6. Tempo di transito da a a b: t ab 7. Tempo di servizio di a: t a 8. T j : tempo massimo di rientro del veicolo j {1, 2,, m} 9. Finestre temporali associate ad ogni nodo v i : [inizio i, fine i ]

7 Famiglia dei cluster clienti/veicolo C ={C 1, C 2,,C m } C V {1, 2,,m} v 1 C {1, 2,,m} C C h = {v 1 },h {1, 2,,m} C = V d h < Q h C Struttura delle Soluzioni C caratterizza completamente la soluzione? C 1 ={1,2, 4, 5,6,7} C 2 ={1, 3, 13,14,15} C 3 ={1,8, 9, 10,11,12} No! Ad un cluster posso associare diverse sequenze di visita

8 Clustering e Routing Esempio di stessi cluster ma sequenze ( routing ) diverse Una sequenza è un ciclo T orientato che tocca tutti i nodi del cluster C ( Ciclo Hamiltoniano, già visto come trovarli) Conclusione: Una soluzione ammissibile è data dai cicli hamiltoniani {T 1, T 2,,T m } definiti sui cluster {C 1, C 2,,C m } 6

9 Problema Base di Distribuzione Soluzione ammissibile: T ={T 1, T 2,,T m } Un ciclo hamiltoniano T per ogni cluster C Insieme delle soluzioni ammissibili: T ={T 1, T 2,,T q } L(T ) somma dei costi di transito associati agli archi del ciclo hamiltoniano T Z(T ) = L(T ) costo di transito J Problema Base di Distribuzione min Z(T) : T T Minimizzare il costo di transito - servendo la domanda di tutti i clienti - rispettando la capacità dei veicoli

10 Formulazione del Problema Base EVENTO ELEMENTARE: Nodo v h assegnato al cluster C Variabile binaria y h con: y h =1 se v h C ; y h =0 se v h C Soluzione ammissibile: 14 T ={T 1, T 2,,T m } C V {1, 2,,m} v 1 C {1, 2,,m} C C h = {v 1 },h {1, 2,,m} C = V 6 y 1 = m J y h = 1 J h {2,,n} d h < Q h C d h y h < Q h V-{v 1 } J

11 Modello del Problema Base y = [y 1, y 2,y 3,..., y m ] vettore di incidenza di C f(y ) costo di transito del ciclo hamiltoniano minimo definito sui nodi di C cioè sul sottografo G indotto da C in G Problema Base di Distribuzione min Z(T ) : T T min f( y ) h J min L(T ): T T J Ha la forma di Assegnamento Generalizzato, ma ancora non ci va bene perché l obiettivo non è espresso linearmente ma come soluzione di un problema di TSP y 1 = m J y h = 1 J d h y h < Q h V- {v 1 }

12 Nuove variabili binarie f(y ) costo (di transito) del ciclo hamiltoniano minimo definito sul sottografo G indotto da C in G Soluzioni ammissibili: cicli hamiltoniani di G Evento elementare: il veicolo usa l arco v i v j per qualche coppia {v i, v j } C 13 1 se veicolo usa v i v j 3 Variabile: x ij 0 altrimenti 14 Esempio: 2 2 x13,3 = 1; x1,13 = 0 G 2 1 Allora potrò esprimere la funzione obiettivo in modo lineare come somma dei pesi degli archi usati

13 Condizioni di Ammissibilità 1/2 Un sottoinsieme di archi T di G 13 è l insieme di archi di un ciclo hamiltoniano di G quando (ma basta richiedere ciò?) 1. Esiste un arco uscente da ogni nodo di C Esiste un arco entrante in ogni nodo di C Il vettore [ x ij : i=1,,n; j=1,,n] G 2 1 è il vettore di incidenza di un ciclo hamiltoniano T di G n j = 1 n j = 1 x x ij ji = = y y i i.. j=2 j=n j=1 y i =1 se i C i.. j=2 j=n j=1 y i =0 se i C i

14 Il vettore [ x ij : i=1,,n; j=1,,n] è il vettore di incidenza di un ciclo hamiltoniano T di G 14 solo se 13 Condizioni di Ammissibilità 2/2 G n j = 1 n j = 1 x x ij ji = = y y i i Ma questo non basta ancora: con questi vincoli i sottocicli risultano ancora ammissibili! Come si eliminano? sottociclo

15 Eliminazione dei Sottocicli Un sottociclo è un ciclo orientato su un sottoinsieme dei nodi di C Un ciclo orientato su un sottoinsieme S C contiene S archi 13 ELIMINAZIONE DEI SOTTOCICLI: Nessun sottoinsieme proprio S di C può contenere S archi 14 G Σ x ij S -1 (i,j) S o equivalentemente Σ x ij 1 i S j S per ogni S C 2 S C -1 per ogni J

16 Un sottoinsieme di archi T di G Ammissibilità Cicli è l insieme di archi di un ciclo hamiltoniano di G se e solo se n j= 1 n j= 1 x x ij ji x ij E ( S ) ij = = y y i i S 1 1. arco uscente da ogni nodo di C 2. arco entrante in ogni nodo di C per ogni S C 3. non contiene sottocicli 2 S C -1 j=2.. i j=2 j=n.. i j=n Mettendo tutto assieme possiamo eliminare le y e ottenere una formulazione di PL01

17 minσ Σ Σ c ij x ij J Formulazione VRP come PL01 i I j Ι j i Σ Σ x 1j = m J j I Σ Σ x ij = 1 J j Ι j i Σ x ji = Σ x ih j Ι j i h Ι h i Σ Σ d j x ij Q i I j Ι j i j 1 Σ x ij S -1 (i,j) S x ij {0,1} minimizzo somma costi dal deposito escono m veicoli i {2,,n} i I J J I={1, 2,, n}: insieme dei nodi (tra cui 1 è il deposito) J={1, 2,, m}: insieme dei veicoli ogni cliente è servito se veicolo entra nel nodo i deve uscirne la capacità è rispettata S {2,,n}, S 2 i,j I J J j. i h proibisco ogni possibile sottociclo S variabili x ij : percorro arco (i,j) col veicolo.

18 Numero di Veicoli variabile Se i veicoli disponibili sono m ma potrei anche utilizzarne di meno (spendendo meno), considero per ognuno un costo di attivazione f Se invece spendo sempre lo stesso anche se lascio dei veicoli fermi, non serve minσ Σ Σ c ij x ij + Σ f Σ x 1j J i I j Ι j i Σ Σ x 1j m J j I J e tutto il resto come prima j Ι j 1 dal deposito escono fino a m veicoli minimizzo somma costi percorrenza + costi attivazione Con meno veicoli occorre fare dei percorsi più lunghi Cerco in pratica il miglior compromesso tra risparmio per i veicoli ed economicità dei percorsi

19 Aspetti Temporali Se per il generico veicolo ho un tempo massimo di utilizzo T (dovuto per es. alla disponibilità del conducente, a vincoli sull orario di lavoro o alla chiusura del deposito) T deve essere espresso in una unità di misura facilmente sommabile e a partire dall inizio delle operazioni (ad esempio in minuti dall uscita dal deposito) Devo considerare: (ovviamente nella stessa unità di misura) Tempo di transito da i a j: t ij Tempo di servizio di i: t i Devo aggiungere vincoli: Σ t i Σ x ij + Σ Σ t ij x ij T i I j Ι j i i I j Ι j i J il tempo complessivo di utilizzo del veicolo non supera il limite Tempi di transito e/o di servizio potrebbero variare da veicolo a veicolo In tal caso ho t ij e t i

20 Finestre Temporali 1/2 Se invece per il generico cliente j ho una finestra temporale [ iniz j fine j ] (posso visitarlo solo dall istante iniz j all istante fine j, sempre espresso in una opportuna unità di misura a partire dall inizio delle operazioni Devo considerare: un nuovo insieme di variabili a j R con j I che rappresentano l istante di arrivo dal cliente j (dette variabili temporali, ovviamente nella stessa unità di misura) Devo aggiungere i vincoli: iniz j a j fine j j I a j R j I giungo dal cliente j rispettando la sua finestra temporale Però questo non basta (!): devo anche aggiungere vincoli tra le a e le x, altrimenti troverò dei valori per le a che soddisfano tutte le finestre, ma che non è magari possibile ottenere con i percorsi fatti secondo le x

21 Finestre Temporali 2/2 Vincoli da aggiungere che legano le a e le x: se visito il cliente i all istante a i e subito dopo vado dal cliente j, deve avere: a j = a i + t i + t ij raggiungo il cliente j un istante che è dato da quando arrivo in i, più il tempo di servire i e transitare da i a j e ciò deve valere sse x ij =1 allora separo = in e e aggiungo qualcosa che impone il vincolo sse x ij =1 : a j a i + t i + t ij - (1- x ij ) T a j a i + t i + t ij + (1- x ij ) T i,j I J T è un valore maggiore di tutti i possibili valori di a, e quindi se x ij =0 i vincoli sono banalmente soddisfatti, se invece x ij =1 i vincoli devono valere

22 Cenni a Ulteriori Varianti Se in alcuni nodi devo prelevare e in altri consegnare ciò che ho prelevato, si chiama picup and delivery problem devo imporre vincoli di precedenza tra l instante in cui visito in cliente i in cui prelievo e l istante in cui visito il cliente j a cui consegno a i a j per ogni coppia i, j di picup e delivery Oppure, se non ho le variabili temporali a i, uso variabili intere u i che rappresentano l ordine di visita del nodo i col veicolo, vincoli opportuni tra le u e vincoli che colleghino le u alle x (simili a quelli già visti per le a) Inoltre servono variabili q i che sono il carico totale del veicolo alla partenza dal cliente i, in modo da imporre che il carico totale non superi mai la capacità Esiste anche il Dial a Ride Problem: bisogna soddisfare varie richieste di trasporto da un punto ad un altro (eventualmente giunte anche durante l esecuzione): è il problema dei taxi

23 Come gestire i Vincoli di Sottocicli? I vincoli di eliminazione di sottocicli sono in numero esponenziale x ij E ( S ) ij S 1 per ogni S C Semplifichiamo: focalizziamoci su un singolo cluster di G(V,E) (1) (2) n j = 1 n j = 1 x x ij ji = 1 per = 1 per ogni ogni i V i V (3) x ij ij E ( S ) S 1 per ogni S V Proprietà: x vettore d incidenza di un ciclo hamiltoniano ij E x ij = V Ottenuto sommando le V equazioni (1) Cioè: ogni ciclo hamiltoniano di G contiene esattamente V archi

24 Oracolo di separazione: dato un punto (anche frazionario) x * che soddisfa le (1), decide se esiste un vincolo (3) violato da x *, cioè trova S V, tale che * x > S 1 (A) ij ij E ( S ) oppure conclude che nessun vincolo (3) è violato da x * Osservazione: sommando i vincoli (1) per i S si ottiene Separazione Vincoli Sottocicli + * * xij xij = ij E ( S ) ij δ ( S ) S Si ha violazione dei vincoli di sottociclo quando la I sommatoria è > S -1 (condizione (A)), cioè quando * < 1 x ij ij δ ( S ) Allora possiamo generare vincoli di sottociclo violati cercando per esempio tagli per cui valga questa condizione (è un modo, se ne potrebbero pensare anche altri )

25 Oracolo Vincoli Sottocicli Oracolo di Separazione Associa a ogni arco (i,j) capacità c ij = x ij * Per ogni coppia di nodi u,v Calcola l u-v taglio a capacità minima (u W, v W) Se c(w) < 1 vincolo violato e STOP Fine ciclo (Per ogni arco (u,v) la condizione non è verificata) Non esiste un vincolo violato l u-v taglio a capacità minima si trova risolvendo il problema di massimo flusso u-v Quindi risolvo un problema di massimo flusso per ogni scelta u,v. Se fisso u, ne devo risolvere uno per ogni scelta di v, cioè C -1

26 Algoritmi di Soluzione Metodi Esatti: Branch-and-cut, cioè Branch-and-Bound con aggiunta di vincoli per migliorare la formulazione, eventualmente con generazione dinamica di vincoli di sottociclo raggiunge l ottimo per problemi di dimensione contenuta, non riesce a risolvere problemi grandi Metodi Approssimati (Euristiche): Euristiche costruttive: Greedy, Clare & Wright Costruttive in due fasi: Cluster First Route Second (CFRS) o Route First Cluster Second (RFCS) Euristiche migliorative: Ricerca Locale, Taboo Search più usate per risolvere problemi pratici (spesso grandi dimensioni)

27 Euristiche Costruttive Clare & Wright: Passo 0: forma soluzione iniziale {T 10,, T n-10 } con T i0 = {v 1, v i+1 } (una rotta per cliente) Passo i: per ogni coppia {T hi, T i } tale che la somma delle sue domande è Q (cioè rotte unibili senza violare capacità) calcola c last(h),1 + c 1,first() c last(h),first() (cioè il risparmio ottenuto fondendo la coppia: elimino l utlimo arco della prima e il primo della seconda e aggiungo l arco che collega le due rotte, può essere negativo) e scegli il massimo c last(h),1 c last(h),first() c1,first() Se il massimo risparmio è 0 STOP altrimenti fondi le rotte corrispondenti al massimo, i=i+1 e vai al Passo i Se il numero di veicoli è m, per avere una sol. ammissibile occorre fondere rotte anche se ho massimo negativo fino ad averne non più di m

28 Sweep (CFRS): Metodi Costruttivi Due Fasi Si rappresentano tutti i clienti in un piano dove l origine è il deposito Si immagina un raggio uscente dal deposito che ruoti in modo da spazzare tutto il piano I clienti progressivamente incontrati dal raggio vengono messi in un cluster finchè la somma delle loro domande non supera la capacità, oltre viene creato un nuovo cluster Per ogni cluster si trova poi il routing con una delle euristiche per il TSP Clare & Wright modificato: Il risparmio viene calcolato considerando anche le permutazioni delle due rotte che potrei fondere, e periodicamente riottimizzo le rotte di ogni cluster con una euristica per il TSP RFCS: Si risolve prima il TSP per tutti i clienti per mezzo di una euristica, poi si spezza il ciclo Hamiltoniano trovato in modo da rispettare le capacità dei veicoli

29 Euristiche Migliorative Ricerca Locale: Calcola un intorno di una soluzione ammissibile (vari possibili criteri: spostamento di cliente da un cluster a un altro, modifica routing) Trova la miglior soluzione dell intorno e passa ad essa se conveniente (come visto, ci si arresta in un minimo locale) Tabu Search (per non arrestarsi in minimi locali): Inizializzazione: Definisci una soluzione ammissibile iniziale attraverso un metodo costruttivo Iterazione: genera intorni eseguendo delle mosse (ad esempio spostamento di cliente da un cluster a un altro). Effettuare la mossa inversa viene vietato (è Tabu) per un certo numero di passi Ci si sposta in una soluzione dell intorno accettando anche, sotto opportune condizioni, dei peggioramenti, in modo da non fermarsi su minimi locali Il Tabu serve ad evitare di tornare subito sulla soluzione precedente quando ho accettato un peggioramento Postottimizzazione: riottimizza il routing di ogni cluster con euristica per TSP Ovviamente, tante possibili varianti e miglioramenti dello schema descritto

Il problema del commesso viaggiatore e problemi di vehicle routing

Il problema del commesso viaggiatore e problemi di vehicle routing 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

Dettagli

Problemi di Localizzazione Impianti

Problemi di Localizzazione Impianti Sapienza Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Problemi di Localizzazione Impianti Renato Bruni [email protected] Il materiale presentato è derivato

Dettagli

Parte V: Rilassamento Lagrangiano

Parte V: Rilassamento Lagrangiano Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice

Dettagli

Flusso a Costo Minimo

Flusso a Costo Minimo Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Flusso a Costo Minimo Docente: Renato Bruni [email protected] Corso di: Ottimizzazione Combinatoria Dal

Dettagli

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa [email protected] M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università

Dettagli

Problemi di localizzazione di servizi (Facility Location Problems)

Problemi di localizzazione di servizi (Facility Location Problems) 9. Problemi di Localizzazione di Servizi 1 Problemi di localizzazione di servizi (Facility Location Problems) Dato un insieme di clienti richiedenti una data domanda di merce e dato un insieme di possibili

Dettagli

PROBLEMA DEL COMMESSO VIAGGIATORE

PROBLEMA DEL COMMESSO VIAGGIATORE PROBLEMA DEL COMMESSO VIAGGIATORE INTRODUZIONE Il problema del commesso viaggiatore (traveling salesman problem :TSP) è un classico problema di ottimizzazione che si pone ogni qual volta, dati un numero

Dettagli

Risoluzione di un problema di VRP

Risoluzione di un problema di VRP Risoluzione di un problema di VRP Un problema di VRP (Vehicle Routing Problem) è un tipico problema di programmazione lineare in cui l obiettivo primario è quello di individuare, su una rete generica,

Dettagli

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I Esercizio 1 Dati n oggetti ed un contenitore, ad ogni oggetto j (j = 1,, n) sono associati un peso p j ed un costo c j (con p j e c j interi positivi). Si

Dettagli

Algoritmo di Branch & Bound

Algoritmo di Branch & Bound Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Algoritmo di Branch & Bound Docente: Renato Bruni [email protected] Corso di: Ottimizzazione Combinatoria

Dettagli

RICERCA OPERATIVA (a.a. 2018/19)

RICERCA OPERATIVA (a.a. 2018/19) Secondo appello //9 RICERCA OPERATIVA (a.a. 8/9) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: min y + y y y y y = y + y y = y, y, y, y Si verifichi se la soluzione ȳ =,,, sia ottima

Dettagli

Euristiche per il Problema del Commesso Viaggiatore

Euristiche per il Problema del Commesso Viaggiatore Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Euristiche per il Problema del Commesso Viaggiatore Renato Bruni [email protected] Il materiale presentato

Dettagli

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015 1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N

Dettagli

Per formalizzare il concetto sono necessarie alcune nozioni relative ai poliedri e alla loro descrizione.

Per formalizzare il concetto sono necessarie alcune nozioni relative ai poliedri e alla loro descrizione. 3.7.4 Disuguaglianze valide forti Cerchiamo disuguaglianze valide forti, ovvero disuguaglianze valide che forniscano migliori formulazioni (più stringenti). Per formalizzare il concetto sono necessarie

Dettagli

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi:massimo flusso (parte 1) p. 2/33 Reti di flusso Una rete di flusso è una

Dettagli

Introduzione al Vehicle Routing Problem

Introduzione al Vehicle Routing Problem Introduzione al Vehicle Routing Problem Laboratorio di Strumenti di Ottimizzazione 2012-2013 Roberto Roberti [email protected] 22 Maggio 2013 Il Vehicle Routing Problem (VRP) Problema di determinare

Dettagli

Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi

Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata Luca Bertazzi 0 3 Ulisse: da Troia a Itaca Troia Itaca 509 km Quale è stato invece il viaggio di Ulisse? Il viaggio di Ulisse Troia

Dettagli

Introduzione ai grafi

Introduzione ai grafi TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

Corso di Trasporto merci e logistica. Supporto didattico ad uso esclusivo interno. a cura di: ing. Mario Cordasco A.A

Corso di Trasporto merci e logistica. Supporto didattico ad uso esclusivo interno. a cura di: ing. Mario Cordasco A.A logistica Supporto didattico ad uso esclusivo interno a cura di: ing. Mario Cordasco A.A. 2008-2009 La distribuzione fisica delle merci La logistica è l insieme delle attività e dei servizi che permettono

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities L. De Giovanni M. Di Summa In questa lezione introdurremo una classe di disuguaglianze, dette cover inequalities, che permettono di

Dettagli

3.2 Rilassamenti lineari/combinatori e bounds

3.2 Rilassamenti lineari/combinatori e bounds 3.2 Rilassamenti lineari/combinatori e bounds Consideriamo un problema di Ottimizzazione Discreta min{f(x) : x X} e sia z il valore di una soluzione ottima x X. Metodi di risoluzione spesso generano una

Dettagli

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 . Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,

Dettagli

Problema del trasporto

Problema del trasporto p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. p. 1/1 Problema del trasporto Supponiamo di avere m depositi in

Dettagli

Gestione della produzione e della supply chain Logistica distributiva

Gestione della produzione e della supply chain Logistica distributiva Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non

Dettagli

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili Modelli per la Logistica Distributiva: Single Commodity Minimum Cost Flow Problem Multi Commodity Minimum Cost Flow Problem Fixed Charge

Dettagli

Problemi di flusso a costo minimo

Problemi di flusso a costo minimo p. 1/7 Problemi di flusso a costo minimo È data una rete (grafo orientato e connesso) G = (V,A). (i,j) A c ij, costo di trasporto unitario lungo l arco (i, j). i V b i interi e tali che i V b i = 0. p.

Dettagli

Grafi e reti di flusso

Grafi e reti di flusso Grafi e reti di flusso Molti problemi di ottimizzazione sono caratterizzati da una struttura di grafo: in molti casi questa struttura emerge in modo naturale, in altri nasce dal particolare modo in cui

Dettagli

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI 3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:

Dettagli

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa [email protected] M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni

Dettagli

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4 Programmazione Lineare Intera Programmazione Lineare Intera p. 1/4 Programmazione Lineare Intera Problema di PLI in forma standard: max cx Ax = b x 0, x I n I insieme degli interi. Regione ammissibile:

Dettagli

Problemi di Flusso: Il modello del Trasporto

Problemi di Flusso: Il modello del Trasporto Problemi di Flusso: Il modello del rasporto Andrea Scozzari a.a. 2014-2015 April 27, 2015 Andrea Scozzari (a.a. 2014-2015) Problemi di Flusso: Il modello del rasporto April 27, 2015 1 / 25 Problemi su

Dettagli

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Introduzione ai grafi. Introduzione ai grafi p. 1/2 Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte

Dettagli

3.6 Metodi basati sui piani di taglio

3.6 Metodi basati sui piani di taglio 3.6 Metodi basati sui piani di taglio Problema generale di Programmazione Lineare Intera (PLI) con A matrice m n e b vettore n 1 razionali min{ c t x : x X = {x Z n + : Ax b} } Sappiamo che esiste una

Dettagli

Soluzioni degli esercizi di formulazione di PL{0, 1}

Soluzioni degli esercizi di formulazione di PL{0, 1} Soluzioni degli esercizi di formulazione di PL{0, 1} Salvatore Nocella 12 febbraio 2007 1 Al lavoro Due operai devono eseguire un certo numero di lavori J = {1,..., n}, ciascuno della durata di un ora.

Dettagli

3.4 Metodo di Branch and Bound

3.4 Metodo di Branch and Bound 3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land

Dettagli

Claudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso

Claudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso Claudio Arbib Università di L Aquila Ricerca Operativa Reti di flusso Sommario Definizioni di base Flusso di un campo vettoriale Divergenza Integrale di Gauss-Greene Flusso in una rete Sorgenti, pozzi

Dettagli

Progettazione di Algoritmi

Progettazione di Algoritmi Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 06/07/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via

Dettagli

5.1 Metodo Branch and Bound

5.1 Metodo Branch and Bound 5. Metodo Branch and Bound Si consideri il problema min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando una partizione (ricorsiva)

Dettagli

Algoritmo basato su cancellazione di cicli

Algoritmo basato su cancellazione di cicli Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile

Dettagli