Parte III: Algoritmo di Branch-and-Bound

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Parte III: Algoritmo di Branch-and-Bound"

Transcript

1 Parte III: Algoritmo di Branch-and-Bound

2 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) in una collezione di sottoproblemi tali che 1. ogni nuovo sottoproblema sia facile da risolvere, e 2. le informazioni ottenute risolvendo la collezione di sottoproblemi ci guidino nella ricerca della soluzione ottima di (1)?

3 Divide et Impera Proposizione: Sia S S 1 S 2 S K una decomposizione della regione ammissibile S in K sottoinsiemi, e sia z h max {c T x : x S h }, per h 1,,K. Allora z* max h z h. Osservazione: Non abbiamo richiesto che la decomposizione sia una partizione (ovvero, che S i S j ), ma non abbiamo nemmeno escluso che possa esserlo! Una tipica rappresentazione dell approccio divide et impera è tramite un albero di enumerazione.

4 Un esempio Se S {0,1} 3, possiamo costruire il seguente albero di enumerazione x 1 0 S x 1 1 x 2 0 S 0 x 2 1 x 2 0 S 1 x 2 1 S 00 S 01 S 10 S 11 x 3 0 x 3 1 x 3 0 x 3 1 x 3 0 x 3 1 x 3 0 x 3 1 S 000 S 001 S 010 S 011 S 100 S 101 S 110 S 111 Le foglie dell albero corrispondono esattamente ai punti che andremmo a esaminare se potessimo fare un enumerazione completa.

5 Divide et Impera Osservazione: Costruendo in questo modo l albero di enumerazione stiamo semplicemente enumerando TUTTI gli insiemi ammissibili!!!! Per la maggior parte dei problemi è impossibile effettuare una enumerazione completa. Poiché per un problema di ottimizzazione combinatoria conosciamo i bound primali e i bound duali, l idea è quella di utilizzare tali bound per enumerare gli insiemi ammissibili in modo più efficace.

6 Divide et Impera Proposizione: Sia S S 1 S 2.. S K una decomposizione della regione ammissibile S in K sottoinsiemi, e siano z h max {c T x : x S h }, z h LB un lower bound per zh, e z h UB un upper bound per zh per h 1,, K. Allora z UB max h z h UB è un upper bound per z*, e z LB max h z h LB è un lower bound per z*.

7 Potatura per ottimalità Le informazioni su upper e lower bound per il valore ottimo z* permettono di decidere quali nodi dell albero ha senso continuare ad esaminare per trovare la soluzione ottima. S 0 z 0 UB 27 z 0 LB 13 x 1 0 x 1 1 S 1 z 1 UB 20 z 1 LB 20 S 2 z 2 UB 25 z 2 LB 15 Poiché z 1 LB z1 UB 20, sicuramente z1 20. Pertanto, non c è bisogno di esplorare ulteriormente il nodo S 1 che può essere potato per ottimalità.

8 Potatura per ottimalità Ad ogni passo teniamo traccia di un lower bound globale z LB. Per il nodo S 0, z LB z 0 LB (alternativamente, z LB - ). Per ciascun nodo di ogni livello dell albero, aggiorniamo il valore di z LB se in corrispondenza di quel nodo abbiamo calcolato un lower bound MIGLIORE (ossia maggiore) di quello corrente. z 0 UB 27 S 0 z 0 LB 13 z LB x 1 0 x 1 1 S 1 z 1 UB 20 z 1 LB 20 z LB 20 S 2 z 2 UB 25 z 2 LB 15

9 Potatura per bound z 0 UB 27 S 0 z 0 LB 13 z LB x 1 0 x 1 1 S 1 z 1 UB 20 z 1 LB 18 S 2 z 2 UB 26 z 2 LB 21 z LB 21 Poiché z LB 21, la soluzione ottima del problema iniziale ha valore almeno pari a 21. Dal momento che z 1 UB 20, sicuramente non è possibile ottenere l ottimo esplorando il nodo S 1. Pertanto, S 1 può essere potato per bound.

10 Potatura per inammissibilità z 0 UB 27 S 0 z 0 LB 13 z LB x 1 0 x 1 1 S 1 z 0 UB 20 z 0 LB 18 z LB 21 S 2 S 2 Poiché il sottoproblema associato al nodo S 2 è inammissibile, non è possibile ottenere l ottimo esplorando il nodo S 2. Pertanto S 2 può essere potato per inammissibilità.

11 Nessuna potatura z 0 UB 40 S 0 z 0 LB 0 z LB x 1 0 x 1 1 S 1 z 1 UB 20 z 1 LB 18 z LB 18 S 2 z 2 UB 37 z 2 LB 0 In questo caso non possiamo fare nessuna osservazione che permetta di potare uno dei due nodi in esame e quindi è necessario esplorare sia S 1 che S 2.

12 Procedura di Branch-and-Bound Tramite l albero di enumerazione, enumeriamo un insieme di soluzioni implicitamente perché alcuni rami dell albero vengono potati per: 1. ottimalità, oppure 2. bound, oppure 3. inammissibilità. Siano L lista dei sottoproblemi che devono essere risolti P i formulazione del sottoproblema associato al nodo S i. L algoritmo di Branch-and-Bound ha il seguente diagramma di flusso:

13 Branch-and-Bound Inizializzazione LS, z LB - count 0; Test: L? Scegli un problema S i dalla lista Risolvi il Rilassamento Lineare RL i su P i Caso 1: Inammissibilità Se P i elimina S i per inammissibilità, vai a Test Caso 2: Bound Se P i, sia z i UB il valore della soluzione ottima x i UB di RL i. Se z i UB < z LB elimina S i per bound, vai a Test Caso 3: Ottimalità Se P i e la soluzione ottima x i UB di RL i è intera, allora elimina S i. Se z i LB > z LB allora z LB z i LB, vai a Test Individua una componente frazionaria k di x i UB e ramifica S i aggiungendo ad L S count+1 S i {x k 0} S count+2 S i {x k 1} count count + 2

14 Esempio Consideriamo il problema di knapsack max 30 x x x x x x 6 9 x x x x x x 6 < 17 (1) x {0,1} 6 La soluzione ottima del Knapsack continuo è x 0 UB (1, 2/3, 0, 0, 0, 0) di valore 54 (z0 UB ) Inizializziamo il valore del lower bound uguale al valore di una soluzione ammissibile del problema x 0 LB (1, 0, 0, 0, 0, 0) di valore 30 (z0 LB ) z LB 30 Osservazione: Poiché la funzione obiettivo ha coefficienti interi, possiamo scrivere la condizione di potatura per bound (caso 2) come z i UB < z LB.

15 Esercizio 1 z 0 UB 54 S 0 z 0 LB 30 z LB x 2 0 x 2 1 z UB z 1 LB 45 S 1 z LB 45 S 2 z 2 UB 52.6 z 2 LB 36 x 4 0 x 4 1 x 1 0 x 1 1 z UB z UB z UB z 3 S 3 S LB 45 z 4 LB 41 4 S 5 S z LB inammissibilità x 5 0 x 5 1 S 7 S 8 S z 7 UB 48 z 8 UB 47.5 z 7 LB 48 z LB 48 OPT. z 8 LB 35 bound. x 3 0 x S 10 S z 9 UB 46 z 10 UB 36 z 9 LB 46 bound. z 10 LB 36 bound. x 3 0 x S 12 inammissibilità z 11 UB 47 z 11 LB 47 OPT.

16 Algoritmo di programmazione dinamica

17 Programmazione Dinamica Schema di principio: Dato un problema di OC, P, la Programmazione Dinamica (PD): 1. Risolve un sottoproblema di P all ottimo. 2. Iterativamente estende la soluzione a P. Proprietà fondamentale (optimal substructure) Sia KP (N, b) un problema di knapsack con soluzione ottima x *. Consideriamo il problema di knapsack KP(N \ r, b a r ) che si ottiene da KP eliminando un qualsiasi oggetto r e diminuendo la capacità dello zaino della quantità a r.. La soluzione ottima di KP(r, b a r ) si ottiene da x * semplicemente eliminando la variabile x r.

18 Esempio Consideriamo il seguente problema di knapsack: max 6 x x x 3 x 1 + 2x x 3 < 5 (1) x {0,1} 3 La soluzione ottima è x *(1) (0, 1, 1), di valore 22. Consideriamo il problema che si ottiene eliminando l oggetto 2 e diminuendo la capacità b del corrispondente ingombro a 2 : max 6 x x 3 x x 3 < (2) x {0,1} 2 La soluzione ottima è x *(2) (0, 1), di valore 12. Osservazione: La soluzione x *(2) (0, 1) è una sottosoluzione di x *(1) (0, 1, 1), ovvero si ottiene da x* (1) semplicemente eliminando la variabile x 2.

19 Notazione Siano r e d due interi tali che 1 r n, 0 d b. Sia KP (r, d) il problema di knapsack: r max Σ c j x j j 1 r Σ a j x j < d j 1 x {0, 1} r KP (r, d) è un sottoproblema di KP, avente soluzione ottima di valore z r (d).

20 Programmazione dinamica Con questo formalismo, il valore della soluzione ottima di KP vale z n (b). Calcolo di z n (b): 1. Calcolo z r (d) per r {1,, n}. 2. Per ogni r, calcolo z r (d) per d {0,, b}. Osservazione: z r (d) si calcola in modo ricorsivo se conosco i valori z r-1 (d) per d {0,, b}.

21 Formula ricorsiva Condizione iniziale di ricorsione: z 1 ( d ) 0 c 1 per per d d < a a 1 1 Questa condizione implica: Se z 1 (d) 0 x 1 0 Se z 1 (d) c 1 x 1 1

22 Formula ricorsiva Formula di ricorsione: z r (d) z r 1 (d) max{z r 1 (d), z r 1 (d a r )+c r } se d < a r se d > a r La formula implica Se z r (d) z r-1 (d) x r 0 [l oggetto r NON è stato scelto] Se z r (d) z r-1 (d a r )+c r x r 1 [l oggetto r E stato scelto]

23 Algoritmo e complessità DP for for for -KP(n, for z for if(z z m m d d return m d (d) then d else (d) a 2 z 0 1 m 1 0 z a (d) max max n b, to m max; (b) to to m 1 to (d) > a, z n to z z c) a b 1 a m 1 m 1 m 1 z b (d 1 m 1 (d) 1 (d); (bˆ z(d) Osservazione: La complessità dell algoritmo è O(nb), ovvero dipende dall intero b (dimensione dello zaino). In questo caso si dice che l algoritmo ha complessità pseudo polinomiale. a a 1 m c ) + m ) + 1 c ; c m m 0; ) ;

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

Il 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. 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

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

Il metodo dei Piani di Taglio (Cutting Planes Method)

Il 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

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

METODI DELLA RICERCA OPERATIVA

METODI DELLA RICERCA OPERATIVA Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco ([email protected]) i i Dott.ing. Maria Ilaria Lunesu ([email protected])

Dettagli

Soluzione di problemi di Programmazione Lineare Intera

Soluzione di problemi di Programmazione Lineare Intera 10 Soluzione di problemi di Programmazione Lineare Intera 10.1 ESERCIZI SULLA SOLUZIONE DI PROBLEMI DI PROGRAMMAZIONE LINEARE INTERA Esercizio 10.1.1 Risolvere con il metodo del Branch and Bound il seguente

Dettagli

Programmazione dinamica

Programmazione dinamica Programmazione dinamica Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Programmazione

Dettagli

Soluzione dei problemi di Programmazione Lineare Intera

Soluzione 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

Dettagli

Branch-and-bound per KNAPSACK

Branch-and-bound per KNAPSACK p. 1/1 Branch-and-bound per KNAPSACK Rispetto allo schema generale visto in precedenza dobbiamo specificare: come si calcola un upper bound su un sottinsieme; come si effettua il branching; come si individuano

Dettagli

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Algoritmi greedy Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Gli algoritmi greedy sono algoritmi basati sull idea

Dettagli

Esercizi sulla Programmazione Lineare Intera

Esercizi 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

Dettagli

5.3 Metodo dei piani di taglio

5.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

Dettagli

PROGRAMMAZIONE DINAMICA

PROGRAMMAZIONE DINAMICA PROGRAMMAZIONE DINAMICA 6.1 PROGRAMMAZIONE DINAMICA Sebbene elementi del metodo fossero già presenti in tecniche di ottimizzazione note in precedenza, si deve a Bellman lo studio sistematico (iniziato

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

5.5 Metodi generali per la soluzione di problemi

5.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è

Dettagli

Esame di Ricerca Operativa del 11/07/2016

Esame di Ricerca Operativa del 11/07/2016 Esame di Ricerca Operativa del /0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Un erboristeria vuole produrre una nuova tisana utilizzando tipi di tisane già in commercio. Tali tisane sono per lo più composte

Dettagli

Esame di Ricerca Operativa del 08/01/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 08/01/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 08/0/ Cognome) Nome) Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x + x x +x x x 0 x + x x x 8 x x 8

Dettagli

RICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione)

RICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione) RICERCA OPERATIVA Tema d esame del 04/03/2008 (Simulazione) COGNOME: NOME: MATRICOLA:. Una nota azienda automobilistica produce due modelli di auto (un utilitaria e una berlina), che rivende con un guadagno

Dettagli

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04

COMPITO 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,

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

Esame di Ricerca Operativa del 07/09/2016

Esame di Ricerca Operativa del 07/09/2016 Esame di Ricerca Operativa del 0/09/201 (Cognome) (Nome) (Matricola) Esercizio 1. Un industria chimica produce due tipi di fertilizzanti (A e B) la cui lavorazione è affidata ai reparti di produzione e

Dettagli

Esame di Ricerca Operativa del 03/09/2015

Esame di Ricerca Operativa del 03/09/2015 Esame di Ricerca Operativa del 0/09/201 (Cognome) (Nome) (Matricola) Esercizio 1. Una raffineria di petrolio miscela tipi di greggio per ottenere tipi di carburante: senza piombo, diesel e blu diesel.

Dettagli

Esame di Ricerca Operativa del 15/01/2015

Esame di Ricerca Operativa del 15/01/2015 Esame di Ricerca Operativa del 1/01/201 (Cognome) (Nome) (Matricola) Esercizio 1. Un azienda produce palloni da calcio e da basket che vende a 1 e 20 euro rispettivamente. L azienda compra ogni settimana

Dettagli

Esame di Ricerca Operativa del 15/01/2015

Esame di Ricerca Operativa del 15/01/2015 Esame di Ricerca Operativa del 1/01/01 (Cognome) (Nome) (Matricola) Esercizio 1. Un azienda produce palloni da basket e da calcio che vende rispettivamente a 1 e euro. L azienda compra ogni settimana 00

Dettagli

Algoritmi generali per PLI

Algoritmi generali per PLI Programmazione Lineare Intera: II Algoritmo Cutting Planes Daniele Vigo D.E.I.S. Università di Bologna [email protected] rev.. ottobre Algoritmi generali per PLI Metodi esatti tradizionali (anni 6 oggi):

Dettagli

Note per la Lezione 6 Ugo Vaccaro

Note per la Lezione 6 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 6 Ugo Vaccaro Ancora sulla tecnica Programmazione Dinamica Nella lezione scorsa abbiamo appreso che la tecnica Divide-et-Impera,

Dettagli

Rilassamento Lagrangiano

Rilassamento 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

Dettagli

COMPITO 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. 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,

Dettagli

Tecniche Algoritmiche: divide et impera

Tecniche Algoritmiche: divide et impera Tecniche Algoritmiche: divide et impera Una breve presentazione F. Damiani - Alg. & Lab. 04/05 Divide et impera (o Divide and conquer) Per regnare occorre tenere divisi i nemici e trarne vantaggio F. Damiani

Dettagli

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4 Macchine parallele M 1 J 1 J 2 LAVORI M 2 J 3 J 4 M 3 Macchine parallele Scheduling su macchine parallele scorrelate R C max Descrizione del problema n lavori devono essere processati da m macchine diverse

Dettagli

Rilassamento Lagrangiano

Rilassamento Lagrangiano Rilassamento Lagrangiano AA 2009/10 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

Dettagli

4. METODI DUALI DEL SIMPLESSO

4. 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

Dettagli

Esame di Ricerca Operativa del 16/06/2015

Esame di Ricerca Operativa del 16/06/2015 Esame di Ricerca Operativa del 1/0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Una ditta produce vernici in tre diversi stabilimenti (Pisa, Cascina, Empoli) e le vende a tre imprese edili (A, B, C). Il

Dettagli

4.1 Localizzazione e pianificazione delle base station per le reti UMTS

4.1 Localizzazione e pianificazione delle base station per le reti UMTS esercitazione Ottimizzazione Prof E Amaldi Localizzazione e pianificazione delle base station per le reti UMTS Consideriamo il problema di localizzare un insieme di stazioni radio base, base station (BS),

Dettagli

x 1 x x 1 2 x 2 6 x 2 5 Indici di base Vettore Ammissibile Degenere (si/no) (si/no)

x 1 x x 1 2 x 2 6 x 2 5 Indici di base Vettore Ammissibile Degenere (si/no) (si/no) Esercitazione di Ricerca Operativa Esercizio. Completare la seguente tabella: max x x x x x x x x x x Indici di base Vettore Ammissibile Degenere, x =, y = Esercizio. Effettuare due iterazioni dell algoritmo

Dettagli

Contenuto e scopo presentazione. Modelli Lineari Interi/Misti. Piani di taglio. Piani di taglio. Piani di taglio Versione 31/08/

Contenuto 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à

Dettagli

Algoritmi di Ricerca

Algoritmi di Ricerca Algoritmi e Strutture Dati Autunno 01 Algoritmi di Ricerca Dip. Informatica ed Appl. Prof. G. Persiano Università di Salerno 1 Ricerca esaustiva 1 2 Backtrack 3 2.1 Backtrack per enumerazione......................................

Dettagli

Espressioni aritmetiche

Espressioni aritmetiche Espressioni aritmetiche Consideriamo espressioni costruite a partire da variabili e costanti intere mediante applicazione delle operazioni di somma, sottrazione, prodotto e divisione (intera). Ad esempio:

Dettagli

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio Algoritmi Greedy Tecniche Algoritmiche: tecnica greedy (o golosa) Idea: per trovare una soluzione globalmente ottima, scegli ripetutamente soluzioni ottime localmente Un esempio Input: lista di interi

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

Metodi generali per la soluzione di problemi di PLI

Metodi generali per la soluzione di problemi di PLI 11 Metodi generali per la soluzione di problemi di PLI Per la soluzione di problemi di PLI non esistono metodi universalmente efficienti. Molto spesso è necessario utilizzare algoritmi ad hoc che siano

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi basati su generazione di colonne

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi basati su generazione di colonne Metodi e Modelli per l Ottimizzazione Combinatoria Metodi basati su generazione di colonne L. De Giovanni G. Zambelli 1 Un problema di taglio di tondini di ferro Un azienda metallurgica produce tondini

Dettagli

Domande d esame. Ricerca Operativa. G. Liuzzi. Giovedí 14 Maggio 2015. 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR

Domande d esame. Ricerca Operativa. G. Liuzzi. Giovedí 14 Maggio 2015. 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR 1 Giovedí 14 Maggio 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Geometria di R n 1 Dare la definizione di Poliedro e Vertice di un Poliedro 2 Dare la definizione di Poliedro e di Politopo

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

Esame di Ricerca Operativa del 09/02/2016

Esame di Ricerca Operativa del 09/02/2016 Esame di Ricerca Operativa del 0/0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Una sartoria produce tipi di vestiti: pantaloni, gonne e giacche, utilizzando stoffa e filo. Settimanalmente, la disponibilità

Dettagli

COMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3.

COMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3. COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 x 1 + x 2 2 2x 1 + x 2 x 1 0 x 2 0 Si trasformi questo problema in forma standard e lo si

Dettagli

Esercizi soluzione grafica e Branch and Bound. Daniele Vigo

Esercizi soluzione grafica e Branch and Bound. Daniele Vigo Esercizi soluzione grafica e Branch and Bound Daniele Vigo [email protected] Mix Mangimi Il gestore di un allevamento desidera determinare il mix ottimale di mangimi da aggiungere al riso per la dieta

Dettagli

Problemi, istanze, soluzioni

Problemi, 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

Dettagli

Introduzione alla programmazione lineare

Introduzione alla programmazione lineare Introduzione alla programmazione lineare struttura del problema di PL forme equivalenti rappresentazione e soluzione grafica rif. Fi 1.2; BT 1.1, 1.4 Problema di programmazione lineare Dati: un vettore

Dettagli

Il problema dello zaino: dalla gita in montagna ai trasporti internazionali. Luca Bertazzi

Il problema dello zaino: dalla gita in montagna ai trasporti internazionali. Luca Bertazzi Il problema dello zaino: dalla gita in montagna ai trasporti internazionali Luca Bertazzi 0 Ricerca Operativa (Operations Research) The Science of Better Modelli e algoritmi per la soluzione di problemi

Dettagli

Si consideri il seguente tableau ottimo di un problema di programmazione lineare

Si consideri il seguente tableau ottimo di un problema di programmazione lineare ESERCIZIO 1 Si consideri il seguente tableau ottimo di un problema di programmazione lineare -25/3 0 4/3 19/6 9/2 0 0 0 7/6 1 0 1-1/2-3/2 1 0 0 3/2 11/3 1-2/3-1/3 0 0 0 0 2/3 2/3 0 1/3 1/6-1/2 0 1 0 7/6

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

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi Ricorsivi e Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 I conigli di Fibonacci Ricerca Binaria L isola dei conigli

Dettagli

Branch-and-bound per TSP

Branch-and-bound per TSP p. 1/6 Branch-and-bound per TSP Anche qui, rispetto allo schema generale visto in precedenza dobbiamo specificare: p. 1/6 Branch-and-bound per TSP Anche qui, rispetto allo schema generale visto in precedenza

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

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

2.2 Alberi di supporto di costo ottimo

2.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

Dettagli

Programmazione Lineare Intera (PLI)

Programmazione 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

Dettagli

Algoritmi e strutture di dati 2

Algoritmi e strutture di dati 2 Paola Vocca Lezione 4: Programmazione dinamica 1 Caratteristiche Programmazione dinamica: paradigma basato sullo stesso principio utilizzato per il divide et impera o il problema viene decomposto in sotto-problemi

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina [email protected] www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo

Dettagli

Il problema dello zaino

Il problema dello zaino Il problema dello zaino Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 25 gennaio 2010 Il problema dello zaino 0-1

Dettagli

Programmazione dinamica

Programmazione dinamica Programmazione dinamica Ilaria Castelli [email protected] Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 29/21 I. Castelli Programmazione dinamica, A.A. 29/21 1/35

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

La dualità nella Programmazione Lineare

La dualità nella Programmazione Lineare Capitolo 3 La dualità nella Programmazione Lineare 3.1 Teoria della dualità Esercizio 3.1.1 Scrivere il problema duale del seguente problema di Programmazione Lineare: min x 1 x 2 + x 3 2x 1 +3x 2 3 x

Dettagli

Progettazione di Algoritmi

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

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema

Dettagli

Esercizi per il corso di ricerca operativa 1

Esercizi per il corso di ricerca operativa 1 Esercizi per il corso di ricerca operativa Ultimo aggiornamento: 8 gennaio 004 Indice I Esercizi 5 Programmazione lineare 7 Dualita 3 3 Analisi di sensitivita 7 4 Programmazione intera 5 Introduzione

Dettagli

5.5 Metodi dei piani di taglio

5.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

Dettagli

1 Il metodo dei tagli di Gomory

1 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

Dettagli

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard Introduzione al Metodo del Simplesso Giacomo Zambelli 1 Soluzioni di base e problemi in forma standard Consideriamo il seguente problema di programmazione lineare (PL), relativo all esempio di produzione

Dettagli