5.5 Metodi generali per la soluzione di problemi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "5.5 Metodi generali per la soluzione di problemi"

Transcript

1 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è eliminando i vincoli di interezza sulle variabili, è intera e quindi è ottima anche per il problema di PLI. In generale però la soluzione del problema rilassato, costituisce solo un approssimazione del valore ottimo del problema di PLI (una limitazione inferiore nel caso di problemi di minimo e superiore nel caso di problemi di massimo). In alcuni casi è possibile, a partire dalla soluzione del problema rilassato, determinare una soluzione intera ammissibile approssimando all intero più vicino. Più spesso, il procedimento di approssimazione genera una soluzione non ammissibile e quindi inutilizzabile. Consideriamo un problema di PLI del tipo max{c T x : Ax = b, x 0, x intero}. (5.24) È noto che in un problema di PL ottenuto da (5.24) rilassando il vincolo di interezza, se esiste una soluzione ottima, esiste una soluzione di base ammissibile ottima. Quindi una condizione sufficiente affinché sia possibile trovare una soluzione del problema di PLI risolvendo il rilassamento, è che tutte le SBA del rilassamento lineare siano intere. Alcune condizioni di questo genere si basano sulla nozione di totale unimodularità Proprietà di interezza e totale unimodularità Una matrice a componenti intere A (m n) di rango m si dice unimodulare se ogni sottomatrice di base di A ha determinante di valore 1, 1. Si dice invece totalmente unimodulare se ogni sottomatrice quadrata di A ha determinante in { 1, 0, 1}. Valgono i seguenti risultati che consentono di caratterizzare le proprietà di integralità dei poliedri [5, 3]. Teorema Sia A una matrice (m n) a componenti intere. Allora condizione necessaria e sufficiente affinché il poliedro P = {x IR n : Ax = b, x 0} abbia tutti i vertici interi, per ogni b intero, èchelamatriceasia unimodulare. Teorema Sia A una matrice (m n) a componenti intere. Allora condizione necessaria e sufficiente affinché il poliedro P = {x IR n : Ax b, x 0} 274

2 abbia tutti i vertici interi, per ogni b intero, è che la matrice Asia totalmente unimodulare. È quindi interessante poter individuare condizioni che garantiscano l unimodularità di una matrice a componenti intere A (m n). Una ovvia condizione necessaria per la totale unimodularità è che la matrice abbia tutti elementi a ij {0,1, 1}. Non èperòuna ( condizione ) sufficiente, 1 1 infatti basta scegliere banalmente una matrice del tipo con determinante pari a 2. Si può dare una condizione necessaria e sufficiente di totale 1 1 unimodularità sotto particolari ipotesi. Vale il seguente risultato [3, 5]: Teorema Sia A una matrice (m n) con elementi a ij {0,1, 1}e tale che ogni colonna abbia al più due elementi diversi da zero. Allora A è totalmente unimodulare se e solo se è possibile partizionare gli indici di riga in due sottoinsiemi Q 1 e Q 2 tali che: (i) se la colonna j contiene due elementi a ij 0ea kj 0dello stesso segno allora i Q 1 e k Q 2 ; (ii) se la colonna j contiene due elementi a ij 0ea kj 0di segno opposto allora o i, k Q 1 oppure i, k Q Esercizi svolti Esercizio Dire se la seguente matrice è totalmente unimodulare (dimostrando l affermazione): Soluzione. La condizione necessaria è verificata, poiché gli elementi sono tutti 0, 1. Inoltre ogni colonna di A ha al più due elementi non nulli, quindi sono verificate le ipotesi del Teorema Costruiamo la partizione degli indici di riga. Se la riga 1 Q 1 allora la riga 2 Q 2, ma la riga 3 non può starenéinq 1 per l elemento a 12 néinq 2 per l elemento a 13. Quindi la matrice non è totalmente unimodulare. 275

3 Esercizio Dire se la seguente matrice è totalmente unimodulare dimostrando l affermazione Soluzione. Sono verificate le ipotesi del Teorema Esiste una partizione degli indici di riga, Q 1 = {1, 2, 3}, Q 2 ={4,5,6}, che soddisfa le condizioni (i) (ii), quindi la matrice è totalmente unimodulare. Per la soluzione di problemi di PLI non esistono metodi universalmente efficienti. Molto spesso è necessario utilizzare algoritmi ad hoc che siano in grado di sfruttare la particolare struttura del problema. Esistono però dei metodi applicabili ad una larga classe di problemi di PLI, che qui descriviamo brevemente. Sono il metodo del Branch and Bound ed il metodo dei piani di taglio Algoritmo Branch and Bound Consideriamo un problema di PLI di massimizzazione max{z(x) =c T x: x S} con S = Q Z n finito e dove Q è un poliedro di IR n. Il metodo del Branch and Bound consiste essenzialmente di una fase di separazione (Branching) e di una fase di limitazione e eliminazione (Bounding). Sia x una soluzione ottima del problema rilassato max{z(x) =c T x: x Q}. Se x è intera, è anche soluzione ottima del problema di PLI. Supponiamo quindi che x non sia intera e indichiamo con x la soluzione ottima del problema di PLI (da determinare). Risulta ovviamente z( x) z(x ), cioè z( x) è una limitazione superiore (upper bound) al valore ottimo intero. Il metodo del Branch and Bound si basa sulla decomposizione successiva dell insieme ammissibile S del problema di PLI in una famiglia di sottoinsiemi S 1,...,S r tale che S i S j = 1 i<j r r S i = S i=1 276

4 (ovvero individuando una partizione di S) in modo tale che il punto x non appartenga a nessun S i. Si cerca cioè di eliminare la soluzione x senza escludere nessun altra soluzione in S. Si considerano quindi separatamente i problemi di ottimizzazione (P ) i =max{z(x)=c T x: x S i } con S i = Q i Z n finito e dove Q i sono poliedri di IR n. Sia x i la soluzione ottima del rilassamento lineare del problema (P ) i ; il valore U i = c T x i costituisce un upper bound per il valore ottimo della soluzione di (P ) i. Si definisce inoltre un valore di ottimo corrente ẑ il valore della funzione obiettivo in corrispondenza ad una soluzione ammissibile ˆx. Nel caso in cui non sia possibile individuare facilmente una soluzione ammissibile si pone l ottimo corrente ẑ =. SerisultaU i z(ˆx), cioè se l upper bound è non superiore al valore di ottimo corrente, allora il problema (P ) i può essere eliminato perché la sua soluzione non può produrre un miglioramento della funzione obiettivo. Se invece U i >z(ˆx), il problema (P ) i è un possibile candidato per individuare la soluzione ottima. Riportiamo una schematica descrizione della strategia di separazione e di soluzione che utilizziamo negli esercizi. Metodo del Branch and Bound Inizializzazione. Si calcola la soluzione ottima non intera x del problema rilassato, il cui valore c T x = U 0 costituisce un upper bound per il valore ottimo. Si determina inoltre una soluzione ammissibile intera ˆx a cui corrisponde il valore di ottimo corrente z(ˆx) =c Tˆx. Nel caso in cui non sia possibile individuare facilmente una soluzione ammissibile si pone l ottimo corrente z(ˆx)=. Sia {(P ) 1,...,(P) m } la lista dei problemi candidati e siano U 1,...,U m gli upper bound corrispondenti alle soluzioni x 1,...,x m. Iterazione generica dell algoritmo. Si seleziona un problema (P ) i. Esame del sottoproblema (P ) i. Si possono presentare i seguenti casi. (a) Risulta U i z(ˆx); il problema può essere eliminato dalla lista dei candidati ed è definito chiuso. (b) Risulta U i >z(ˆx). Inoltre (i) La soluzione x i del problema rilassato è intera, quindi anche ottima per il problema (P) i. Si aggiorna l ottimo corrente z(ˆx)=c T x i.il problema viene eliminato dalla lista dei candidati. 277

5 (ii) La soluzione x i non è intera. In questo caso si passa alla Fase di Separazione. (c) L insieme Q i è vuoto. In questo caso viene eliminato dalla lista dei candidati (Si assegna convenzionalmente il valore U i = ). Strategia di Separazione. Sia (x i ) h una componente frazionaria della soluzione del problema (P ) i. Si può suddividere il problema (P ) i in due sottoproblemi (P ) i1 e(p) i2 definiti dall insieme ammissibile S i1 = {x S i : (x i ) h (x i ) h } S i2 = {x S i : (x i ) h (x i ) h +1} Si determinano le soluzioni dei rilassamenti dei problemi (P ) i1 e(p) i2 eivalori U i1 e U i2, corrispondenti agli upper bounds. Si aggiungono questi problemi alla lista dei candidati. L algoritmo termina quando la lista dei candidati èvuota. Il problema del knapsack binario. Dato un problema di knapsack max{c T x : rilassamento continuo è a T x b, x {0,1} n },ilsuo max{c T x : a T x b, 0 x 1}. Per determinare la soluzione del problema rilassato si può procedere come segue (vedi anche Esercizi e ): (i) Si riordinano le variabili in modo che i rapporti peso ingombro siano ordinati in modo non crescente, cioè c 1 a 1 c 2 a 2... c n a n. (ii) Si determina l indice critico k per cui k a i b i=1 k 1 i=1 a i <b. (iii) La soluzione ottima è quindi x i =1, per i =1,...,k 1 x k = b k 1 i=1 a i, a k x i =0, per i = k +1,...,n 278

6 Osservazione Dato un problema di knapsack continuo limitato, possiamo sempre suppore che il coefficienti a i e c i per i =1,...,n siano non negativi. Infatti negli altri casi è possibile ricondursi a questa situazione come descritto nel seguito. 1) L i-esimo coefficiente della funzione obiettivo è negativo, ed il corrispondente coefficiente nel vincolo è positivo c i < 0, a i >0. In questo caso si può fissare la variabile x i =0. 2) L i-esimo coefficiente della funzione obiettivo è positivo, ed il corrispondente coefficiente nel vincolo è negativo c i > 0, a i < 0. In questo caso si può fissare la variabile x i =1. 3) Entrambi i coefficienti c i < 0, a i < 0. In questo caso si può effettuare una sostituzione della variabile x i in x i =1 x i. Si ottiene un problema di knapsack con coefficienti tutti positivi Esercizi svolti Esercizio Sia dato il seguente problema di Programmazione Lineare Intera max z =5x 1 +8x 2 x 1 +x 2 6, (P ) 5x 1 +9x 2 45 x 1,x 2 0, x 1,x 2 interi Sia x 1 = 9 4, x 2 = 15 4 la soluzione ottima del problema rilassato, con valore ottimo della funzione obiettivo z = (i) Si effettui una operazione di separazione rispetto alla variabile x 2 generando due sottoproblemi (P ) 1, (P ) 2. (ii) La soluzione ottima del rilassamento del problema (P ) 1 è mentre per il problema (P ) 2 si ha x 1 =3; x 2 =3; z=39 x 1 =1,8; x 2 =4; z=41. Utilizzando il metodo del branch and bound dire se è possibile chiudere qualche problema della lista dei candidati e indicare le eventuali operazioni di separazione. 279

7 Soluzione. (i) La soluzione ottima di (P) non è intera. Si separa rispetto alla variabile x 2.Siha x 2 = 3 e quindi si ottengono i due sottoproblemi: (P ) 1 max z =5x 1 +8x 2 x 1 +x 2 6, 5x 1 +9x 2 45 x 2 3 x 1,x 2 0, x 1,x 2 interi (P ) 2 max z =5x 1 +8x 2 x 1 +x 2 6, 5x 1 +9x 2 45 x 2 4 x 1 0, x 1,x 2 interi (ii) Per rispondere al secondo quesito, è necessario individuare una soluzione ammissibile per il problema (P) ed un valore di ottimo corrente. Un valore ammissibile si ottiene considerando la parte intera inferiore della soluzione ottima; in particolare si ha ˆx 1 =2,ˆx 2 =3,con valore dell ottimo corrente z(ˆx) =34.La soluzione del problema (P ) 1 è intera con valore ottimo z >z(ˆx). Si aggiorna l ottimo corrente che vale z( x) = 39. Il problema (P ) 2 non ha soluzione intera. Risulta z >z( x), cioè ilvalore dell upper bound è maggiore del ottimo corrente, quindi (P ) 2 non può essere chiuso. Si deve ulteriormente separare rispetto alla variabile x 1. Si generano quindi due problemi (P ) 3 e(p) 4 inserendo i vincoli x 1 1, x 1 2. (P ) 3 max z =5x 1 +8x 2 x 1 +x 2 6, 5x 1 +9x 2 45 x 2 4 x 1 1 x 1 0, x 1,x 2 interi (P ) 4 La lista dei problemi candidati è {(P ) 3, (P ) 4 }. max z =5x 1 +8x 2 x 1 +x 2 6, 5x 1 +9x 2 45 x 2 4 x 1 2 x 1 0, x 1,x 2 interi Esercizio Sia dato il seguente problema di Programmazione Lineare Intera min z = x 1 +3x 2 2x 1 3x 2 2, x 1 +x 2 2 (P ) x 2 2, x 1,x 2 0, x 1,x 2 interi Sia x 1 = 8 5, x 2 = 2 5 la soluzione ottima del problema rilassato, con valore ottimo della funzione obiettivo z = (i) Elencare tutti i possibili modi di separare il problema; si generi la lista di problemi candidati. 280

8 (ii) Dire se è possibile chiudere qualche problema della lista dei candidati. Soluzione. (i) Poiché nella soluzione ottima sono frazionarie entrambe le componenti, si può separare il problema sia rispetto a x 1 (ottenendo (P ) 1 e(p) 2 ) che rispetto a x 2 (ottenendo (P ) 3 e(p) 4 ). Risulta x 1 =1, x 2 =0e si ottengono i sottoproblemi: (P ) 1 (P) 3 min x 1 +3x 2 2x 1 3x 2 2 x 1 +x 2 2 x 2 2 x 1 1 x 1,x 2 0 min x 1 +3x 2 2x 1 3x 2 2 x 1 +x 2 2 x 2 2 x 2 =0 x 1 0, (P) 2 (P) 4 min x 1 +3x 2 2x 1 3x 2 2 x 1 +x 2 2 x 2 2 x 1 2 x 1,x 2 0 min x 1 +3x 2 2x 1 3x 2 2 x 1 +x 2 2 x 2 2 x 2 1 x 1 0 La lista dei problemi candidati è costituita da {(P ) 1, (P ) 2, (P ) 3, (P ) 4 }. (ii) Osserviamo che il problema (P )è di minimizzazione, quindi si deve fare riferimento a lower bound per il valore ottimo. Per stabilire se è possibile chiudere qualche problema è necessario individuare una soluzione ammissibile per (P ) e quindi il valore dell ottimo corrente (che costituisce in questo caso un upper bound alla soluzione ottima). Osserviamo inoltre che, in questo caso, una soluzione ammissibile non si può trovare approssimando all intero inferiore la soluzione x. Infatti, il punto (1, 0) non è ammissibile. Una possibile soluzione ammissibile èˆx=(1,1) e si ha z(ˆx) = 4. Per la soluzione ottima dei sottoproblemi utilizziamo il metodo grafico. Il problema (P ) 1 è raffigurato in Figura 5.2 dove l insieme ammissibile è evidenziato in grigio e la curva di livello della funzione obiettivo corrispondente al valore ottimo è tratteggiata. (P ) 1 ha soluzione ottima rilassata intera x 1 =(1,1) con valore ottimo della funzione obiettivo pari a z(x 1 )=4.Quindi può essere chiuso. Il problema (P ) 2 ha soluzione ottima frazionaria x 2 =(2,2/3) con valore ottimo della funzione obiettivo z(x 2 ) = 4. Il problema (P ) 2 è rappresentato in Figura 5.3 dove l insieme ammissibile è evidenziato in grigio e la curva di livello della funzione obiettivo corrispondente al valore ottimo 281

9 x 2 (0,2) (0,1) (1, 1) x 1 (1,0) (2,0) Figura 5.2: Soluzione del Problema (P ) 1 dell Esercizio è tratteggiata. Anche il problema (P ) 2 può essere chiuso. Il problema (P ) 3 ha regione ammissibile vuota, quindi può essere chiuso. Il problema (P ) 4 ha soluzione ottima rilassata intera x 4 =(1,1) con valore ottimo della funzione obiettivo pari a z(x 4 ) = 4 (vedi Figura 5.4) e quindi può essere chiuso. Quindi si può concludere che la soluzione ottima è(1,1) con valore 4. Esercizio Risolvere con il metodo del Branch and Bound il seguente problema di knapsack binario: max 4x 1 +2x 2 +3x 3 +x 4 3x 1 +x 2 +2x 3 +7x 4 9 x i {0,1}, i =1,2,3,4. Soluzione. Si deve risolvere il problema di knapsack continuo (vedi Esercizio ). Si riordinano le variabili in modo decrescente rispetto al rapporto peso-ingombro c k /a k (rinominandole con y); il problema rilassato è: max 2y 1 +3y 2 +4y 3 +y 4 y 1 +2y 2 +3y 3 +7y y i 1, i =1,2,3,4. (P) Una soluzione del rilassamento lineare è: y 1 = y 2 = y 3 =1, y 4 = = 3 7,

10 x 2 (0,2) ( 2, 2/ 3) x 1 (1,0) (2,0) Figura 5.3: Soluzione del Problema (P ) 2 dell Esercizio con valore ottimo della funzione obiettivo è U 0 = 66 7 =9,43. Una soluzione ammissibile intera, ottenuta approssimando all intero inferiore, èŷ=(1, 1, 1, 0) ed il valore dell ottimo corrente è z(ŷ)= 9. Si separa rispetto alla variabile y 4 e si ottengono i due sottoproblemi: (P 1 ) max 2y 1 +3y 2 +4y 3 y 1 +2y 2 +3y 3 9 y 4 =0 y i {0,1}, i =1,2,3. (P 2 ) max 2y 1 +3y 2 +4y 3 +1 y 1 +2y 2 +3y 3 2 y 4 =1 y i {0,1}, i =1,2,3. La soluzione del rilassamento del problema (P 1 )èy 1 =(1, 1, 1) con valore della funzione obiettivo c T y 1 =9.La soluzione del problema (P 2 ) rilassato è y 2 1 =(1, 2, 0) con valore della funzione obiettivo ct y 2 =4,5. Consideriamo il problema (P 1 ). La soluzione è intera con lo stesso valore dell ottimo corrente. Quindi il problema (P 1 ) si può chiudere. Per il problema (P 2 )risultac T y 2 =4,5<z(ŷ) = 9, quindi si può chiudere perché dominato dall ottimo corrente. La soluzione ottima è y =(1, 1, 1, 0) con valore z(y ) = 9. Riportandosi alle variabili originarie si ha x =(1, 1, 1, 0). Esercizio Risolvere il seguente problema di Knapsack binario: max 3y 1 +2y 2 +y 3 +3y 4 +y 5 y 1 +y 2 +2y 3 +4y 4 +3y 5 5 y i {0,1}, i =1,...,5 283

11 x 2 (0,2) (0,1) (1, 1) x 1 (2,0) Figura 5.4: Soluzione del Problema (P ) 4 dell Esercizio Soluzione. Analogo all esercizio precedente. Si riordinano le variabili in ordine decrescente del rapporto peso/ingombro (riniminandole con x). Si ottiene il problema rilassato: max 3x 1 +2x 2 +3x 4 +x 3 +x 5 x 1 +x 2 +4x 4 +2x 3 +3x 5 5 (P 0 ) 0 x i 1, i =1,...,5 Una soluzione del problema rilassato è x 1 = x 2 =1, x 4 = 3 4,x 3=x 5 =0, con valore dell upper bound U 0 =7,25. Una soluzione ammissibile non ottima èˆx=(11000),a cui corrisponde un valore di ottimo corrente ẑ = z(ˆx)=5. Si separa rispetto alla variabile x 4 ottenendo due sottoproblemi (P 1 ) (P 2 ) max 3x 1 +2x 2 +x 3 +x 5 x 1 +x 2 +2x 3 +3x 5 5 x 4 =0 x i {0,1}, i =1,...,5 max 3x 1 +2x 2 +3+x 3 +x 5 x 1 +x 2 +2x 3 +3x 5 1 x 4 =1 x i {0,1}, i =1,...,5 Il rilassamento del problema P 1 ha soluzione ottima x 1 =(11101/3), con un valore di upper bound U 1 =6,3.Il rilassamento del problema P 2 ha soluzione ottima intera x 2 =(10010),con un valore ottimo U 2 =6. 284

12 Si sceglie di esaminare P 2 ; si aggiorna l ottimo corrente ẑ = 6 e si chiude P 2. Il valore di upper bound di P 1 è superiore all ottimo corrente, ma, osservando che nessuna soluzione intera può fornire un valore superiore a 6, si può chiudere anche P 1. Una soluzione ottima è dunque: x =(10010)divalorez =6. Esercizio Risolvere il seguente problema di Knapsack 0-1 utilizzando il metodo Branch and Bound: max x 1 +3x 2 +2x 3 +4x 4 x 1 +4x 2 +3x 3 7x 4 1 x i {0,1}, i =1,...,4 Soluzione. Poiché la variabile x 4 compare con segno positivo nella funzione obiettivo e con segno negativo nel vincolo, è possibile fissare la variabile x 4 al valore 1 e procedere nella soluzione del problema di knapsack che ne deriva: max x 1 +3x 2 +2x 3 +4 x 1 +4x 2 +3x 3 8 x i {0,1}, i =1,...,3 La soluzione ottima si ottiene banalmente ed è(1, 1, 1, 1) con valore ottimo pari a Metodo dei piani di taglio Consideriamo un problema di PLI di massimizzazione con insieme ammissibile finito del tipo max{c T x : Ax = b, x 0, x intero}. Ricordiamo che dato un poliedro P, si dice che una disequazione a T x β è valida per P se P {x IR n : a T x β }. La procedura di Chvátal-Gomory si basa sulla considerazione seguente [5]. Se una disequazione a T x β è valida per un poliedro P, allora la disequazione n a i x i β i=1 è soddisfatta da tutti i vettori x P Z n (anche se può non essere più valida per P). Sulla base di questa osservazione, data una soluzione ottima (non intera) x del rilassamento lineare del problema di PLI si può generare una disequazione a T x a 0 soddisfatta da tutte le soluzioni ammissibili intere e tale che risulti 285

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

I Appello Ricerca Operativa 2 bis Compito A

I Appello Ricerca Operativa 2 bis Compito A I Appello Ricerca Operativa 2 bis Compito A Cognome e nome:. Esercizio 1. Si consideri il problema del matching di cardinalità massima in un grafo G ed il suo problema di decisione associato: esiste un

Dettagli

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

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

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

Formulazioni. Consideriamo il seguente problema di Knapsack 0-1. max (5x x 2. ) st 3x x 2. < 6 x {0,1} 2

Formulazioni. Consideriamo il seguente problema di Knapsack 0-1. max (5x x 2. ) st 3x x 2. < 6 x {0,1} 2 Formulazioni Consideriamo il seguente problema di Knapsack 0-1 max (5x 1 + 2x 2 ) st 3x 1 + 4x 2 < 6 x {0,1} 2 Insiemi ammissibili F = {(0, 0), (0, 1), (1, 0)} Rappresentiamo sul piano gli insiemi ammissibili.

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

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

Il metodo del simplesso

Il metodo del simplesso Capitolo 5 Il metodo del simplesso 5. La forma standard Esercizio 5.. Porre il problema di Programmazione Lineare: in forma standard. min x +x + x + x x +x 5 x 4 x, x Si trasformano i vincoli di disuguaglianza

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

Matrici unimodulari e totalmente unimodulari

Matrici unimodulari e totalmente unimodulari Matrici unimodulari e totalmente unimodulari Sia una matrice intera di dimensione con, si dice unimodulare se presa una qualsiasi sottomatrice di ordine massimo (di dimensione ) vale det = 1, +1, 0. Una

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

Parte IV: Matrici totalmente unimodulari

Parte IV: Matrici totalmente unimodulari Parte IV: Matrici totalmente unimodulari Formulazioni Consideriamo il seguente problema di Knapsack 0-1 max (5x 1 + 2x 2 ) st 3x 1 + 4x 2 < 6 x {0,1} 2 Insiemi ammissibili F = {(0, 0), (0, 1), (1, 0)}

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

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 lineare: basi e soluzioni di base

Programmazione lineare: basi e soluzioni di base Programmazione lineare:basi e soluzioni di base p. 1/33 Programmazione lineare: basi e soluzioni di base Mariantonia Cotronei Facoltà di Ingegneria Università degli Studi Mediterranea di Reggio Calabria

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

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

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

Programmazione 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:

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.1 Metodo Branch and Bound

5.1 Metodo Branch and Bound 5. Metodo Branch and Bound Si consideri il problema min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando una partizione (ricorsiva)

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

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

Programmazione Lineare

Programmazione Lineare Programmazione Lineare Andrea Scozzari a.a. 2012-2013 March 14, 2013 Andrea Scozzari (a.a. 2012-2013) Programmazione Lineare March 14, 2013 1 / 18 Metodo del Simplesso Dato un problema di PL in forma standard

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

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

I. 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. + γ.

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

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

Parte III: Algoritmo di Branch-and-Bound

Parte III: Algoritmo di Branch-and-Bound Parte III: Algoritmo di Branch-and-Bound Divide et Impera Sia z * max {c T x : x S} (1) un problema di ottimizzazione combinatoria difficile da risolvere. Domanda: E possibile decomporre il problema (1)

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

Sistemi compatibili (Il metodo di Fourier-Motzkin) Claudio Arbib Università degli Studi di L Aquila

Sistemi compatibili (Il metodo di Fourier-Motzkin) Claudio Arbib Università degli Studi di L Aquila Sistemi compatibili (Il metodo di Fourier-Motzkin) Claudio Arbib Università degli Studi di L Aquila Sommario 1. Sistemi di disequazioni lineari e poliedri 2. Poliedri e insiemi convessi 3. Disequazioni

Dettagli

Argomento 13 Sistemi lineari

Argomento 13 Sistemi lineari Sistemi lineari: definizioni Argomento Sistemi lineari Un equazione nelle n incognite x,, x n della forma c x + + c n x n = b ove c,, c n sono numeri reali (detti coefficienti) e b è un numero reale (detto

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

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

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

Tecniche di Decomposizione per Programmazione Lineare Intera (Mista)

Tecniche di Decomposizione per Programmazione Lineare Intera (Mista) Tecniche di Decomposizione per Programmazione Lineare Intera (Mista) Domenico Salvagnin 2011-06-12 1 Introduzione Dato un problema di programmazione lineare intera (mista), non è sempre possibile (o conveniente)

Dettagli

Ottimizzazione Multi Obiettivo

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

Dettagli

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem Introduzione al Column Generation Caso di Studio: il Bin Packing Problem November 15, 2014 1 / 26 Introduzione Il column generation è una metodologia che può essere usata per risolvere problemi di ottimizzazione

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

3.2 Rilassamenti lineari/combinatori e bounds

3.2 Rilassamenti lineari/combinatori e bounds 3.2 Rilassamenti lineari/combinatori e bounds Consideriamo un problema di Ottimizzazione Discreta min{f(x) : x X} e sia z il valore di una soluzione ottima x X. Metodi di risoluzione spesso generano una

Dettagli

Le condizioni di Karush-Kuhn-Tucker

Le condizioni di Karush-Kuhn-Tucker Capitolo 9 Le condizioni di Karush-Kuhn-Tucker 9. Introduzione In questo capitolo deriveremo le condizioni necessarie di Karush-Kuhn-Tucker (KKT) per problemi vincolati in cui S è descritto da vincoli

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

4.5 Metodo del simplesso

4.5 Metodo del simplesso 4.5 Metodo del simplesso min z = c T x s.v. Ax = b x PL in forma standard Esamina una sequenza di soluzioni di base ammissibili con valori non crescenti della funzione obiettivo fino a raggiungerne una

Dettagli

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite 3 Sistemi lineari 3 Generalità Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite ovvero, in forma matriciale, a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n x

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