Parte III: Algoritmo di Branch-and-Bound
|
|
- Teresa Bellucci
- 6 anni fa
- Visualizzazioni
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 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 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)
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
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
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
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
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)
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
DettagliSoluzione 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
DettagliProgrammazione 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
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
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
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
DettagliCorso di Perfezionamento
Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione
DettagliBranch-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
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
DettagliAlgoritmi 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
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
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
DettagliPROGRAMMAZIONE 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
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
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)
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è
DettagliEsame 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
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
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
DettagliEsame 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
DettagliRICERCA 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
DettagliMetodi generali per la soluzione di problemi di PLI
10 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
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,
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
DettagliEsame 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
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
DettagliEsame 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.
DettagliEsame 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
DettagliEsame 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
DettagliAlgoritmi 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):
DettagliNote 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,
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
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
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
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,
DettagliTecniche 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
DettagliMacchine 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
DettagliRilassamento 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
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
DettagliEsame 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
Dettagli4.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),
Dettaglix 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
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à
DettagliAlgoritmi 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......................................
DettagliEspressioni 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:
DettagliMetodi e Modelli per l Ottimizzazione Combinatoria Metodi Risolutivi per Programmazione Lineare Intera
Metodi e Modelli per l Ottimizzazione Metodi Risolutivi per Programmazione Lineare Intera L. De Giovanni M. Di Summa G. Zambelli Indice 1 Definizioni preliminari 2 2 Branch and Bound per programmazione
DettagliAlgoritmi 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
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
DettagliMetodi 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
Dettagliu(ax b) = Consideriamo il generico moltiplicatore u i 0. Se la corrispondente quantità n
Bound di tipo duale: Rilassamento Lagrangiano In questo paragrafo descriveremo, attraverso un esempio, che cosa si intende per Rilassamento Lagrangiano. Si consideri la seguente formulazione: min s.t.
DettagliMetodi 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
DettagliDomande 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
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
DettagliEsame 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à
DettagliCOMPITO 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
DettagliParte V: Rafforzamento di formulazioni e algoritmo dei piani di taglio
Parte V: Rafforamento di formulaioni e algoritmo dei piani di taglio Noioni di geometria Definiione: Un vettore y R n è combinaione conica dei vettori {,, k } se esistono k coefficienti reali λ,,λ k tali
DettagliRisoluzione di problemi di programmazione lineare tramite generazione di colonne
Risoluzione di problemi di programmazione lineare tramite generazione di colonne A. Agnetis 1 Introduzione In alcune applicazioni, un problema può essere formulato in termini di programmazione lineare,
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
Dettagli4.3 Esempio metodo del simplesso
4.3 Esempio metodo del simplesso (P ) min -5x 4x 2 3x 3 s.v. 2x + 3x 2 + x 3 5 4x + x 2 + 2x 3 3x + 4x 2 + 2x 3 8 x, x 2, x 3 Per mettere il problema in forma standard si introducono le variabili di scarto
DettagliPremessa alla prima edizione 13
Indice Premessa alla prima edizione 13 Premessa alla seconda edizione 15 17 Parte I - Ottimizzazione Continua 25 Capitolo primo Ottimizzazione Monodimensionale 27 1.1 Costruzione di un semplice modello
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
DettagliIntroduzione 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
DettagliIl 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
DettagliSi 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
DettagliBilanciamento di tempi e costi Progetti a risorse limitate Note bibliografiche
Indice Prefazione 1 1 Modelli di ottimizzazione 3 1.1 Modelli matematici per le decisioni.................... 4 1.1.1 Fasi di sviluppo di un modello................... 7 1.2 Esempi di problemi di ottimizzazione...................
DettagliIntroduzione ai Problemi di Flusso su Reti
UNIVERSI DI PIS IROCINIO ORMIVO IVO - I CICLO CLSSE DI BILIZIONE MEMIC PPLIC Introduzione ai Problemi di lusso su Reti Relatore: Prof. V. Georgiev.U: Prof. M. Berni Elisabetta lderighi R.O e Riforma della
DettagliProblemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04)
Problemi e algoritmi Il che cosa e il come Il che cosa ed il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come
DettagliProblemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come
Problemi e algoritmi Il che cosa e il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come effettuare un calcolo
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
DettagliDivide et impera su alberi
Divide et impera su alberi Caso base: peru = null o una foglia Decomposizione: riformula il problema per i sottoalberi radicati nei figli di u. Ricombinazione: ottieniilrisultatoconricombina 1 Decomponibile(u):
DettagliAlgoritmi 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
DettagliAlgoritmi e Strutture Dati
Algoritmi Golosi (Greedy) Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino un algoritmo goloso correttezza Problema della selezione di attività
DettagliBranch-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
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:
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
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
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
DettagliAlgoritmi 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
DettagliRicerca 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
DettagliProgrammazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso
Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo
DettagliIl 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
DettagliProgrammazione dinamica
Programmazione dinamica Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 29/21 I. Castelli Programmazione dinamica, A.A. 29/21 1/35
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
DettagliProgramma. Algoritmi e Strutture Dati 2. Docenti. Programma (cont.) Materiale didattico. Modalità d esame
Algoritmi e Strutture Dati 2 Naturale continuazione del corso di Algoritmi 1 Obiettivi: studiare algoritmi e strutture dati fondamentali; studiare le tecniche per risolvere algoritmicamente alcune classi
DettagliLa 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
DettagliProgettazione 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
DettagliMetodi 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
DettagliEsercizi 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
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
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
DettagliElezione di un leader in una rete ad anello
Elezione di un leader in una rete ad anello Corso di Algoritmi Distribuiti Prof. Roberto De Prisco Lezione n a cura di Rosanna Cassino e Sergio Di Martino Introduzione In questa lezione viene presentato
DettagliIntroduzione 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