Il Metodo Branch and Bound



Похожие документы
Problemi di localizzazione impianti

Ottimizzazione Multi Obiettivo

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

Esercizi di Ricerca Operativa I

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

Intelligenza Artificiale

1. Considerazioni generali

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

Ricerca Operativa A.A. 2007/2008

TSP con eliminazione di sottocicli

Indagine sulla Condizione Occupazionale dei Laureati della Facoltà di Ingegneria dell Università degli Studi di Napoli Parthenope

Ricerca non informata in uno spazio di stati

Esame di Ricerca Operativa del 19/01/2016

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

TSP con eliminazione di sottocicli

Esame di Ricerca Operativa del 19/01/2016

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Algoritmi e strutture dati. Codici di Huffman

e-dva - eni-depth Velocity Analysis

Appunti sulla Macchina di Turing. Macchina di Turing

Algoritmi enumerativi

B+Trees. Introduzione

Ottimizzazione in ECLiPSe

4 3 4 = 4 x x x 10 0 aaa

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Esame di Ricerca Operativa del 18/12/12. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Dualità Lagrangiana. Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Corrispondenze e funzioni

Il concetto di valore medio in generale

Programmazione dinamica

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

( x) ( x) 0. Equazioni irrazionali

Corso di Matematica per la Chimica

RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007

Corso di Informatica

Algoritmi e Strutture Dati

Informatica (Basi di Dati)

Alberi binari. Ilaria Castelli A.A. 2009/2010. Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Dimensione di uno Spazio vettoriale

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Un problema di Capital Budgeting

UD 3.4b: Trattabilità e Intrattabilità. Dispense, cap. 4.2

risulta (x) = 1 se x < 0.

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

mese richiesta

Un metodo per il rilevamento degli errori: la tecnica del Bit di Parità

Problemi dello zaino e di bin packing

Il database management system Access

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

Codifica binaria dei numeri relativi

Corso di Calcolo Numerico

Ottimizazione vincolata

ESEMPIO 1: eseguire il complemento a 10 di 765

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni

Esponenziali elogaritmi

1. Distribuzioni campionarie

Studente: SANTORO MC. Matricola : 528

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Matematica 1 - Corso di Laurea in Ingegneria Meccanica

Laboratorio di Architettura degli Elaboratori - A.A. 2012/13

Modelli di Programmazione Lineare. PRTLC - Modelli

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Matematica generale CTF

Tutorato di Probabilità e Statistica

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Approcci esatti per il job shop

SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno

Daniela Lera A.A

Il problema del commesso viaggiatore

0 A B I C O L M P E Q R F G D H N *

Reti sequenziali sincrone

TECNICHE DI SIMULAZIONE

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI

ALGEBRA DELLE PROPOSIZIONI

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006)

Osservazioni sulla continuità per le funzioni reali di variabile reale

Calcolo del Valore Attuale Netto (VAN)

Funzioni. Parte prima. Daniele Serra

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Matematica finanziaria: svolgimento prova di esame del 5 luglio 2005

Soluzione dell esercizio del 12 Febbraio 2004

b. Che cosa succede alla frazione di reddito nazionale che viene risparmiata?

10. Insiemi non misurabili secondo Lebesgue.

LE FUNZIONI A DUE VARIABILI

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

1 Giochi a due, con informazione perfetta e somma zero

Транскрипт:

Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale Università di Pisa A.A. 2014/15 L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 1 / 18

Metodi risolutivi per la PLI Metodi esatti (garanzia soluzione ottima) metodi poliedrali Branch and bound programmazione dinamica metodi ad hoc Metodi euristici greedy ricerca locale metodi ad hoc L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 2 / 18

L albero di enumerazione totale Consideriamo un problema di PLI max c T x Ax b x Z n (P) in cui la regione ammissibile Ω è limitata. Metodo naïf Si calcola la funzione obiettivo in tutte le soluzioni ammissibili (che sono in numero finito) e si trova l ottimo confrontando i valori ottenuti. Per esplorare la regione ammissibile si costruisce l albero di enumerazione totale. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 3 / 18

L albero di enumerazione totale Albero di enumerazione totale Ha per radice il problema P. Facendo una partizione di Ω in due o più sottoinsiemi Ω 1,...,Ω n si ottengono i nodi al primo livello, che corrispondono ai sottoproblemi di P aventi come regioni ammissibili gli insiemi Ω 1,...,Ω n. Il resto dell albero viene generato allo stesso modo, fino ad arrivare alle foglie che corrispondono a sottoproblemi aventi la regione ammissibile vuota o costituita da un solo elemento. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 4 / 18

L albero di enumerazione totale Esempio max 5x 1 +6x 2 3x 1 +4x 2 7 x 0 x Z 2 I vincoli impongono che x 1 {0,1,2}. Partizioniamo Ω in tre sottoinsiemi: Ω = (Ω {x 1 = 0}) (Ω {x 1 = 1}) (Ω {x 1 = 2}), che sull albero di enumerazione totale corrispondono a tre figli del nodo radice: P x 1 = 0 x 1 = 1 x 1 = 2 P 1 P 2 P 3 L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 5 / 18

L albero di enumerazione totale Esempio (segue) max 5x 1 +6x 2 3x 1 +4x 2 7 x 0 x Z 2 Analogamente si ha x 2 {0,1}, quindi ogni nodo al primo livello dell albero ha a sua volta due figli (x 2 = 0 e x 2 = 1). L albero di enumerazione totale è: x 1 = 0 x 1 = 1 P x 1 = 2 P 1 P 2 P 3 x 2 = 0 x 2 = 1 x 2 = 0 x 2 = 1 x 2 = 0 x 2 = 1 P 4 P 5 P 6 P 7 P 8 P 9 amm. amm. amm. amm. amm. NON amm. val. 0 val. 6 val. 5 val. 11 val. 10 ottimo L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 6 / 18

Il metodo naïf trova una soluzione ottima, ma è impraticabile perché il numero delle soluzioni ammissibili cresce in modo esponenziale rispetto al numero delle variabili del problema. Il metodo Branch and Bound esplora l albero di enumerazione totale senza enumerare esplicitamente tutte le foglie. Notazioni v(p) = valore ottimo di P v I (P) = valutazione inferiore del valore ottimo di P: v I (P) v(p) v S (P) = valutazione superiore del valore ottimo di P: v S (P) v(p) P i = sottoproblema corrispondente ad un nodo dell albero di enumerazione totale L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 7 / 18

Per ottenere v I (P) si usano metodi euristici per trovare una soluzione ammissibile. Infatti, se x è ammissibile per P allora c T x = v I (P) si risolve una restrizione di P, cioè un problema ottenuto da P aggiungendo uno o più vincoli Per ottenere v S (P) si risolve un rilassamento di P: continuo: sostituire x i Z con x i R per eliminazione: eliminare uno o più vincoli surrogato: sostituire due o più vincoli con la loro somma pesata lagrangiano (che vedremo in seguito) L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 8 / 18

Teorema (regole per potare l albero di enumerazione) Sia x una soluzione ammissibile e v I (P) = c T x. 1. Se la regione ammissibile di P i è vuota, allora in P i non esistono soluzioni ammissibili migliori di x e quindi si chiude il nodo P i 2. Se v S (P i ) v I (P) allora si chiude il nodo P i 3. Se v S (P i ) > v I (P) e l ottimo x del rilassamento di P i è ammissibile per P, allora si aggiorna la soluzione ammissibile con x e si chiude il nodo P i Dimostrazione 1. Ovvio 2. v(p i ) v S (P i ) v I (P) = c T x 3. c T x = v S (P i ) > v I (P) = c T x, cioè x è migliore di x e in P i non ci sono soluzioni ammissibili migliori di x L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 9 / 18

Esempio max x 1 +3x 2 x 1 +5x 2 21 8x 1 +2x 2 35 x 0 x Z 2 L ottimo del rilassamento continuo è (7/2,7/2), quindi v S (P) = 14. (P) Arrotondando per difetto le componenti di tale soluzione, otteniamo la soluzione ammissibile (3,3) che fornisce v I (P) = 12. 12,14 P L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 10 / 18

Esempio (segue) Esploriamo l albero di enumerazione totale istanziando la variabile x 1 perché ha un valore frazionario nella soluzione ottima del rilassamento continuo. Distinguiamo due casi: x 1 3 oppure x 1 4 in modo che (7/2,7/2) non sia ottima per nessuno dei rilassamenti continui dei nodi al primo livello. x 2 4 3 2 1 0 1 2 3 4 5 x 1 L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 11 / 18

Esempio (segue) Vicino ad ogni nodo P i indichiamo nell ordine i valori v I (P) e v S (P i ). 12,14 P x 1 3 x 1 4 12,13 12,8 P 1 P 2 La soluzione ottima del rilassamento continuo di P 1 è (3, 18 5 ) di valore 13.8, quindi v S (P 1 ) = 13.8 = 13 > 12 = v I (P), pertanto P 1 rimane aperto. La soluzione ottima del rilassamento continuo di P 2 è (4, 3 2 ) di valore 8.5, quindi v S (P 2 ) = 8 < 12 = v I (P), quindi chiudiamo P 2. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 12 / 18

Esempio (segue) L ottimo del rilassamento continuo di P 1 è (3, 18 5 ) quindi dal nodo P 1 istanziamo la variabile x 2 : 12,14 P 12,13 12,8 P 1 P 2 x 2 3 x 2 4 x 1 3 x 1 4 P 3 P 4 L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 13 / 18

Esempio (segue) 12,14 P x 1 3 x 1 4 12,13 P 1 x 2 3 x 2 4 12,12 13,13 12,8 P 2 P 3 P 4 L ottimo del rilassamento continuo di P 3 è (3,3), quindi v S (P 3) = 12 = v I (P), pertanto chiudiamo P 3. L ottimo del rilassamento continuo di P 4 è (1,4), quindi v S (P 4) = 13 > 12 = v I (P), ma (1, 4) è ammissibile. Aggiorniamo la soluzione ammissibile (3, 3) con la nuova (1, 4), poniamo v I (P) = 13 e chiudiamo P 4. Tutti i nodi dell albero sono chiusi, quindi la soluzione ottima è (1, 4). L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 14 / 18

L implementazione del metodo Branch and Bound dipende da: come si trova una soluzione ammissibile iniziale (cerco una soluzione buona e veloce da trovare) bound: quale rilassamento si sceglie per P e per i sottoproblemi P i (cerco rilassamenti buoni e veloci da risolvere) branch: quale partizione si sceglie per ogni sottoproblema P i (cerco una partizione in modo che l ottimo del rilassamento dei nodi figli di P i sia diverso dall ottimo del rilassamento di P i) in quale ordine si esaminano i nodi dell albero: in ampiezza: prima i nodi del livello più alto, poi quelli del livello successivo... in profondità: se un nodo è aperto, il nodo successivo è il primo dei suoi figli; mentre se un nodo è chiuso, si ritorna indietro verso il nodo radice fino a quando si trova un nodo che ha un figlio non ancora esaminato. Con questa scelta si cerca di rendere minimo il numero dei nodi aperti ancora da esaminare (spazio di memoria occupato). in qualità: tra i nodi aperti viene scelto il più promettente, cioè quello con il massimo valore di v S (P i). Con questa scelta si cerca di rendere minimo il numero totale di nodi esaminati. L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 15 / 18

Nell esempio precedente: soluzione ammissibile è ottenuta per arrotondamento a partire dall ottimo del rilassamento di P bound: rilassamento continuo per P e P i branch: binario su una variabile frazionaria dell ottimo del rilassamento di P i esplorazione dell albero in ampiezza L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 16 / 18

Esercizio Consideriamo un problema di PLI di massimo. In figura è riportato l albero di branch and bound, in cui per alcuni nodi è indicata la valutazione superiore ottenuta risolvendo un rilassamento. Per il problema è nota una soluzione ammissibile di valore 85. 100 P 90 P 1 93 P 2 84 P 3 P 4 88 P 5 P 6 a) In quale intervallo è compreso il valore ottimo? Indicare l intervallo più stringente. b) È possibile chiudere alcuni nodi dell albero? Se sì, quali? c) È possibile avere v S (P 3) = 91? Perché? L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 17 / 18

Esercizio (segue) Consideriamo un problema di PLI di massimo. In figura è riportato l albero di branch and bound, in cui per alcuni nodi è indicata la valutazione superiore ottenuta risolvendo un rilassamento. Per il problema è nota una soluzione ammissibile di valore 85. 100 P 90 P 1 93 P 2 84 P 3 P 4 88 P 5 P 6 d) È possibile avere v S(P 6) = 89? Perché? e) Dopo aver risolto il rilassamento del problema P 3, è possibile chiudere tutti i nodi dell albero? Se sì, in quali casi? f) Dopo aver risolto il rilassamento del problema P 6, è possibile chiudere tutti i nodi dell albero? Se sì, in quali casi? L. Galli Corso di Ricerca Operativa 2 - Laurea Magistrale in Ingegneria Gestionale Università di Pisa 18 / 18