Algoritmo Branch and Cut (B&C)
|
|
- Alfonso Damiano
- 5 anni fa
- Visualizzazioni
Transcript
1 Programmazione Lineare Intera: III Algoritmo Branch and Cut Daniele Vigo DEIS Università di Bologna rev.0 aprile 2005 Algoritmo Branch and Cut (B&C) Sviluppato negli anni 90, nasce come unione tra due tecniche: Branch and Bound Cutting Planes Idea base: a ogni nodo dell albero decisionale si generano tagli nella speranza di: ottenere una soluzione intera oppure un lower bound più elevato, se questo non avviene si esegue il branching B&C.2
2 Algoritmo Branch and Cut (2) Elimina i principali difetti di tali tecniche, in particolare: garantisce un rafforzamento dinamico del problema rispetto al branch and bound garantisce l eliminazione del fenomeno del tailing off, tipico del cutting planes, grazie alla possibilità di eseguire branching B&C.3 Algoritmo Branch and Cut (3) Una possibile realizazione: Algoritmo branch and bound + Tagli di Gomory Ad un generico nodo (Problema originale + vincoli di branching imposti) i tagli generati sono ricavati a partire dal rilassamento continuo del problema corrente (tableau ottimo) I tagli generati hanno validità locale, relativa al nodo corrente ed ai suoi (eventuali) discendenti E necessario memorizzare per ogni nodo i tagli generati B&C. 2
3 Algoritmo Branch and Cut (3) Attraverso tecniche specifiche (Lifting o Sequential Lifting) è possibile ricavare tagli validi globalmente memorizzati in una struttura globale detta pool di vincoli Viene persa la dipendenza tra il nodo corrente ed i tagli per esso ricavati: qualsiasi nodo vede tutti i tagli appartenenti al pool globale B&C.5 Branch and Cut: Esame di un nodo Elaborando un generico nodo dell albero decisionale. Si definisce la formulazione corrente (Problema P = Problema iniziale + vincoli di branching) 2. Si risolve il rilassamento C(P) con soluzione ottima x C 3. Nel caso in cui x C sia frazionaria si scandisce il pool di vincoli alla ricerca di vincoli violati da aggiungere alla formulazione corrente e si risolve il nuovo rilassamento. Se la nuova x C è ancora frazionaria e tutti i vincoli del pool sono soddisfatti si ricercano nuovi tagli globali da inserire nel pool (separazione), oppure si esegue il branching B&C.6 3
4 Definizione di un algoritmo B&C Elementi caratterizzanti l algoritmo: Pool dei vincoli: conserva i tagli validi globalmente Procedure di separazione: tali procedure permettono di individuare disuguaglianze non rispettate dalla soluzione del rilassamento corrente La definizione di efficaci procedure di separazione è il punto cruciale dell algoritmo; per esse esistono due diverse metodologie di sviluppo: procedure di separazione general-purpose, applicabili a ogni generico problema di PLI procedure di separazione specifiche per una data classe di problemi, si sviluppa cioè una procedura ad hoc per il problema B&C.7 Definizione di un algoritmo B&C (2) Definizione di un algoritmo applicabile a una singola classe di problemi PLI (procedure di separazione specifiche). Definizione di un modello PLI del problema (P) 2. Definizione, risoluzione e ricerca delle proprietà di C(P) 3. Traduzione delle proprietà individuate in termini di classi di disuguaglianza valide (analisi poliedrale). Per ogni classe C di disuguaglianze, definizione di procedure efficienti per la risoluzione esatta/euristica del Problema di Separazione per la classe C B&C.8
5 Esempio: Index Selection Problem Un DB relazionale odierno deve supportare interrogazioni in tempo reale (query) L esecuzione di una query richiede la scansione dei dati, che può essere accelerata dalla presenza di indici che mantengono ordinati i dati Il tempo di risposta ad una determinata query è quindi funzione dell indice utilizzato Ogni indice definito sul DB comporta un costo temporale fisso dovuto agli aggiornamenti un costo spaziale in termini di occupazione di memoria B&C.9 Esempio di istanza di ISP m = numero di query = 6 n = numero di indici potenziali = 5 (l indice 0 corrisponde alla scansione sequenziale dei dati) Costi temporali di risposta a ciascuna query: Query Indice0 Indice Indice2 Indice3 Indice Indice B&C.0 5
6 Esempio di istanza di ISP (2) Costo temporale fisso e dimensione (in Mbyte) degli indici: Indice Indice2 Indice3 Indice Indice5 Costo fisso Dim Lo spazio totale su disco a disposizione degli indici è D=9 Non è possibile usare più di un indice per la stessa query Si ricerca un sottoinsieme di indici di dimensione totale inferiore a D, tale che il costo complessivo della soluzione, che si ottiene sommando i costi fissi ed i costi relativi alle m query, sia minimo B&C. Modello PLI di ISP m = numero totale di query, M= {,, m} n = numero totale di indici potenziali N ={,, n}, N 0 =N {0} D = dimensione memoria a disposizione degli indici selezionati c = costo (tempo) fisso 0 per l aggiornamento dell indice N d = dimensione 0 dell indice N ω i = costo (tempo) 0 per rispondere alla query i M mediante l indice N B&C.2 6
7 Modello PLI di ISP (2) Le variabili decisionali del problema sono: per ogni indice N y = se indice viene selezionato 0 altrimenti Ogni query è associata ad un indice selezionato (incluso 0), per ogni i M e N 0 x i = se la query i usa l indice 0 altrimenti B&C.3 Modello ILP di ISP (2) Funzione obiettivo (min. costo fisso + costo query) ( P ) z = min c y + () (2) (3) () n = n = 0 m i= 0 (5) 0 d x x i i x y my n = i = = 0 y D =, i M i N, intere i M,, intere N B&C. 0 m n N 0 ω i x i Occupazione di memoria Un solo indice per query Consistenza tra x ed y 7
8 Risoluzione e proprietà di C(P) la soluzione di C(P), (x C,y C ), dovrebbe essere un lower-bound stretto, con un costo z C vicino al valore ottimo intero z* Rilassando la condizione di interezza in () il modello definirà:. m C y = m i= anche ammettendo che le x i siano intere si avrà y ic = solo se l indice è usato da tutte le query x C i B&C.5 Risoluzione e proprietà di C(P) (2) Il vincolo (3) fa sì che i valori y C siano lontani da Con un algoritmo branch and bound che utilizza C(P), tali soluzioni sarebbero individuate nei nodi profondi dell albero (nel nostro caso dopo nodi!) Occorre individuare un modello migliore (più stringente/tight) B&C.6 8
9 Rafforzamento di C(P) Alcuni costi ω i sono uguali ai costi ω i0 in tali casi, si può fissare x i = 0 dato che ogni soluzione ottima non ha interesse ad usare l indice per la query i potendo usare con lo stesso costo l indice 0 che non ha costi spaziali o temporali di gestione Si possono rimuovere tutte le variabili x i tali che ω i > ω i0, per ogni indice risultano attive: x i i I ove I { i : ω < ω } i i 0 B&C.7 Rafforzamento di C(P) (2) Oltre a diminuire il numero di variabili del problema questa riduzione consente di riscrivere il vincolo (3) come: ( 3 ') x I y, N i I i Rispetto alla formulazione precedente il coefficiente di y i è stato diminuito da m a I Il vincolo è più forte B&C.8 9
10 Rafforzamento di C(P) (3) La soluzione del nuovo rilassamento continuo è C 6 C C C C C C x20 =, x2 =, x3 = x53 = x30 = x = x65 = 0 0 C 7 C C y = y 3 =, y 5 = 0 3 Questo C(P) ha un lower bound pari a 890 Confrontando tale valore con il valore ottimo intero.00,( I, I 5 ) si comprende che utilizzare direttamente il branch and bound il tempo sarebbe elevatissima B&C.9 Analisi poliedrale di ISP Studiando la struttura di ISP si cercano nuove classi di disuguaglianze valide (da inserire nel pool) A tal fine si esamina la soluzione frazionaria x 6 =, x 0 =, x 0 C C C C C C C = x53 = x30 = x = x65 = l indice viene usato al 70% (y C =7/0 ) ma viene utilizzato al 00% per la query (x C =) Un indice selezionato parzialmente deve essere usato parzialmente anche dalle query (classe C ) Classe C : x i y C 7 C C y =, y 3 =, y 5 = 0 N, i I 3 B&C.20 0
11 Analisi poliedrale di ISP (2) I vincoli (3 ) possono essere ottenuti a partire dalla classe di disuguaglianze C sommando le disuguaglianze x i y per ogni i I Una soluzione che soddisfa le C soddisfa anche (3 ) Le C sono però molte di più (per ogni (3 ) si hanno I disuguaglianze C ) Non tutte le C sono indispensabili ( attive in (x C,y C )) Risulta dunque conveniente generare i vincoli della classe C durante l esecuzione dell algoritmo, limitandosi a quelli violati dalla soluzione corrente B&C.2 Problema di Separazione Problema di separazione per una classe (generica) C: dato x C individuare (se esiste) una disuguaglianza α T x α 0 appartenente alla classe C e tale che α T x C >α 0 In pratica per ogni classe C si ha interesse ad individuare numerose disuguaglianze violate Queste vanno scelte tra quelle che massimizzano il grado di violazione: α T x C - α 0 Questo, infatti, permette di accelerare la convergenza complessiva dell algoritmo branch and cut B&C.22
12 Separazione della Classe C Dato (x C,y C ), individuare (se esiste) una coppia (i,) tale che x ic > y C La famiglia C contiene solo O(nm) disuguaglianze, il problema di separazione si può risolvere per enumerazione begin for := to n do for each i I do if x C i > y C then vincolo x i y violato da (x C,y C ) end B&C.23 Separazione della Classe C (2) Si hanno due vincoli violati: x y e x 65 y 5 Si aggiungono questi vincoli al modello corrente e si riottimizza (con il simplesso duale): La nuova soluzione ottima ha costo 9900 C 3 C C 3 C C C C C C x60 =, x3= x53=, x2= x= x30=, x5= x55= x65= C 3 C =, y3 =, y5 C = Applicando la procedura di separazione alla nuova soluzione non si trovano altri vincoli violati (altrimenti si aggiungono e si riottimizza) La soluzione li soddisfa tutti anche se ne sono stati inseriti solo due! y B&C.2 2
13 Nuova classe di disuguaglianze Si può ora eseguire il branching, oppure studiare il punto frazionario alla ricerca di una nuova classe di disuguaglianze valide C 3 C C 3 C C C C C C x60 =, x3= x53=, x2= x= x30=, x5= x55= x65= y C 3 C =, y3 =, y5 C = Gli indici e 3 non possono essere scelti entrambi perché eccedono D (d = d 3.=0, D=9) Si ha la condizione y + y 3 < 2, rafforzabile in y + y 3 dato che y e y 3 devono essere interi. Violata dal punto frazionario corrente! B&C.25 Classe C 2 La nuova classe può essere formalizzata in: Classe : y S, S N, S : C 2 S S d > D Poiché esistono 2 n - sottoinsiemi non vuoti di N la classe C 2 può contenere un numero elevato di disuguaglianze L algoritmo di separazione per la classe C 2 non può essere un semplice enumerativo (tempo di calcolo esponenziale!) B&C.26 3
14 Separazione per la classe C 2 E possibile definire un problema di PLI la cui soluzione ottima (se esite) è la disuguaglianza della classe C 2 più violata dalla soluzione frazionaria corrente Il problema PLI di separazione può essere a sua volta risolto con un algoritmo branch-and-bound (o con un algoritmo dedicato se particolarmente semplice) B&C.27 Separazione per la classe C 2 (2) Determinare un S N tale che il vincolo è violato Si definisce per ogni indice N una variabile w n z = * = = d z se S 0 altrimenti. min n = D+ ε ( y z C ) z 0 intere, N E un problema di Knapsack 0- in forma di min B&C.28
15 Separazione per la classe C 2 (3) Risolvendo il KP0 si individuerà il sottoinsieme S cui corrisponde la massima violazione del vincolo: se w* < il vincolo è violato e può essere aggiunto al rilassamento continuo corrente. Altrimenti la soluzione (x C,y C ), soddisfa tutti i 2 n - vincoli di tipo C 2 correnti Il problema KP0 è NP-Hard (t. esponenziale) Esistono algoritmi dedicati molto efficienti (si veda B&C.29 Separazione euristica classe C 2 Un altra possibilità consiste nel limitare euristicamente la scelta dei sottoinsiemi S imponendo S k per un valore fissato di k (piccolo) Se k = 2 si ottiene il vincolo violato y + y 3. Aggiungendo tale vincolo alla formulazione corrente e riottimizzando si ottiene un gap pari a 220 Con k = 3 si ottiene la soluzione ottima intera per l esempio considerato (gap = 0) B&C.30 5
16 Separazione euristica classe C 2 Procedura euristica di separazione per la classe C 2 ; begin sia J* :={ N : y C >0}; for each S J*: S k do if d > S D then if i S y C > S then end. vincolo C 2 violato da (x C,y C ) B&C.3 Sperimentazione Confronto computazionale fra la tecnica branch-andbound puro basato sul modello (P) e branch-and-cut (con i vincoli delle classi C e C 2 ) Branch-and-bound Branch-and-cut m 250 n 50 Nodi >0000 Tempo (sec) >230.3 Nodi Tempo (sec) >0000 > >0000 > B&C.32 6
Algoritmi generali per PLI
Programmazione Lineare Intera: II Algoritmo Cutting Planes Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev.. ottobre Algoritmi generali per PLI Metodi esatti tradizionali (anni 6 oggi):
DettagliAlgoritmi generali per PLI
Programmazione Lineare Intera: Parte II: Algoritmo Cutting Planes Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 3.1 ottobre 23 Algoritmi generali per PLI Metodi esatti tradizionali
Dettagli5.3 Metodo dei piani di taglio
5.3 Metodo dei piani di taglio (PLI) min s.v. c T x Ax b x interi X Ipotesi: a ij, c j e b i interi Osservazione: La regione ammissibile di un PLI può essere descritta mediante dei vincoli più o meno stringenti
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
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)
DettagliSoluzione dei problemi di Programmazione Lineare Intera
Fondamenti di Ricerca Operativa T-A a.a. 2014-2015 Soluzione dei problemi di Programmazione Lineare Intera Andrea Lodi, Enrico Malaguti, Daniele Vigo rev. 1.1.a ottobre 2014 Fondamenti di Ricerca Operativa
DettagliIntroduzione al Column Generation Caso di Studio: il Bin Packing Problem
Introduzione al Column Generation Caso di Studio: il Bin Packing Problem November 15, 2014 1 / 26 Introduzione Il column generation è una metodologia che può essere usata per risolvere problemi di ottimizzazione
DettagliIl metodo dei Piani di Taglio (Cutting Planes Method)
Il metodo dei Piani di Taglio (Cutting Planes Method) E un metodo di soluzione dei problemi (IP) di tipo generale. L idea di base: Se la soluzione di (RL) non è intera allora la soluzione ottima intera
DettagliProgrammazione Lineare Intera (ILP)
Programmazione Lineare Intera (ILP) (P) min (x), x F Z : R n ->R è lineare: (x) = c, x = c 1 x 1 + c 2 x 2 +... + c n x n F R n è definito da : g i (x) 0 (i = 1,...,m), con g i : R n R lineare i Z insieme
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
Dettagli4. Programmazione Lineare Intera
. Programmazione Lineare Intera Programmazione Lineare Intera (ILP) A(m n), b(m), c(n) interi; ILP in forma standard: min c x Ax = b x x intero Forma canonica, forma generale, trasformazioni: come LP.
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
DettagliProgrammazione Matematica: VI Estensioni dell algoritmo del Simplesso
Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 1.0 Aprile 2004 Algoritmo del Simplesso L algoritmo del Simplesso
DettagliIl Branch & Bound. Definizione 1. Sia S R n. La famiglia S = {S 1, S 2,..., S k S} tale che S 1 S 2 S k = S viene detta suddivisione di S.
Il Branch & Bound Il metodo Branch & Bound è una tecnica che permette di risolvere all ottimo un generico problema di Programmazione Lineare Intera. Tale metodo si basa su due concetti cardine: quello
DettagliTecniche di Decomposizione per Programmazione Lineare Intera (Mista)
Tecniche di Decomposizione per Programmazione Lineare Intera (Mista) Domenico Salvagnin 2011-06-12 1 Introduzione Dato un problema di programmazione lineare intera (mista), non è sempre possibile (o conveniente)
DettagliSoluzione dei problemi di Programmazione Lineare Intera
Fondamenti di Ricerca Operativa T-A a.a. 2015-2016 Soluzione dei problemi di Programmazione Lineare Intera Andrea Lodi, Enrico Malaguti, Paolo Tubertini, Daniele Vigo rev. 2. ottobre 2016 Fondamenti di
DettagliContenuto e scopo presentazione. Modelli Lineari Interi/Misti. Piani di taglio. Piani di taglio. Piani di taglio Versione 31/08/
Contenuto e scopo presentazione Contenuto: viene presentato un altro metodo di soluzione di problemi di ILP o di MILP. Modelli Lineari Interi/Misti Piani di taglio Versione /8/. Scopo: fornire le capacità
DettagliTeoria della Complessità Computazionale
Teoria della Complessità Computazionale Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it Rev. 1.3, 11/00 rev. 1.3 - Novembre 2000 Teoria della Complessità Studia la difficoltà dei problemi
DettagliCOMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04
COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04 Esercizio 1 Si risolva con il metodo branch-and-bound il seguente problema di PLI max x 1 + x 4x 1 + x + x = 0 x 1 + x + x 4 = x 1, x, x, x 4 0 x 1, x,
DettagliMatrici unimodulari e totalmente unimodulari
Matrici unimodulari e totalmente unimodulari Sia una matrice intera di dimensione con, si dice unimodulare se presa una qualsiasi sottomatrice di ordine massimo (di dimensione ) vale det = 1, +1, 0. Una
DettagliTeoria della Complessità Computazionale Parte I: Introduzione
Teoria della Complessità Computazionale Parte I: Introduzione Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 3.0 - ottobre 2003 Teoria della Complessità Studia la difficoltà dei
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
Dettagli5.5 Metodi dei piani di taglio
5.5 Metodi dei piani di taglio Problema generale di Programmazione Lineare Intera (PLI) max{c t x : x X} dove X = {x Z n + : Ax b}, con A matrice m n e b vettore n 1 razionali Proposizione: conv(x) = {x
DettagliProgrammazione Matematica: I - Introduzione
Programmazione Matematica: I - Introduzione Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 3.0 ottobre 2002 Problemi di Ottimizzazione x = (x,, x n ) R n : vettore di variabili decisionali
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
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 -
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
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
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
DettagliProgrammazione Matematica: VII La scomposizione di Dantzig Wolfe
Programmazione Matematica: VII La scomposizione di Dantzig Wolfe Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev..0 Maggio 2004 Scomposizione di problemi Accade spesso che un problema
Dettagli1 Il metodo dei tagli di Gomory
Il metodo dei tagli di Gomory Esercizio Sia dato il problema min(x x ) x + x (P 0 ) x + x x, x 0, interi. Calcolare la soluzione ottima applicando il metodo dei tagli di Gomory. Risoluzione Per applicare
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
DettagliProgrammazione Lineare Intera (ILP)
Programmazione Lineare Intera (ILP) (P) min ϕ(x), x F Z ϕ: R n - >R è lineare: ϕ(x) = c, x = c 1 x 1 + c 2 x 2 +... + c n x n F R n è definito da : g i (x) 0 (i = 1,...,m), con g i : R n R lineare i Z
DettagliParte III: Algoritmo di Branch-and-Bound
Parte III: Algoritmo di Branch-and-Bound Divide et Impera Sia z * max {c T x : x S} (1) un problema di ottimizzazione combinatoria difficile da risolvere. Domanda: E possibile decomporre il problema (1)
DettagliBranch and Bound. Branch and Bound p. 1/3
Branch and Bound Branch and Bound p. 1/3 Branch-and-bound Un esempio di problema di PLI: P 0 : max x 1 + 3x 2 (u 1 ) x 1 1 2 (u 2 ) 5x 1 + 3x 2 5 (u 3 ) x 1 + 7 5 x 2 13 2 x 1,x 2 0 x 1,x 2 I Branch and
DettagliUniversità Ca Foscari Venezia
Università Ca Foscari Venezia Dipartimento di Scienze Ambientali, Informatica e Statistica Giovanni Fasano Brevi NOTE sul Metodo del BRANCH & BOUND Università Ca Foscari Venezia, Dipartimento di Management,
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)
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:
DettagliProblemi, istanze, soluzioni
lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di
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
DettagliCOMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04
COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04 Esercizio 1 1)Dato il seguente problema di PL: max 2x 1 x 2 x 1 + x 2 2 x 1 + 2x 2 7 x 1 + x 2 1 x 1, x 2 0 trasformarlo in forma standard (2 punti) 2)
DettagliRICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola:
o Appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: max x + x x x x x x + x x Si applichi l algoritmo del Simplesso Duale, per via algebrica, a
DettagliCOMPITO DI RICERCA OPERATIVA. max 8 5x 1 3x 2 x 3 = 1 + 4x 1 + x 2 x 4 = 1 x 1 + x 2 x 5 = 5 x 1 x 2
COMPITO DI RICERCA OPERATIVA ESERCIZIO. (5 punti) Dato un problema di PL, la sua riformulazione rispetto alla base B = {x 3, x, x 5 } é la seguente: max 8 5x 3x x 3 = + x + x x = x + x x 5 = 5 x x Solo
DettagliCOMPITO DI RICERCA OPERATIVA. max x 1 + 2x 2 + x 3 x 1 x 2 + x 3 = 1 2x 1 + 3x 2 + x 4 = 2
COMPITO DI RICERCA OPERATIVA ESERCIZIO. (9 punti) Sia dato il seguente problema di PL: max x + 2x 2 + x 3 x x 2 + x 3 = 2x + 3x 2 + x 4 = 2 x, x 2, x 3, x 4 0 Si determini il duale del problema ( punto).
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
DettagliSull algoritmo di ascesa duale per il problema della localizzazione di impianti
Sull algoritmo di ascesa duale per il problema della localizzazione di impianti A. Agnetis In queste note presentiamo l algoritmo di ascesa duale per la generazione di lower bound di buona qualità per
DettagliEsercizi sulla Programmazione Lineare Intera
Soluzioni 4.7-4.0 Fondamenti di Ricerca Operativa Prof. E. Amaldi Esercizi sulla Programmazione Lineare Intera 4.7 Algoritmo del Simplesso Duale. Risolvere con l algoritmo del simplesso duale il seguente
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
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
DettagliProblemi dello zaino e di bin packing
Problemi dello zaino e di bin packing Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 2 Dicembre 2014 Ricerca Operativa 2 Laurea
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
DettagliCOMPITO DI RICERCA OPERATIVA. max 5 2x 1 + 3x 2 x 3 = 2 + x 1 5x 2 x 4 = 5 + x 2. x 5 = 1 + x 1 x 2
COMPITO DI RICERCA OPERATIVA ESERCIZIO. ( punti) La riformulazione di un problema di PL rispetto alla base B = {x, x, x } è la seguente: max 2x + x 2 x = 2 + x x 2 x = + x 2 x = 2 + x + x 2 x, x 2, x,
DettagliTeoria della Programmazione Lineare Intera
Teoria della Programmazione Lineare Intera Laura Galli Dipartimento di Informatica Largo B. Pontecorvo, 567 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 7 Ottobre 0 Ricerca Operativa Laurea
Dettaglicittà
Esercitazione 11-4-18 Esercizio 1. Si consideri il problema di trovare il ciclo hamiltoniano di costo minimo su una rete di 5 città, le cui distanze reciproche sono indicate in tabella: città 2 3 4 5 1
DettagliEsercizi soluzione grafica e Branch and Bound. Daniele Vigo
Esercizi soluzione grafica e Branch and Bound Daniele Vigo daniele.vigo@unibo.it Mix Mangimi Il gestore di un allevamento desidera determinare il mix ottimale di mangimi da aggiungere al riso per la dieta
DettagliMETODI DELLA RICERCA OPERATIVA
Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco (mdifrance@unica.it) i i Dott.ing. Maria Ilaria Lunesu (ilaria.lunesu@unica.it)
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
DettagliRICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:
Primo appello 9//8 RICERCA OPERATIVA (a.a. 7/8) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x + x x + x x x x x applicando l algoritmo del Simplesso Primale, per via algebrica,
DettagliESERCIZIO 1: Punto 1
ESERCIZIO : Punto La seguente matrice è una matrice delle distanze di un istanza del problema del Commesso Viaggiatore. - - - - - - - Calcolare.Il valore del rilassamento che si ottiene determinando l
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
DettagliMetodi e Modelli per l Ottimizzazione Combinatoria Metodi Risolutivi per la Programmazione Lineare Intera
Metodi e Modelli per l Ottimizzazione Combinatoria Metodi Risolutivi per la Programmazione Lineare Intera L. De Giovanni G. Zambelli Un problema di programmazione lineare intera é una problema della forma
DettagliCOMPITO DI RICERCA OPERATIVA. min 2x 1 x 2 + x 3 x 4 x 1 x 2 + x 3 + x 4 = 5 x 1 + x 2 + x 3 3. x 1, x 2, x 3, x 4, x 5 I
COMPITO DI RICERCA OPERATIVA ESERCIZIO. (8 punti) Sia dato il seguente problema di PL: min x x + x x 4 x x + x + x 4 = 5 x + x + x x, x, x, x 4 0 Lo si trasformi in forma standard ( punto). Si determini
DettagliCOMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 2x 2 + x 3 = 4 x 1 x 2 x 3 = 3 x 2 + 2x 3 = 1 x 1, x 2, x 3 0
COMPITO DI RICERCA OPERATIVA ESERCIZIO. (5 punti) Sia dato il seguente problema di PL: max x + x 2 x 2x 2 + x 3 = 4 x x 2 x 3 = 3 x 2 + 2x 3 = x, x 2, x 3 0 Utilizzando il metodo due fasi, si stablisca
DettagliProgrammazione Lineare Intera (PLI)
PLI.1 Programmazione Lineare Intera (PLI) z P LI = min c T x Ax b x 0 x intero vincoli di interezza non lineari: es. sin(πx) = 0 Rimuovendo il vincolo di interezza PL (rilassamento continuo di PLI), tale
Dettagli5.5 Metodi generali per la soluzione di problemi
5.5 Metodi generali per la soluzione di problemi di PLI I problemi di PLI hanno caratteristiche molto diverse dai problemi di PL. In alcuni casi, la soluzione del problema lineare rilassato, ottenuto cioè
DettagliAppunti di Ricerca Operativa
Appunti di Ricerca Operativa 2012/2013 Prefazione La Ricerca Operativa è un campo in continua evoluzione, il cui impatto sulle realtà aziendali ed organizzative è in costante crescita. L insegnamento di
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) diffusione di messaggi segreti memorizzazione
DettagliProgrammazione a numeri interi: il metodo del Branch and Bound
Programmazione a numeri interi: il metodo del Branch and Bound L. De Giovanni G. Zambelli Un problema di programmazione lineare intera è una problema della forma z I = maxc T x Ax b x 0 x i Z, i I. (1)
DettagliRICERCA OPERATIVA (9 cfu)
a PROVA scritta di RICERCA OPERATIVA (9 cfu) gennaio Cognome Nome Ai fini della pubblicazione (cartacea e elettronica) del risultato ottenuto nella prova di esame, autorizzo al trattamento dei miei dati
Dettaglii completi l'esecuzione dell'algoritmo di programmazione dinamica per questo problema restituendo il valore ottimo e una soluzione ottima del problema
Compito di Ricerca Operativa II Esercizio ( punti). ia dato il problema di flusso massimo sulla rete in figura (le capacit a degli archi sono riportate sopra di essi). 0 8 i consideri il seguente flusso
DettagliSe il grafo è bipartito, un accoppiamento viene anche detto assegnamento.
1. Accoppiamento Definizione. Dato un grafo (non orientato) G =(N,E), un sottoinsieme M di archi, tale che ogni nodo del grafo è incidente in al più unarcodim, viene detto accoppiamento, (matching). I
DettagliPrima prova Intermedia di Ricerca Operativa 2 COMPITO A Esercizio 1 (7 punti): LIFO
Prima prova Intermedia di Ricerca Operativa 2 COMPITO A 13 novembre 2015 Nome e Cognome Matricola: Esercizio 1 (7 punti): Si consideri il seguente problema di programmazione lineare intera. max 32x 1 +
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
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
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
DettagliPROGRAMMAZIONE LINEARE A NUMERI INTERI
PROGRAMMAZIONE LINEARE A NUMERI INTERI N.B. Nei seguenti esercizi vengono utilizzate, salvo diversa indicazione, le seguenti notazioni: PLO programma lineare ordinario S a insieme delle soluzioni ammissibili
Dettagli2. Si definisca un algoritmo euristico di tipo greedy per determinare una buona soluzione ammissibile del problema;
Esercizio 6 Un azienda di trasporti deve affrontare il seguente problema di caricamento. L azienda dispone di n prodotti che possono essere trasportati e di m automezzi con cui effettuare il trasporto.
DettagliRICERCA OPERATIVA (a.a. 2014/15) Nome: Cognome: Matricola:
7 o Appello /9/ RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL max x x x x x x + x 6 x e la corrispondente soluzione x = [,. Utilizzando il teorema degli
DettagliCOMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 + x 2 1 x 1 + x 2 2. Lo si trasformi in forma standard e se ne determini una soluzione ottima.
COMPITO DI RICERCA OPERATIVA APPELLO DEL 06/07/05 ESERCIZIO 1. (5 punti) Sia dato il seguente problema di PL: max x 1 + x 2 x 1 + x 2 1 x 1 + x 2 2 x 1 0 x 2 0 Lo si trasformi in forma standard e se ne
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
DettagliASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO
ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO Lo scenario produttivo Una nota azienda produce capi di abbigliamento per l alta moda Ogni capo è costituito da vari pezzi
DettagliRICERCA OPERATIVA. Tema d esame del 13/12/2005
RICERCA OPERATIVA Tema d esame del 13/12/2005 COGNOME: NOME: MATRICOLA: 1. Un associazione umanitaria ha raccolto 150.000 euro per inviare dei pacchetti regalo natalizi ai bambini di Haiti. Per l acquisto
DettagliRICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola:
Primo appello //7 RICERCA OPERATIVA (a.a. 6/7) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B {,
DettagliProgrammazione Lineare Intera
Programmazione Lineare Intera Andrea Scozzari a.a. 2012-2013 May 10, 2013 Andrea Scozzari (a.a. 2012-2013) Programmazione Lineare Intera May 10, 2013 1 / 16 Programmazione Lineare Intera: Metodo dei Piani
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
Dettagli4. METODI DUALI DEL SIMPLESSO
4. MEODI DUALI DEL SIMPLESSO R. adei 1 Una piccola introduzione R. adei 2 MEODI DUALI DEL SIMPLESSO L obiettivo del capitolo è illustrare e giustificare i metodi duali del simplesso. Entrambi i metodi
Dettagli1) Disegnare la rete di progetto con le attività sugli archi, e la rete di progetto con le attività sui nodi.
Un progetto di ricerca e sviluppo di una società si compone di 12 (principali) attività con precedenze, durate normali b ij (in giorni), costi diretti c ij (in dollari) delle attività alla loro durata
DettagliProgrammazione lineare
Capitolo 1 Programmazione lineare ESERCIZIO 1.1. Porre in forma canonica i seguenti programmi lineari. min 3x 1 + 4x 2 2x 3 x 1 + 2x 2 x 3 5 2x 1 + 4x 3 = 12 x 1 + x 2 + x 3 15 x 1, x 2 0, x 3 libera.
DettagliRilassamento Lagrangiano
RILASSAMENTO LAGRANGIANO 1 Rilassamento Lagrangiano Tecnica più usata e conosciuta in ottimizzazione combinatoria per il calcolo di lower/upper bounds (Held and Karp (1970)). Si consideri il seguente problema
DettagliEsame di Ricerca Operativa del 24/07/18. max 7 x 1 +4 x 2 x 1 +3 x x 1 +x x 1 +x 2 12 x 1 x x 1 3 x 2 2 x 1 2 x 2 14
Esame di Ricerca Operativa del /07/18 Cognome) Nome) Numero di Matricola) Esercizio 1. Effettuare due iterazioni dell algoritmo del simplesso primale per il problema max 7 x 1 + x x 1 + x 6 x 1 +x x 1
DettagliRICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:
Terzo appello //8 RICERCA OPERATIVA (a.a. 7/8) 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
DettagliEsame di Ricerca Operativa del 11/02/2015
Esame di Ricerca Operativa del /0/0 (Cognome) (Nome) (Matricola) Esercizio. Un azienda produce tipi di TV (, 0, 0 e pollici) ed è divisa in stabilimenti (A e B). L azienda dispone di 0 operai in A e 0
DettagliDomini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):
UNIVERSITA DEGLI STUDI DI SALERNO C.d.L. in INGEGNERIA GESTIONALE Esercizi di Ricerca Operativa Prof. Saverio Salerno Corso tenuto nell anno solare 2009 I seguenti esercizi sono da ritenersi di preparazione
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
DettagliRICERCA OPERATIVA. Stock bamboline automobiline libri peluches costo (euro)
RICERCA OPERATIVA Tema d esame del 15/12/2008 (5 crediti) COGNOME: NOME: MATRICOLA: 1. Babbo Natale deve organizzare gli acquisti per le prossime festività. Sono arrivate richieste di 15000 bamboline,
DettagliEsame di Ricerca Operativa del 16/02/15. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:
Esame di Ricerca Operativa del /0/ Cognome) Nome) Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y + y +0 y +0 y +y + y y y +y y y y
DettagliEsame di Ricerca Operativa del 13/06/17. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:
Esame di Ricerca Operativa del /0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y y + y + y + y y + y y +y +y
Dettagli