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.
|
|
- Laura Longo
- 6 anni fa
- Visualizzazioni
Transcript
1 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 di branching (suddivisione) e quello di bound (limite). Consideriamo il problema P := z = max{cx : x S}. Come possiamo dividere tale problema in sottoproblemi di dimensioni più piccole e che siano più facili da risolvere, in modo tale che combinando successivamente le informazioni sui sottoproblemi riusciamo a risolvere il problema originario? 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. Proposizione 1. Sia {S 1, S 2,..., S k } una suddivisione di S e z h = max{cx : x S h }. Allora z = max{z h, h = 1, 2,..., k}. Ciò che rende appetibile suddividere S nei sottoinsiemi S 1, S 2,...,S k è che i problemi z h = max{cx : x S h }, per h = 1, 2,..., k, siano più semplici da risolvere rispetto al problema originale. Abbiamo già visto che l enumerazione completa di tutte le soluzioni ammissibili di un problema di PLI è un operazione molto onerosa dal punto di vista computazionale e di fatto impossibile da realizzare nella pratica, salvo che per istanze di dimensioni molto limitate. Il metodo del Branch & Bound, sfruttando le informazioni relative ad Upper e Lower Bound sul valore della soluzione ottima dei sottoproblemi che vengono generati, di fatto limita considerevolmente il numero delle soluzioni che vengono esplicitamente esaminate. Questa tecnica si chiama di enumerazione implicita e, come vedremo, risulta molto efficace nelle applicazioni pratiche. In particolare Upper e Lower Bound sui valori di z h, per h = 1,...,k possono definire le seguenti relazioni. Proposizione 2. Dato il problema P := z = max{cx : x S}, sia {S 1, S 2,..., S k } una suddivisione di S e siano z h e z h, rispettivamente, un Upper Bound e un Lower Bound per z h = max{cx : x S h }, h = 1, 2,...,k. Allora z = max{z h, h = 1, 2,...,k} è un Upper Bound per z e z = max{z h, h = 1, 2,..., k} è un Lower Bound per z. L algoritmo Branch & Bound funziona quindi nel seguente modo: in maniera ricorsiva, partendo dal problema iniziale P:= max{cx : x S}, viene costruito un albero binario detto delle enumerazioni (o albero di branching) i cui nodi P 1,..., P k rappresentano i sottoproblemi associati alle regioni ammissibili definite da una certa partizione {S,..., S k } (P g := max{cx : x S g }, per g {1,...,k}). L operazione che da un nodo padre dell albero genera i due nodi figli viene detta, appunto, branching. Chiaramente, piú la dimensione dell albero di branching che viene iterativamente costruito riesce a rimanere contenuta e maggiore risulta l efficacia del metodo Branch & Bound. Per questo motivo sono molto importanti le condizioni che, considerato un certo sottoproblema P g associato ad uno dei nodi dell albero di branching, permettono di chiudere quel nodo, ossia di evitare di eseguire su quel nodo un operazione di branching. Tali condizioni sono tre ed, in particolare, due di queste sono legate ai valori z g e z g. Cond. 1. Si verifica quando è stata determinata una soluzione ottima per il problema P g : z g = max{cx : x S g }. In questo caso il problema P g si dice chiuso perché risolto e di conseguenza Lower e Upper Bound diventano z g = z g = z g. Se inoltre il Lower Bound corrente al problema 1
2 iniziale z risulta peggiore di quello definito al nodo P g (z < z g ) possiamo sicuramente aggiornare il suo valore e fissarlo pari a z g. Cond. 2. Si verifica quando z g z. In questo caso il problema P g := z g = max{cx : x S g } si dice chiuso perché dominato. Per definizione di Lower e Upper Bound, abbiamo che z j z j z j per un qualsiasi problema P j : z j = max{cx : x S j } della suddivisione di S. Possiamo quindi senz altro affermare che una soluzione ottima del problema P g non può avere valore superiore a z g. Ricordiamo che z, secondo la Proposizione 2, è un Lower Bound al valore di z = max{cx : x S} ed è definito come z = max{z h, h = 1, 2,...,k}. Consideriamo quindi un problema P f := z f = max{cx : x S f } per il quale z f = max{z h, h = 1, 2,..., k} (è facile vedere che esiste sempre un problema che soddisfa questa condizione). Dalle relazioni sopra descritte si deriva che z g z g z g z = max{z h, h = 1, 2,...,k} = z f. Questo permette di evitare la suddivisione di S g poiché la soluzione ottima di P g ha comunque valore non migliore del valore della soluzione ottima già trovata nella regione ammissibile S f. Cond. 3. Si verifica quando S g =. In questo caso, si dice che il problema P g := max{cx : x S g } viene chiuso perché vuoto, ed i suoi Lower e Upper Bound vengono convenzionalmente posti entrambi pari a. Ad ogni iterazione dell algoritmo del Branch & Bound vi è una suddivisione corrente e vi sono uno o più problemi aperti. Un sottoproblema aperto può essere chiuso per una delle condizioni sopra citate. Se, viceversa, non è possibile applicare nessuna di queste condizioni, allora si procede ad una suddivisione della sua regione ammissibile e così via, ricorsivamente. L algoritmo termina non appena vengono chiusi tutti i sottoproblemi associati alla suddivisione della sua regione ammissibile. Si osservi che, data una suddivisione di S in S 1, S 2,..., S k, l ulteriore suddivisione di S j in S j,1, S j,2,..., S j,kj dà luogo a S 1, S 2,..., S j 1, S j,1, S j,2,..., S j,kj, S j+1,..., S k, che è essa stessa una suddivisione di S. Si noti, infine, che l applicazione dell algoritmo prevede che si conoscano Lower e Upper Bound di ciascun sottoproblema della suddivisione di S. In particolare, la qualità di questi bound risulta fondamentale per l efficacia del metodo poiche determina la frequenza con cui è possibile applicare la seconda condizione per la chiusura dei nodi dell albero di branching. Per illustrare meglio il funzionamento dell algoritmo, consideriamo ora il seguente problema P di Programmazione Lineare a numeri interi: P : s.t. Come passo di inizializzazione, Upper e Lower Bound del vengono inizialmente posti rispettivamente a ; inoltre, sia P 0 = P. Calcoliamo ora Upper Bound e Lower Bound per il valore di z 0. Il fatto che P 0 sia un problema di Programmazione Lineare a numeri Interi ci permette di calcolare l Upper Bound z 0 e il Lower Bound z 0 in modo particolarmente efficiente. Infatti, ricordiamo che nel caso di un problema di massimizzazione quale è P 0, il valore della funzione obiettivo del suo Rilassamento Lineare L(P 0 ) è un Upper Bound per z 0, ed è facilmente calcolabile. Per quanto riguarda il Lower Bound z 0, invece, ricordiamo che il valore della funzione obiettivo in corrispondenza di una qualsiasi soluzione ammissibile definisce un Lower Bound z 0 a z 0 (e, quindi, a z). 2
3 Risolvendo il Rilassamento Lineare L(P 0 ) otteniamo un valore ottimo zl 0 = 35, 6 in corrispondenza della soluzione ottima x 0 = (9.83, 3.6). Dunque possiamo porre z 0 = max{, zl 0 } = 35, 6. Non avendo a disposizione una soluzione ammissibile ( x 0 = (9.83, 3.6), infatti, non è ammissibile per P 0 in quanto non rispetta i vincoli di interezza), non possiamo calcolare un valore per z 0, che rimane quindi fissato a. Poiché P 0 non è stato chiuso, procediamo alla generazione dei suoi nodi figli P 1 e P 2 attraverso la suddivisione di S 0 in S 1 ed S 2. In particolare, questa operazione di branching viene realizzata nel modo seguente. Consideriamo la variabile x 0 1 = 9.83: ogni soluzione x ammissibile per P 0 (x S 0 ) è tale che o x , (cioè ), o x , (cioè ). Pertanto l insieme {S 1, S 2 }, con S 1 = S {x R n : } e S 2 = S {x R n : } rappresenta una suddivisione di S 0. Possiamo perciò generare da P 0 i due problemi, P 1 e P 2 che hanno, come regioni ammissibili, rispettivamente S 1 ed S 2. In virtù della Proposizione1, la risoluzione di P 0 è quindi rimandata alla risoluzione di entrambi i problemi P 1 e P 2. A questo punto l albero del Branch & Bound appare così: P 0 P 1 z 1 = max4x 1 x 2 P 2 z 2 = max 4x 1 x 2 L algoritmo procede iterativamente analizzando di volta in volta i problemi che occupano i nodifoglia dell albero. Stabilire quale è l ordine migliore per procedere è uno dei problemi che insorgono durante l esecuzione del Branch & Bound. Le due possibilità estreme sono quella di costruire l albero andando in profondità oppure in ampiezza. Nel primo caso, ad ogni iterazione viene processato il problema associato al nodo foglia che ha una profondità maggiore nell albero di branching; nel secondo caso, invece, la precedenza è data al nodo che si trova a profondità minore. In genere, la ricerca in profondità è più efficace nel trovare rapidamente una soluzione ammissibile e, di conseguenza buond primali al valore della soluzione ottima, mentre è meno efficace nel miglioramento del valore dei bound di tipo duale. La ricerca in ampiezza, invece, dà priorità ai bound di tipo duale ed è meno efficace per quelli primali. Noi, in questo caso, decidiamo di analizzare i problemi secondo il criterio dello sviluppo in ampiezza dellálbero di branching e quindi di processare nell ordine il problema P 1 e poi il problema P 2. Per quanto riguarda P 1, di nuovo è sufficiente risolviamo il suo Rilassamento Lineare L(P 1 ) ottenedo così z 1 L = in corrispondenza della soluzione ottima x1 = (9, 3.25). Dunque possiamo porre z 1 = max{, z 1 L } = Per quanto riguarda z1, invece, non possiamo procedere al suo aggiornamento dato che non abbiamo a disposizione una soluzione ammissibile ( x 1 = (9, 3.25), infatti, non è ammissibile per P 1 in quanto non rispetta i vincoli di interezza). Quindi z 1 rimane 3
4 fissato a. Poichè non è stato possibile chiudere il nodo P 1, dobbiamo procedere con la fase di branching. Poichè l unica coordinata frazionaria di x 1 = (9, 3.25) è x 2, procediamo effettuando un branching (a due vie) su questa variabile. Questa operazione genera due problemi: P 3 e P 4. Il primo si ottiene aggiungendo il vincolo x (ossia x 2 4), mentre per il secondo aggiungiamo a S 1 il vincolo x (cioè x 2 3). L attuale suddivisione di S, regione ammissibile di P è quindi {S 2, S 3, S 4 }. In virtù della Proposizione 1, la risoluzione di P è rimandata perciò alla risoluzione dei problemi P 2, P 3 e P 4. Dalla risoluzione di L(P 2 ) risulta che la sua regione ammissibile è vuota; risulta quindi vuota anche S 2, regione ammissibile di P 2. In applicazione della terza condizione di chiusura, il problema P 2 può perciò essere chiuso in quanto vuoto, e z 2 = z 2 =. A questo punto dell algoritmo i valori di z e z sono i seguenti: z = max{z 1, z 2 } = max{, } = z = max{z 1, z 2 } = max{32.75, }} = Si noti che essendo z =, la seconda condizione di chiusura, per il momento, non può permetterci di chiudere alcun problema. Avendo terminato l esame dei problemi P 1 e P 2 ed essendoci ancora nodi aperti nell albero di branching, procediamo nellaesecuzione dell algoritmo. L albero di branching a questo punto è il seguente: P 0 P 1 P 2 z = max4x 1 x 2 x 2 3 x 2 4 P 3 z = max4x 1 x 2 x 2 4 P 4 x 2 3 Proseguiamo analizzando i problemi che occupano i nodi-foglia ancora aperti dell albero corrente, e cioè i problemi P 3 e P 4. Risolviamo quindi L(P 3 ) ed ottiamo z 3 L = 32 in corrispondenza della soluzione ottima x3 L = (9, 4). Dunque possiamo porre z 3 = max{, z 3 L } = 32. Passiamo ora a considerare z3. Ricor- 4
5 dando che un Lower Bound per un problema di massimizzazione, quale è P 3, è dato dal valore della funzione obiettivo in corrispondenza di una sua soluzione ammissibile, e notando che x 3 = (9, 4) è ammissibile per P 3, possiamo fissare z 3 = max{, zl 3 } = 32. Inoltre, possiamo aggiornare il valore del Lower Bound corrente alla soluzione ottima del problema iniziale P (che al momento è pari a ) e porre z = z 3 = 32. Per la Condizione 1, possiamo quindi chiudere il nodo associato a P 3. Per quanto riguarda P 4, risolviamo il suo Rilassamento Lineare L(P 4 ). Si ottiene così zl 4 = 31 in corrispondenza della soluzione ottima x 4 L = (8.5, 3). Dunque possiamo porre z4 = max{, zl 4 } = 31. Per quanto riguarda z 4, invece, non possiamo procedere al suo aggiornamento dato che non abbiamo a disposizione una soluzione ammissibile ( x 4 L = (8.5, 3) non è intera ). z4 rimane quindi fissato a. In applicazione della seconda condizione di chiusura, notiamo che il problema P 4 puó essere chiuso perché z 4 < z. Avendo chiuso tutti i nodi foglia, il problema P è risolto, e si ha z = 32 in corrispondenza della soluzione (ottima) x = (9, 4), determinata nel problema P 3 (si osservi che il problema P può essere dichiarato chiuso anche per effetto della prima condizione di chiusura). 5
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
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
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
DettagliAlgoritmo di Branch & Bound
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Algoritmo di Branch & Bound Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria
DettagliRicerca Operativa. 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)
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
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 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:
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
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è
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
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. 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
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
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
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
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
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
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
DettagliEsercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi
Dettagli2.6 Calcolo degli equilibri di Nash
92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito
DettagliEsercizi sui sistemi di equazioni lineari.
Esercizi sui sistemi di equazioni lineari Risolvere il sistema di equazioni lineari x y + z 6 x + y z x y z Si tratta di un sistema di tre equazioni lineari nelle tre incognite x, y e z Poichè m n, la
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
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
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
DettagliNote per la Lezione 4 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che
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
DettagliSISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3
SISTEMI LINEARI. Esercizi Esercizio. Verificare se (,, ) è soluzione del sistema x y + z = x + y z = 3. Trovare poi tutte le soluzioni del sistema. Esercizio. Scrivere un sistema lineare di 3 equazioni
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 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
DettagliDerivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)
Derivazione numerica Introduzione al calcolo numerico Il calcolo della derivata di una funzione in un punto implica un processo al limite che può solo essere approssimato da un calcolatore. Supponiamo
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......................................
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:
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
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
DettagliLa riduzione a gradini e i sistemi lineari (senza il concetto di rango)
CAPITOLO 4 La riduzione a gradini e i sistemi lineari (senza il concetto di rango) Esercizio 4.1. Risolvere il seguente sistema non omogeneo: 2x+4y +4z = 4 x z = 1 x+3y +4z = 3 Esercizio 4.2. Risolvere
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
DettagliA.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5.
A.A. 2015-2016. CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5. Esercizio 5.1. Determinare le ultime tre cifre di n = 13 1625. (Suggerimento. Sfruttare il Teorema di Eulero-Fermat)
DettagliMetodi e Modelli per l Ottimizzazione Combinatoria Metodi esatti per il problema del commesso viaggiatore
Metodi e Modelli per l Ottimizzazione Combinatoria Metodi esatti per il problema del commesso viaggiatore L. De Giovanni G. Zambelli Il problema del commesso viaggiatore (Travelling Salesman Problem -
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
DettagliPOTENZE DI MATRICI QUADRATE
POTENZE DI MATRICI QUADRATE In alcune applicazioni pratiche, quali lo studio di sistemi dinamici discreti, può essere necessario calcolare le potenze A k, per k N\{0}, di una matrice quadrata A M n n (R)
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,
DettagliFUNZIONI ELEMENTARI, DISEQUAZIONI, NUMERI REALI, PRINCIPIO DI INDUZIONE Esercizi risolti
FUNZIONI ELEMENTARI, DISEQUAZIONI, NUMERI REALI, PRINCIPIO DI INDUZIONE Esercizi risolti Discutendo graficamente la disequazione x > 3 + x, verificare che l insieme delle soluzioni è un intervallo e trovarne
DettagliUn tipico esempio è la definizione del fattoriale n! di un numero n, la cui definizione è la seguente:
Pag 29 4) La ricorsione 4.1 Funzioni matematiche ricorsive Partiamo da un concetto ben noto, quello delle funzioni matematiche ricorsive. Una funzione matematica è detta ricorsiva quando la sua definizione
Dettagli2. ALGORITMO DEL SIMPLESSO
. ALGORITMO DEL SIMPLESSO R. Tadei Una piccola introduzione R. Tadei SIMPLESSO L obiettivo del capitolo è quello di fornire un algoritmo, l algoritmo del simplesso, che risolve qualsiasi problema di programmazione
DettagliLunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27
Lunghezza media Teorema Codice D-ario prefisso per v.c. X soddisfa L H D (X). Uguaglianza vale sse D l i = p i.. p.1/27 Lunghezza media Teorema Codice D-ario prefisso per v.c. X soddisfa L H D (X). Uguaglianza
DettagliLa codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
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):
DettagliTeorema di Thevenin generalizzato
Teorema di Thevenin generalizzato Si considerino due reti elettriche lineari, A e B, aventi rispettivamente N A e N B nodi interni. Esse si interfacciano attraverso n (n 3) fili di collegamento, in cui
DettagliUNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014
A Ricerca Operativa 1 Seconda prova intermedia Un tifoso di calcio in partenza da Roma vuole raggiungere Rio De Janeiro per la finale del mondiale spendendo il meno possibile. Sono date le seguenti disponibilità
DettagliSistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara
Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)
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
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
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
DettagliI. Foglio di esercizi su vettori linearmente dipendenti e linearmente indipendenti. , v 2 = α v 1 + β v 2 + γ v 3. α v 1 + β v 2 + γ v 3 = 0. + γ.
ESERCIZI SVOLTI DI ALGEBRA LINEARE (Sono svolti alcune degli esercizi proposti nei fogli di esercizi su vettori linearmente dipendenti e vettori linearmente indipendenti e su sistemi lineari ) I. Foglio
DettagliEsercizi svolti di Programmazione Lineare. a cura di Laura Scrimali Dipartimento di Matematica e Informatica Università di Catania
Esercizi svolti di Programmazione Lineare a cura di Laura Scrimali Dipartimento di Matematica e Informatica Università di Catania Formulazione matematica e risoluzione grafica Esercizio Una pasticceria
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
DettagliOttimizzazione Multi Obiettivo
Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo La Programmazione Matematica classica, lineare (PL) o intera (PLI), tratta problemi caratterizzati da una unica e ben definita funzione obiettivo.
DettagliProblemi di flusso a costo minimo
p. 1/7 Problemi di flusso a costo minimo È data una rete (grafo orientato e connesso) G = (V,A). (i,j) A c ij, costo di trasporto unitario lungo l arco (i, j). i V b i interi e tali che i V b i = 0. p.
DettagliNell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi:
Pag 24 3) Il problema della ricerca Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi: si incontrano in una grande varietà di situazioni reali; appaiono come sottoproblemi
DettagliDipendenza e indipendenza lineare (senza il concetto di rango)
CAPITOLO 5 Dipendenza e indipendenza lineare (senza il concetto di rango) Esercizio 5.1. Scrivere un vettore w R 3 linearmente dipendente dal vettore v ( 1, 9, 0). Esercizio 5.2. Stabilire se i vettori
DettagliAlgoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5
Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 5 In questa lezione inizieremo a studiare gli algoritmi di approssimazione per problemi di ottimizzazione NP-hard
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
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
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
DettagliIl Metodo Branch and Bound
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
DettagliCorso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi
Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Problem Solving Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/30 Tipi di Problemi Primitivi Risolubili
DettagliLa domanda che ci si deve porre innanzitutto per iniziare a risolvere questa disequazione è la seguente:
Disequazioni: caso generale Consideriamo ora la risoluzione di disequazioni che presentino al suo interno valori assoluti e radici. Cercheremo di stabilire con degli esempio delle linee guida per la risoluzione
DettagliDati e Algoritmi I (Pietracaprina) Esercizi sugli Alberi
Dati e Algoritmi I (Pietracaprina) Esercizi sugli Alberi Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1 Dimostrare che un albero non vuoto con n nodi interni, dove ogni nodo interno ha almeno
DettagliAnno 4 Matrice inversa
Anno 4 Matrice inversa 1 Introduzione In questa lezione parleremo della matrice inversa di una matrice quadrata: definizione metodo per individuarla Al termine della lezione sarai in grado di: descrivere
DettagliAlberi e alberi binari I Un albero è un caso particolare di grafo
Alberi e alberi binari Un albero è un caso particolare di grafo È costituito da un insieme di nodi collegati tra di loro mediante archi Gli archi sono orientati (ogni arco esce da un nodo origine ed entra
DettagliCorso di Reti Logiche
Corso di Reti Logiche Minimizzazione degli Stati nelle Macchine Sequenziali Dipartimento di Informatica e Sistemistica Università Degli Studi di Napoli Federico II 1 Le Macchine o Automi E necessario individuare
DettagliEquazioni frazionarie e letterali
Equazioni frazionarie e letterali 17 17.1 Equazioni di grado superiore al primo riducibili al primo grado Nel capitolo 15 abbiamo affrontato le equazioni di primo grado. Adesso consideriamo le equazioni
DettagliAppunti su Indipendenza Lineare di Vettori
Appunti su Indipendenza Lineare di Vettori Claudia Fassino a.a. Queste dispense, relative a una parte del corso di Matematica Computazionale (Laurea in Informatica), rappresentano solo un aiuto per lo
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.
DettagliL ALGORITMO DEL SIMPLESSO REVISIONATO
L ALGORITMO DEL SIMPLESSO REVISIONATO L'algoritmo del simplesso revisionato costituisce una diversa implementazione dell algoritmo standard tesa a ridurre, sotto certe condizioni, il tempo di calcolo e
DettagliCorso di Matematica Applicata A.A
Corso di Matematica Applicata A.A. 2012-2013 Programmazione lineare (II parte) Prof.ssa Bice Cavallo Soluzione di un problema PL Soluzione ottima Variabili slack e surplus A R mxn Ax b s R m, s i 0 : Ax
DettagliAlberi ed Alberi Binari
Alberi ed Alberi Binari Il tipo di dato Albero Un albero è una struttura di data organizzata gerarchicamente. È costituito da un insieme di nodi collegati tra di loro: ogni nodo contiene dell informazione,
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à
DettagliV Esercitazione di Matematica Finanziaria
V Esercitazione di Matematica Finanziaria 25 Novembre 200 Esercizio. Date due operazioni finanziarie (con scadenzari in anni) x = { 40, 7.8, 7.8, 7.8, 7.8, 7.8, 47.8}/t = {0, 0.5,,.5, 2, 2.5, 3}; determinare:
DettagliLEZIONE Equazioni matriciali. Negli Esempi e si sono studiati più sistemi diversi AX 1 = B 1, AX 2 = R m,n, B = (b i,h ) 1 i m
LEZIONE 4 41 Equazioni matriciali Negli Esempi 336 e 337 si sono studiati più sistemi diversi AX 1 = B 1, AX 2 = B 2,, AX p = B p aventi la stessa matrice incompleta A Tale tipo di problema si presenta
DettagliESERCIZI SVOLTI SUL CALCOLO INTEGRALE
ESERCIZI SVOLTI SUL CALCOLO INTEGRALE * Tratti dagli appunti delle lezioni del corso di Matematica Generale Dipartimento di Economia - Università degli Studi di Foggia Prof. Luca Grilli Dott. Michele Bisceglia
DettagliUNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013
A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N
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
DettagliOttimizzazione e Controllo 2015/2016 ESERCITAZIONE
Ottimizzazione e Controllo 2015/2016 ESERCITAZIONE Esercizio 1. Sono dati 6 job da processare su un centro di lavorazione automatizzato che può eseguire una sola lavorazione alla volta. Di ciascun job
DettagliEQUAZIONI DI PRIMO GRADO
Cognome... Nome... Equazioni di primo grado EQUAZIONI DI PRIMO GRADO Un'equazione di primo grado e un'uguaglianza tra due espressioni algebriche di primo grado, vera solo per alcuni valori che si attribuiscono
DettagliEsercizi di ottimizzazione vincolata
Esercizi di ottimizzazione vincolata A. Agnetis, P. Detti Esercizi svolti 1 Dato il seguente problema di ottimizzazione vincolata max x 1 + x 2 x 1 4x 2 3 x 1 + x 2 2 0 x 1 0 studiare l esistenza di punti
DettagliLEZIONE 12. v = α 1 v α n v n =
LEZIONE 12 12.1. Combinazioni lineari. Definizione 12.1.1. Sia V uno spazio vettoriale su k = R, C e v 1,..., v n V vettori fissati. Un vettore v V si dice combinazione lineare di v 1,..., v n se esistono
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
DettagliRiassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.
Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo
DettagliFunzioni reali di variabile reale
Funzioni reali di variabile reale Lezione per Studenti di Agraria Università di Bologna (Università di Bologna) Funzioni reali di variabile reale 1 / 50 Funzioni Definizione Sia A un sottoinsieme di R.
DettagliAA Appello del 27 Novembre 2009 Compito A
Metodi e Modelli di Ottimizzazione Discreta, I parte; Appello del 27 Novembre 2009 Compito A 1). Scrivere una formulazione per il seguente problema. Una ditta di spedizioni deve spedire via nave dei grossi
DettagliCOME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI
COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI In questa Appendice, mostreremo come un impresa possa individuare la sua combinazione di minimo costo dei fattori produttivi attraverso il calcolo
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
DettagliIndici multilivello dinamici (B-alberi e B + -alberi) Alberi di ricerca - 1. Un esempio. Alberi di ricerca - 3. Alberi di ricerca - 2
INDICI MULTILIVELLO DINAMICI Indici multilivello dinamici (B-alberi e B + -alberi) Gli indici multilivello dinamici (B-alberi e B + -alberi) sono casi speciali di strutture ad albero. Un albero è formato
DettagliAUTOMA A STATI FINITI
Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate
DettagliA lezione sono stati presentati i seguenti passi per risolvere un problema:
Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi
DettagliSISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI
SISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI Appunti presi dalle lezioni del prof. Nedo Checcaglini Liceo Scientifico di Castiglion Fiorentino (Classe 4B) January 17, 005 1 SISTEMI LINEARI Se a ik, b i R,
Dettagli1 Il polinomio minimo.
Abstract Il polinomio minimo, così come il polinomio caratterisico, è un importante invariante per le matrici quadrate. La forma canonica di Jordan è un approssimazione della diagonalizzazione, e viene
DettagliNOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n
NOTE DI ALGEBRA LINEARE 2- MM 9 NOVEMBRE 2 Combinazioni lineari e generatori Sia K un campo e V uno spazio vettoriale su K Siano v,, v n vettori in V Definizione Un vettore v V si dice combinazione lineare
Dettagli