Problemi di Instradamento di Veicoli
|
|
- Sara Maggi
- 7 anni fa
- Visualizzazioni
Transcript
1 Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Problemi di Instradamento di Veicoli Renato Bruni bruni@dis.uniroma1.it 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
Problemi di Distribuzione
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Problemi di Distribuzione Renato Bruni bruni@dis.uniroma1.it Il materiale presentato è derivato da quello dei
DettagliIl 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 laura.galli@unipi.it http://www.di.unipi.it/~galli 2 Dicembre
DettagliProblemi di Localizzazione Impianti
Sapienza Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Problemi di Localizzazione Impianti Renato Bruni bruni@dis.uniroma1.it Il materiale presentato è derivato
DettagliModelli di Programmazione Lineare. PRTLC - Modelli
Modelli di Programmazione Lineare PRTLC - Modelli Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver Come ricavare una stima dell ottimo Rilassamento continuo - generazione di
DettagliParte 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
DettagliFlusso a Costo Minimo
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Flusso a Costo Minimo Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria Dal
DettagliIl problema del commesso viaggiatore
Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università
DettagliProblemi 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
DettagliTecniche euristiche Ricerca Locale
Tecniche euristiche Ricerca Locale PRTLC - Ricerca Locale Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo: rilassamenti Rilassamento
DettagliFigura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.
ESERCIZIO 1 Sia dato il grafo orientato in Figura 1. Si consideri il problema di flusso a 1 2 4 Figura 1: costo minimo su tale grafo con b 1 = 4 b 2 = 2 b = b 4 = e c 12 = 2 c 1 = 4 c 14 = 1 c 2 = 1 c
DettagliPROBLEMA 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
DettagliRichiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena
Richiami di Teoria dei Grafi Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Teoria dei grafi La Teoria dei Grafi costituisce, al pari della Programmazione Matematica, un corpo
DettagliOttimizzazione Combinatoria e Reti (a.a. 2007/08)
o Appello 6/07/008 Ottimizzazione Combinatoria e Reti (a.a. 007/08) Nome Cognome: Matricola: ) Dopo avere finalmente superato l esame di Ricerca Operativa, Tommaso è pronto per partire in vacanza. Tommaso
DettagliWeek #9 Assessment. Practice makes perfect... November 23, 2016
Week #9 Assessment Practice makes perfect... November 23, 2016 Esercizio 1 Un azienda di trasporto deve caricare m camion {1,..., m} in modo da servire giornalmente un dato insieme di clienti. Nei camion
Dettagli3.3 Problemi di PLI facili
3.3 Problemi di PLI facili Consideriamo un generico problema di PLI espresso in forma standard min{c t x : Ax = b, x Z n +} (1) dove A Z m n con n m, e b Z m. Supponiamo che A sia di rango pieno. Sia P
DettagliRisoluzione 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,
DettagliRICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola:
Secondo appello //0 RICERCA OPERATIVA (a.a. 0/) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x x x x x + x x x per via algebrica, mediante l algoritmo del Simplesso Primale a partire
DettagliALGORITMI 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
DettagliAlgoritmo di Branch & Bound
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Algoritmo di Branch & Bound Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria
DettagliRICERCA 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
DettagliEuristiche 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 bruni@dis.uniroma.it Il materiale presentato
DettagliRICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:
Sesto appello 7/7/8 RICERCA OPERATIVA (a.a. 7/8) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B
DettagliPROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Il costo di cammino minimo da un vertice u ad un vertice v è definito nel seguente modo:
PROBLEMA DEI CAMMINI MINIMI [CORMEN ET AL. CAP. 24] Sia G = (V,E) un grafo orientato ai cui archi è associato un costo W(u,v). Il costo di un cammino p = (v 1,v 2,...,v k ) è la somma dei costi degli archi
DettagliRicerca Operativa A.A. 2017/2018
Ricerca Operativa A.A. 2017/2018 Esercizi su modelli di programmazione lineare intera - Soluzioni Nota Vengono fornite delle possibili soluzioni. Potrebbero esserci soluzioni alternative altrettanto valide.
DettagliAlgoritmi esatti. La teoria ci dice che per problemi difficili (come il
p. 1/4 Algoritmi esatti La teoria ci dice che per problemi difficili (come il KNAPSACK o, ancora di più, il TSP ) i tempi di risoluzione delle istanze, calcolati tramite analisi worst-case, tendono a crescere
DettagliRicerca 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)
Dettaglimin det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione.
Se è unimodulare e è intero allora il poliedro 0 ha vertici interi. Sia un vertice di Per definizione esiste allora una base di tale che, 0 Poiché è non singolare ( invertibile det 0) si ha che det 1 è
Dettagli1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;
1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione
DettagliIl valore di flusso che si ottiene è
1) Si consideri un insieme di piste da sci e di impianti di risalita. Lo si modelli con un grafo orientato che abbia archi di due tipi: tipo D (discesa e orientato nel senso della discesa) e tipo R (risalita
DettagliUNIVERSITÀ 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
DettagliPer 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
DettagliProcessi di cost management - Programmazione multiperiodale
Processi di cost management - Programmazione multiperiodale Queste slide (scrte da Carlo Mannino) riguardano il problema di gestione delle attivà di un progetto allorché i costi di esecuzione sono legati
DettagliAlgoritmo dibranch & Bound
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Algoritmo dibranch & Bound Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria
DettagliUNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento
UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),
DettagliQuinto appello 27/6/ = 4. B b B = 2 b N = 4
Quinto appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il problema di PL dato applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B {, }. Per
DettagliFondamenti di Ricerca Operativa TA Corso di Laurea in Ingegneria Gestionale Esercizi Modellazione
Fondamenti di Ricerca Operativa TA Corso di Laurea in Ingegneria Gestionale Esercizi Modellazione Esercizio 1 In un supermercato si vuole disporre un insieme {1,...,n} di prodotti su m sca ali. Ogni prodotto
DettagliOttimizzazione 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
DettagliIntroduzione al Vehicle Routing Problem
Introduzione al Vehicle Routing Problem Laboratorio di Strumenti di Ottimizzazione 2012-2013 Roberto Roberti roberto.roberti6@unibo.it 22 Maggio 2013 Il Vehicle Routing Problem (VRP) Problema di determinare
DettagliRICERCA OPERATIVA (a.a. 2012/13) Nome: Cognome: Matricola:
o Appello 7// RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si individui un albero dei cammini minimi di radice sul grafo in figura utilizzando l algoritmo più appropriato dal punto di vista della
DettagliIl 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
DettagliParte IV: Rafforzamento di formulazioni e algoritmo dei piani di taglio
Parte IV: Rafforzamento di formulazioni e algoritmo dei piani di taglio Nozioni di geometria Definizione: Un vettore y R n è combinazione conica dei vettori { 1,, k } se esistono k coefficienti reali λ
DettagliIntroduzione 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
DettagliPossibile 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
DettagliProgrammazione Lineare Intera: Piani di Taglio
Programmazione Lineare Intera: Piani di Taglio Andrea Scozzari a.a. 2014-2015 April 22, 2015 Andrea Scozzari (a.a. 2014-2015) Programmazione Lineare Intera: Piani di Taglio April 22, 2015 1 / 23 Programmazione
DettagliRICERCA OPERATIVA (a.a. 2011/12) Nome: Cognome: Matricola:
5 o Appello 8/0/0 RICERCA OPERATIVA (a.a. 0/) Nome: Cognome: Matricola: ) Si individui un albero dei cammini minimi di radice sul grafo in figura, utilizzando l algoritmo più appropriato dal punto di vista
DettagliIntroduzione 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
DettagliRICERCA OPERATIVA (a.a. 2008/09) Nome: Cognome: Matricola:
o Appello /09/009 RICERCA OPERATIVA (a.a. 008/09) Nome: Cognome: Matricola: ) Si applichi l algoritmo di Kruskal per determinare un albero di copertura di costo minimo sul grafo in figura. Per ogni iterazione
DettagliCorso 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
DettagliStime dell ottimo - Rilassamenti. PRTLC - Rilassamenti
Stime dell ottimo - Rilassamenti PRTLC - Rilassamenti Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo: rilassamenti Rilassamento
DettagliMassimo flusso e matching
Capitolo Massimo flusso e matching. Problema del massimo matching. Nel problema del massimo matching è dato un grafo non orientato G(V, A); un matching in G è un insieme di archi M A tale che nessuna coppia
DettagliMetodi 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
Dettagli3.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
Dettagli2.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,
DettagliProblema 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
DettagliCOMPITO DI RICERCA OPERATIVA. max 3x 1 + 2x 2 x x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3
COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (7 punti) Sia dato il seguente problema di PL: max 3x 1 + 2x 2 x 1 + 1 2 x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3 Lo si risolva con l algoritmo che si ritiene più opportuno
DettagliCapitolo 3: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano
Capitolo 3: Ottimizzazione Discreta E. Amaldi DEI, Politecnico di Milano 3.1 Modelli di PLI e PLMI Moltissimi problemi decisionali complessi possono essere formulati come problemi di Programmazione Lineare
DettagliGestione 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
DettagliProblemi di PersonnelScheduling
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Problemi di PersonnelScheduling Docente: Renato Bruni bruni@dis.uniroma1.it Corso di: Ottimizzazione Combinatoria
Dettagli2. Una volta decise le risposte riportatele sull apposito foglio allegato.
Prova scritta di Modelli e algoritmi della logistica - (A) LAUREA in INGEGNERIA GESTIONALE (Specialistica in Informatica, Automatica, Telecomunicazioni) aprile 8 (A) Istruzioni. Usate i fogli bianchi allegati
DettagliRicerca 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
DettagliProblemi 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.
DettagliGrafi 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
Dettagli3.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:
DettagliProblema del Job Shop
Problema del Job Shop Job Shop n job, m macchine iascun job j è composto da una sequenza di task (t j (),,t j (r j )) ogni task t j (k) deve essere eseguito su una specifica macchina i = m j (k) (richiedendo
DettagliProva Scritta di RICERCA OPERATIVA. 13 Gen. 2003
Prova Scritta di RICERCA OPERATIVA 13 Gen. 003 Nome e Cognome: Esercizio 1. ( 6 punti ) Una azienda agricola coltiva mais e alleva vitelli, usando tre diversi procedimenti. Con il primo procedimento vengono
DettagliGestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena
Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Un algoritmo per il flusso a costo minimo: il simplesso
DettagliAlberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa
Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni
DettagliEsercitazione 5 Network Flow
Esercitazione 5 Network Flow Diamo innanzitutto una definizione informale del concetto di riduzione polinomiale tra problemi: Si dice che un problema A è riducibile polinomialmente ad un problema B, se
DettagliRicerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.
Ricerca Operativa A.A. 2007/2008 17. Esercitazione di laboratorio: Branch and Bound. Luigi De Giovanni - Ricerca Operativa - 17. Esercitazione di laboratorio: Branch and Bound 17.1. Luigi De Giovanni -
DettagliProgrammazione 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:
DettagliRICERCA OPERATIVA (a.a. 2018/19) Nome: Cognome: Matricola:
Primo appello //9 RICERCA OPERATIVA (a.a. /9) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x + x x + x x + x x x x x applicando l algoritmo del Simplesso Primale, per via algebrica,
DettagliProblema di flusso massimo
p. 1/5 Problema di flusso massimo Si consideri una rete, ovvero un grafo orientato G = (V,A). Attraverso tale rete si fa viaggiare quello che chiameremo genericamente un flusso di "prodotto". A seconda
DettagliRicerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.
Ricerca Operativa A.A. 2007/2008 17. Esercitazione di laboratorio: Branch and Bound. Luigi De Giovanni - Ricerca Operativa - 17. Esercitazione di laboratorio: Branch and Bound 17.1 . Luigi De Giovanni
DettagliTecniche euristiche greedy
Tecniche euristiche greedy PRTLC - Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali
Dettagli2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di
DettagliRicerca Operativa 2. Ricerca Operativa 2 p. 1/6
Ricerca Operativa 2 Ricerca Operativa 2 p. 1/6 Introduzione In questo corso ci occuperemo di problemi di ottimizzazione. Ricerca Operativa 2 p. 2/6 Introduzione In questo corso ci occuperemo di problemi
Dettagli1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi
1 TEORIA DELLE RETI 1 1 Teoria delle reti 1.1 Grafi Intuitivamente un grafo è un insieme finito di punti (nodi o vertici) ed un insieme di frecce (archi) che uniscono coppie di punti Il verso della freccia
Dettagli5.1 Metodo Branch and Bound
5. Metodo Branch and Bound Consideriamo un generico problema di ottimizzazione min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando
DettagliAutomi e Linguaggi Formali
Automi e Linguaggi Formali Problemi intrattabili, classi P e NP A.A. 2014-2015 Alessandro Sperduti sperduti@math.unipd.it Problemi intrattabili Ci occuperemo solo di problemi decidibili, cioè ricorsivi.
DettagliProblemi 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
DettagliIntroduzione 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
DettagliRICERCA OPERATIVA (a.a. 2014/15) Nome: Cognome: Matricola:
o Appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x x x + x x x x x x applicando l algoritmo del Simplesso Primale per via algebrica a partire
DettagliEsame di Ricerca Operativa - 18 aprile 2007 Facoltà di Ingegneria - Udine - CORREZIONE -
Esame di Ricerca Operativa - 18 aprile 007 Facoltà di Ingegneria - Udine - CORREZIONE - Problema 1 (4 punti): Una raffineria miscela 4 tipi di petrolio greggio in diverse proporzioni per ottenere 3 diversi
DettagliConstraint Satisfaction Problems
Constraint Satisfaction Problems Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 19/03/2018 Constraint Satisfaction problem Fino ad ora ogni stato è stato modellizzato come una
DettagliRICERCA OPERATIVA (a.a. 2014/15) Nome: Cognome: Matricola:
3 o Appello /2/2 RICERCA OPERATIVA (a.a. 2/) Nome: Cognome: Matricola: ) Si risolva algebricamente il seguente problema di PL max x 2x 2 x x 2 2 x x + x 2 3 x 2 7 mediante l algoritmo del Simplesso Primale
Dettagli3.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
DettagliSoluzioni 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.
DettagliMetodi e Modelli per l Ottimizzazione Combinatoria Problema dell assegnamento e matrici totalmente unimodulari
Metodi e Modelli per l Ottimizzazione Combinatoria Problema dell assegnamento e matrici totalmente unimodulari L. De Giovanni G. Zambelli 1 Problema dell assegnamento Sia dato un grafo non orientato bipartito
Dettagli3.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
DettagliPROBLEMI SU GRAFO (combinatori)
PROLMI SU GRO (combinatori) In molti problemi il numero di soluzioni ammissibili è finito. Questi problemi sono quasi sempre descritti su grafi. Rete stradale: come andare da a in tempo minimo? Grafo orientato
DettagliClaudio 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
DettagliGestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena
Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Problemi di Distribuzione: Il problema del Vehicle Rou:ng
DettagliProgettazione 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
Dettagli5.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)
DettagliAlgoritmo 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
DettagliEsercitazione 6 Ancora sul Network Flow
Esercitazione 6 Ancora sul Network Flow Problema 14 (appello 28/09/2015) Un importante azienda di sviluppo software ha n progetti da portare a termine entro la fine dell anno. Il manager dell azienda stima
Dettagli