1 Programmazione Lineare Intera

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "1 Programmazione Lineare Intera"

Transcript

1 1 Programmazione Lineare Intera Fino ad ora abbiamo affrontato problemi in cui le variabili potevano assumere valori reali. Ora invece ci concentreremo su problemi in cui le variabili possono assumere solo valori interi. Per prima cosa vedremo un paio di esempi di problemi reali in cui le variabili possono assumere solo valori interi. 1.1 Il problema dello zaino Sono dati n tipi di oggetti. Agli oggetti di tipo i, i = 1,..., n, sono associati un peso p i e un valore v i. É inoltre dato uno zaino con capacitá pari a b. Il problema dello zaino consiste nel decidere quanti oggetti di ciascun tipo inserire nello zaino, tenendo conto che non si puó superare la capacitá dello zaino e che si vuole massimizzare il valore complessivo degli oggetti inseriti. Agli oggetti di tipo i associo una variabile x i che rappresenta il numero di oggetti di tipo i da inserire nello zaino. Si noti che tali variabili saranno necessariamente non negative e possono assumere solo valori interi. Abbiamo un unico vincolo nel problema, quello di non superare la capacitá b dello zaino. Tale vincolo é espresso dalla seguente disequazione: n p i x i b. i=1 L obiettivo, da massimizzare, é rappresentato dalla seguente formula: n v i x i. i=1 Quindi il modello del problema é il seguente max n i=1 v ix i n i=1 p ix i b x i 0, x i I i = 1,..., n dove I indica l insieme degli interi. Esiste anche una variante del problema, detta problema dello zaino binario, in cui esiste un solo esemplare di ogni tipo di oggetto e quindi le variabili x i possono assumere i due soli valori 0 (se non si inserisce l oggetto i) oppure 1 (se lo si inserisce). Variabili che possono assumere due soli valori vengono dette binarie. Il modello é il seguente: max n i=1 v ix i n i=1 p ix i b x i 0, x i {0, 1} i = 1,..., n 1

2 Esempio 1 Si supponga di avere tre tipi 1,2 e 3 di oggetti, con pesi e valori p 1 = 5 p 2 = 7 p 3 = 9 v 1 = 11 v 2 = 14 v 3 = 18. Si supponga inoltre di avere uno zaino con capacitá pari a 18. Il modello per il problema dello zaino é il seguente: max 11x x x 3 5x 1 + 7x 2 + 9x 3 18 x 1, x 2, x 3 0, x 1, x 2, x 3 I mentre per il problema dello zaino binario l unica differenza é rappresentata dal fatto che le variabili possono assumere i soli valori 0 e 1: max 11x x x 3 5x 1 + 7x 2 + 9x 3 18 x 1, x 2, x 3 0, x 1, x 2, x 3 {0, 1} 1.2 Problemi di produzione e distribuzione di prodotti Supponiamo di avere m negozi che hanno bisogno di un certo prodotto e n centri di produzione dove tale prodotto puó essere realizzato. Avremo inoltre le seguenti indicazioni. Il negozio i richiede una quantitá pari ad a i unitá di prodotto. Il centro di produzione j ha la possibilitá di realizzare fino ad un massimo di M j unitá di prodotto. Trasportare un unitá di prodotto dal centro di produzione j al negozio i ha un costo pari a c ij. Attivare il centro di produzione j ha un costo fisso pari a k j. Tale costo interviene se si produce anche una sola unitá di prodotto nel centro di produzione j ed é indipendente dalla quantitá prodotta (si pensi ai costi di attivazione dei macchinari che sono gli stessi sia che si produca una sola unitá di prodotto, sia che se ne producano migliaia). Il problema consiste nel decidere, per ogni centro di produzione j e negozio i, quante unitá di prodotto realizzare nel centro di produzione j perché siano inviate al negozio i, tenuto conto che si devono soddisfare le richieste di tutti i negozi, non si possono superare le capacitá produttive dei singoli centri e che si vuole realizzare il tutto minimizzando i costi. 2

3 Per prima cosa identifichiamo le variabili del problema. Per ogni coppia negozio i, i = 1,..., m, e centro di produzione j, j = 1,..., n, definiremo una variabile x ij che rappresenta le unitá di prodotto realizzate nel centro di produzione j per essere inviate al negozio i. Tali variabili sono ovviamente non negative e possono assumere solo valori interi. Oltre a tali variabili, introduciamo anche delle variabili binarie y j da associare a ciascun centro di produzione. La variabile y j assumerá valore 0 se il centro di produzione j non viene attivato, ovvero non viene realizzato alcun prodotto in esso, mentre assume il valore 1 se il centro viene attivato. Per esprimere il vincolo che deve essere soddisfatta la richiesta a i di prodotti del negozio i, richiederemo che la somma dei prodotti realizzati nei vari centri di produzione j per il negozio i sia pari ad a i, il che corrisponde alla seguente equazione: n x ij = a i. j=1 Nel centro di produzione j la quantitá massima di prodotto realizzabile é pari a 0 se il centro non viene attivato (ovvero se y j = 0) ed é pari a M j se il centro viene attivato (ovvero se y j = 1). Il vincolo sul massimo numero di prodotti realizzabili nel centro j é quindi rappresentato dalla seguente disequazione: m x ij M j y j. i=1 Per quanto riguarda i costi, avremo dei costi di trasporto dai centri di produzione j ai negozi i rappresentati dalla seguente espressione: m i=1 j=1 n c ij x ij. A questi dovremo aggiungere i costi fissi k j per i soli centri di produzione j attivati (per i quali cioé si ha y j = 1). Tali costi sono rappresentati dalla seguente espressione n k j y j. j=1 (Si noti che i centri di produzione non attivati, cioé con y j = 0, non portano alcun contributo a tali costi). I costi complessivi sarano dati dalla somma di costi di trasporto e costi fissi: m i=1 j=1 n c ij x ij + n k j y j. j=1 3

4 Tabella 1: N1 N2 N3 C C C C Quindi il modello del problema é il seguente: min m n i=1 j=1 c ijx ij + n j=1 k jy j n j=1 x ij = a i i = 1,..., m m i=1 x ij M j y j j = 1,..., n x ij 0, x ij I i = 1,..., m, j = 1,..., n y j {0, 1} j = 1,..., n Esempio 2 Si considerino 3 negozi N1, N2, N3 di elettrodomestici con richieste di lavatrici pari rispettivamente a 500, 700 e 800. Si considerino inoltre 4 centri di produzione C1, C2, C3, C4 con capacitá di produzione massima pari rispettivamente a 1500, 2000, 2500 e I costi per trasportare una singola lavatrice da un centro di produzione Cj ad un negozio Ni sono riportati in Tabella 1, mentre i costi fissi per i centri di produzione sono rispettivamente pari a 100, 150, 150 e 200. Il modello risultante é il seguente: min 2x 11 + x x x 14 + x x 22 3x x x x x x 34 tenuto conto che 100y y y y 4 x 11 + x 12 + x 13 + x 14 = 500 x 21 + x 22 + x 23 + x 24 = 700 x 31 + x 32 + x 33 + x 34 = 800 x 11 + x 21 + x y 1 x 12 + x 22 + x y 2 x 13 + x 23 + x y 3 x 14 + x 24 + x y 4 x ij 0, x ij I i = 1, 2, 3 j = 1, 2, 3, 4 y 1, y 2, y 3, y 4 {0, 1} 4

5 1.3 Uso delle variabili binarie per modellare vincoli logici Le variabili binarie vengono utilizzate per modellare decisioni del tipo fare o non fare una cosa, svolgere o non svolgere un attivitá. Data la variabile binaria x, ad essa si associa il valore 0 se si decide di non fare una cosa e il valore 1 se si decide di farla. Tali variabili vengono spesso utilizzate per modellare vincoli di tipo logico attraverso equazioni o disequazioni. Nel seguito verranno dati alcuni esempi di questo. Il vincolo logico se non svolgo l attivitá 1 allora non svolgo neppure l attivitá 2 puó essere espresso tramite il vincolo x 2 x 1 dove x 1 e x 2 sono ovviamente le variabili binarie associate rispettivamente alle attivitá 1 e 2. Il vincolo logico se svolgo l attivitá 3 allora svolgo almeno una tra le attivitá 4 e 5 puó essere espresso tramite il vincolo x 3 x 4 + x 5 Il vincolo logico se svolgo l attivitá 6 allora devo svolgere sia l attivitá 7 che l attivitá 8 puó essere espresso tramite il vincolo oppure attraverso la coppia di vincoli 2x 6 x 7 + x 8 x 6 x 7 x 6 x Relazione tra un problema lineare intero e il suo rilassamento lineare Si consideri un problema di Programmazione Lineare Intera (abbreviato con PLI nel seguito) in forma canonica: w = max c T x A T x b x 0, x I n dove ricordiamo che I denota l insieme degli interi. Si indicherá con Z a la regione ammissibile di questo problema, e quindi Z a = {x I n : A T x b, x 0}, e con Z ott l insieme delle sue soluzioni ottime: Z ott = {x Z a : c T x c T x x Z a }. 5

6 Chiameremo rilassamento lineare del problema di PLI, il problema di Programmzaione Lineare Ordinaria (abbreviato con PLO nel seguito) ottenuto dal problema di PLI omettendo la richiesta che le variabili siano intere, e quindi z = max c T x A T x b x 0 Esempio 3 Si consideri il seguente problema di PLI: max x 1 + x 2 x 1 + 2x 2 4 2x 1 + x 2 4 x 1, x 2 0, x 1, x 2 I. Si determinino per via grafica la soluzione del problema di PLI e del suo rilassamento lineare. Come al solito, indicheremo con S a e S ott rispettivamente la regione ammissibile e l insieme delle soluzioni ottime del problema di PLO. Possiamo notare che Z a S a e che i due problemi hanno la stessa funzione obiettivo c T x. Da ció conseguono le seguenti relazioni tra il problema di PLI e il problema di PLO suo rilassamento lineare. 1. Se S a =, allora Z a =. 2. Se l obiettivo del problema di PLI é illimitato, allora lo é anche quello del suo rilassamento lineare. 3. Se S ott e Z ott, allora il valore ottimo w del problema di PLI non puó essere superiore al valore ottimo z del suo rilassamento lineare, ovvero w z 4. Se S ott contiene un punto x a coordinate tutte intere, allora x Z ott e w = z, come accade nel seguente esempio max x 2 x 1 + 2x 2 4 2x 1 + x 2 4 x 1, x 2 0, x 1, x 2 I. 6

7 Altri casi possibili nelle relazioni tra un problema di PLI e il suo rilassamento lineare sono le seguenti. 1. Z a = ma S ott, come nel seguente esempio: max x 2 x x x 2 2 x 1, x 2 0, x 1, x 2 I. 2. Z a = ma l obiettivo del rilassamento lineare é illimitato, come nel seguente esempio: max x 2 x x x 1, x 2 0, x 1, x 2 I. 3. Se A, b e c contengono solo valori razionali, allora Z ott implica S ott. Se vi sono coefficienti irrazionali allora puó accadere che Z ott ma il rilassamento lineare ha obiettivo illimitato, come nel seguente esempio: max x 2 x 2 = 2x 1 x 1, x 2 0, x 1, x 2 I. dove Z a (e quindi Z ott ) contiene la sola origine, ma l obiettivo del rilassamento lineare é illimitato. Un importante osservazione é la seguente. I problemi di PLO sono in generale molto piú semplici da risolvere dei problemi di PLI 1. In particolare il rilassamento lineare di un problema di PLI é tipicamente molto piú facile da risolvere del problema di PLI stesso. Questa osservazione puó spingere a risolvere i problemi di PLI con la seguente procedura: risolvo il rilassamento lineare del problema di PLI; 1 Nella teoria della complessitá i problemi di PLO sono classificati tra quelli risolvibili in tempo polinomiale, mentre quelli di PLI sono verosimilmente solo risolvibili in tempo esponenziale 7

8 arrotondo le variabili nella soluzione ottima che non hanno valore intero ma decimale (se ne esistono: nel caso in cui non ne esistano la soluzione del rilassamento lineare é anche soluzione del problema di PLI). In realtá questa procedura rischia di restituire risultati molto inesatti. Ad esempio, in precedenza abbiamo visto un caso dove il rilassamento lineare ha soluzione ottima mentre il problema di PLI ha regione ammissibile vuota. In tal caso, applicando la procedura vista sopra, restituiremmo una soluzione ottima per un problema che non ha neppure una soluzione ammissibile. Va detto comunque che una procedura di questo tipo é accettabile quando si ha a che fare con variabili che assumono valori molto elevati. Se nella soluzione ottima del rilassamento lineare ho una variabile con valore pari a e la arrotondo a 20000, posso introdurre un errore ma essendo la parte decimale (0.4) quasi irrilevante rispetto al valore della variabile, tale errore é tipicamente trascurabile. Al contrario, con variabili intere che assumono valori piccoli, ad esempio 1.4, l arrotondamento a 1 del valore di tale variabile puó causare errori non trascurabili, come conseguenza del fatto che la parte decimale (0.4) non é affatto irrilevante rispetto al valore di 1.4. Questo é in particolare vero quando si ha a che fare con variabili binarie, con le quali la procedura vista sopra va certamente evitata. Restano allora da indicare procedure di risoluzione per i problemi di PLI applicabili in tutti i casi. Una di queste verrá vista nel seguito. 1.5 Algoritmi di taglio Per introdurre gli algoritmi di taglio dobbiamo prima introdurre il concetto di taglio valido per un problema di PLI. Sia dato un problema di PLI con il suo rilassamento lineare. Sia x una soluzione ottima del rilassamento lineare, che si suppone abbia almeno una coordinata non intera (se tutte le sue coordinate fossero intere allora x Z ott ). Definizione 1 Una disequazione w T x v si definisce taglio valido per il problema di PLI se non é soddisfatta da x ma é soddisfatta da tutti i punti nella regione ammissibile del problema di PLI, ovvero w T x > v w T x v x Z a Il concetto di taglio valido conduce alla definizione degli algoritmi di taglio. In essi si comincia risolvendo il rilassamento lineare del problema di PLI. Se questo ha soluzione a coordinate tutte intere, essa é soluzione anche del problema di PLI. Altrimenti si genera (in modi che vedremo in seguito) un taglio valido, si aggiunge questo taglio ai vincoli del rilassamento lineare e si risolve il problema di PLO ottenuto con questa aggiunta. Se la soluzione ottima ha coordinate tutte intere, essa é soluzione anche del problema di PLI. Altrimenti si genera un nuovo taglio valido, si aggiunge anche questo taglio ai vincoli del rilassamento 8

9 lineare e si risolve il problema di PLO ottenuto con questa ulteriore aggiunta. Si itera questa procedura fino a quando non si ottiene una soluzione intera. Dato il problema di PLI max c T x a T i x b i i = 1,..., m x j 0, x j I j = 1,..., n formalmente, lo schema di un algoritmo di taglio é il seguente. Inizializzazione Si risolva il rilassamento lineare max c T x a T i x b i x j 0 i = 1,..., m j = 1,..., n del problema di PLI. Se S a =, allora Z a =. Tralasceremo il caso di obiettivo illimitato del rilassamento lineare e quindi l unica altra possibilitá é che esista una soluzione ottima, indicata con x 1. Si ponga k = 1. Passo 1 Se x k ha coordinate tutte intere, allora si restituisca x k Z ott. Altrimenti si vada al Passo 2. Passo 2 Si generi un taglio valido w T k x v k che non sia soddisfatto da x k ma sia soddisfatto da tutti i punti in Z a, ovvero w T k x k > v k w T k x v k x Z a. Passo 3 Si aggiunga il nuovo taglio valido ai vincoli originari del problema e ai tagli validi generati in precedenza e si risolva il problema di PLO max c T x a T i x b i wr T x v r x j 0 i = 1,..., m r = 1,..., k j = 1,..., n Se tale problema ha regione ammissibile vuota possiamo concludere che Z a =. Altrimenti sia x k+1 la sua soluzione ottima. Passo 4 Si ponga k = k + 1 e si ritorni al Passo 1. Resta ancora da chiarire come si genera un taglio valido. Ci sono molti modi per generare tagli validi. Qui ne descriveremo un paio con alcune considerazioni sull efficienza. In entrambi i casi si richiede di compiere la seguente operazione, 9

10 fondamentale per il funzionamento della procedura, prima di iniziare a risolvere il problema: tutti i coefficienti e termini noti dei vincoli devono essere resi interi. Ad esempio, nel problema di PLI max x 1 + x 2 x x x 1, x 2 0, x 1, x 2 I. dovremo moltiplicare entrambi i vincoli per 2 in modo da rendere tutti i coefficienti e i termini noti interi, ottenendo quindi il problema: max x 1 + x 2 2x 1 3 2x 2 3 x 1, x 2 0, x 1, x 2 I. Questa trasformazione garantisce che le variabili u i che verranno associate a ciascun vincolo saranno anch esse vincolate ad assumere valori interi quando le x j assumono valori interi, la qual cosa non si puó garantire senza la trasformazione. Nell esempio verranno aggiunte ai due vincoli le variabili u 1 e u 2 nel modo seguente max x 1 + x 2 u 1 = 3 2x 1 u 2 = 3 2x 2 x 1, x 2, u 1, u 2 0, x 1, x 2, u 1, u 2 I. dove u 1, u 2 I non avrebbe potuto essere garantito senza la trasformazione. 1.6 Tagli di Dantzig Supponiamo di aver risolto il rilassamento lineare e di aver ottenuto con la base ottima {y 1,..., y n } la soluzione di base y j = 0 j = 1,..., n y n+i = β i i = 1,..., m a coordinate non tutte intere (ovvero almeno uno dei β i non é intero). Questo ci dice che fissando tutte le variabili in base a 0 non otteniamo una soluzione a coordinate intere. Quindi per entrare in Z a almeno una delle variabili in base 10

11 u 1 u 2 x 1-1/2 0 3/2 x 2 0-1/2 3/2 z -1/2-1/2 3 Tabella 2: deve avere valore positivo. Essendo tali variabili vincolate ad assumere valori interi, questo equivale a dire che almeno una delle variabili deve assumere valore 1, o, equivalentemente, che la somma delle variabili in base deve essere 1. Da ció possiamo scrivere il seguente taglio valido detto taglio di Dantzig. y y n 1. Vediamo di ricavare il taglio di Dantzig per il nostro esempio. Applicando l algoritmo del simplesso si arriva alla Tabella 2 che é la tabella ottima. La soluzione ottima x 1 = 3/2, x 2 = 3/2 del rilassamento lineare ha coordinate non intere. Quindi posso introdurre un taglio. In base a quanto visto il taglio di Dantzig si ottiene ponendo 1 le variabili in base, cioé u 1 + u 2 1. Possiamo anche esprimere questo vincolo nelle variabili originarie x 1 e x 2. Ricordando che u 1 = 3 2x 1 e u 2 = 3 2x 2 si ha che il vincolo equivale a: 2x 1 + 2x 2 5. Come controllo si verifichi che il taglio non é soddisfatto dalla soluzione ottima x 1 = 3/2, x 2 = 3/2 del rilassamento lineare ma é soddisfatto da tutti i punti in Z a. A questo punto l algoritmo di taglio prescrive di aggiungere il taglio ai vincoli precedenti e risolvere il problema ottenuto in questo modo. Per fare ció aggiungiamo una nuova variabile u 3 da associare al taglio, ponendo u 3 = u 1 + u 2 1. A questo punto abbiamo giá pronta la tabella relativa alla base {u 1, u 2 } del nuovo problema. Infatti sará sufficiente aggiungere alla Tabella 2 una riga relativa alla variabile u 3 come mostrato in Tabella 3. Si nota immediatamente che la base {u 1, u 2 } non é ammissibile (come deve essere perché sia tagliata la soluzione ottima del rilassamento lineare), ma l ultima riga continua ad avere valori negativi e quindi la base corrispondente del duale {x 1, x 2, u 3 } é ammissibile. Questo ci consente di utilizzare l algoritmo del simplesso duale. Applicando tale algoritmo si giunge alla Tabella 4 che é ottima. La soluzione ottima x 1 = 1, x 2 = 3/2 del nuovo problema ha una coordinata non intera. Quindi devo introdurre un nuovo taglio di Dantzig. In base a quanto visto il taglio di Dantzig si 11

12 u 1 u 2 x 1-1/2 0 3/2 x 2 0-1/2 3/2 u z -1/2-1/2 3 Tabella 3: u 3 u 2 x 1-1/2 1/2 1 x 2 0-1/2 3/2 u z -1/2 0 5/2 Tabella 4: ottiene ponendo 1 le variabili in base, cioé u 3 + u 2 1. Possiamo anche esprimere questo vincolo nelle variabili originarie x 1 e x 2. Ricordando che u 3 = u 1 + u 2 1, u 1 = 3 2x 1 e u 2 = 3 2x 2 si ha che il vincolo equivale a: 2x 1 + 4x 2 7. Come controllo si verifichi che il taglio non é soddisfatto dalla soluzione ottima x 1 = 1, x 2 = 3/2 del nuovo problema ma é soddisfatto da tutti i punti in Z a. A questo punto l algoritmo di taglio prescrive di aggiungere il taglio ai vincoli precedenti e risolvere il problema ottenuto in questo modo. Per fare ció aggiungiamo una nuova variabile u 4 da associare al taglio, ponendo u 4 = u 2 + u 3 1. A questo punto abbiamo giá pronta la tabella relativa alla base {u 2, u 3 } del nuovo problema. Infatti sará sufficiente aggiungere alla Tabella 4 una riga relativa alla variabile u 4 come mostrato in Tabella 5. Si nota immediatamente che la u 3 u 2 x 1-1/2 1/2 1 x 2 0-1/2 3/2 u u z -1/2 0 5/2 Tabella 5: 12

13 base {u 2, u 3 } non é ammissibile (come deve essere perché sia tagliata la soluzione ottima del problema), ma l ultima riga continua ad avere valori negativi e quindi la base corrispondente del duale {x 1, x 2, u 1, u 4 } é ammissibile. Questo ci consente di utilizzare l algoritmo del simplesso duale. La procedura viene ripetuta fino a quando si ottiene una soluzione a coordinate tutte intere. Ci si puó chiedere se possiamo garantire che l algoritmo di taglio che usa i tagli di Dantzig termina in un numero finito di iterazioni. La risposta é negativa. Si possono costruire esempi in cui anche aggiungendo infiniti tagli l algoritmo non restitusice mai una soluzione ottima del problema di PLI. Questo mostra come i tagli di Dantzig possano essere molto inefficienti. Ci si chiede allora se esistono tagli piú efficienti, per i quali é possibile garantire la restituzione di una soluzione ottima in un numero finito di iterazioni. Tagli di questo tipo sono i tagli di Gomory, che ci apprestiamo a descrivere. 1.7 Tagli di Gomory Supponiamo di essere giunti alla tabella ottima del rilassamento lineare relativa alla base {y 1,..., y n } e di avere che la soluzione di base corrispondente ha almeno una variabile fuori base con valore non intero. Sia y n+k una tale variabile e sia la seguente la riga relativa a y n+k nella tabella ottima: y n+k α k1 α k2 α kn β k con β k 0 e non intero. Si ricordi che il significato di tale riga é il seguente y n+k = α k1 y 1 + α k2 y α kn y n + β k. (1) Si consideri ora il seguente taglio, detto taglio di Gomory f k1 y 1 + f k2 y f kn y n f k 0 dove f kj, j = 1,..., n, é la mantissa di α kj, cioé f kj = α kj α kj 0 ( a rappresenta la parte intera di a ovvero il piú grande intero a), mentre f k é la mantissa di β k, cioé f k = β k β k > 0, dove f k > 0 é una conseguenza della non interezza di β k. Possiamo associare come di consueto a questo taglio una nuova variabile y n+m+1 nel modo seguente y n+m+1 = f k1 y 1 + f k2 y f kn y n f k (2) 13

14 ed il nostro taglio equivale a richiedere che si abbia y n+m+1 0. Vogliamo dimostrare la seguente osservazione. Osservazione 1 Il taglio di Gomory é un taglio valido. Dimostrazione Per prima cosa dimostriamo che la soluzione ottima del rilassemento lineare non soddisfa questo vincolo. Notiamo che per tale soluzione ottima si ha y 1 = = y n = 0 e quindi y n+m+1 = f k < 0. Quindi la soluzione ottima del rilassamento lineare non soddisfa, come desiderato, il nostro taglio. Resta da far vedere che il taglio é soddisfatto da ogni punto in Z a. Prendiamo un generico punto y 1,..., y n, y n+1,..., y n+m in Z a. Sostiuiamo le coordinate di tale punto in (1) e (2) ed otteniamo rispettivamente y n+k = α k1 y 1 + α k2 y α kn y n + β k. (3) y n+m+1 = f k1 y 1 + f k2 y f kn y n f k. (4) Ció che si vuole dimostrare é che il valore di y n+m+1 é 0 e cioé che la generica soluzione ammissibile in Z a y 1,..., y n, y n+1,..., y n+m (5) soddisfa il taglio. Per prima cosa dimostraimo che in corrispondenza di ogni punto (5) in Z a si ha che il valore di y n+m+1 é intero. Per dimostrare questo sommiamo (3) e (4). Ricordando la definizione delle f kj e di f k, la somma ha come risultato y n+m+1 = y n+k α k1 y 1 α k2 y 2 α kn y n + β k Questo mostra che in corrispondenza di ogni punto in Z a il valore y n+m+1 é un valore intero (le parti intere sono tutti valori interi e le variabili y j, j = 1,..., n; in Z a assumono valori interi). Da (4) abbiamo anche che y n+m+1 + f k = f }{{} k1 y }{{} f }{{} k2 0 y 2 }{{} f }{{} kn 0 y n }{{} 0 Questo ci dice che, in corrispondenza di ogni punto (5) di Z a, si ha che y n+m+1 + f k é 0 ed inoltre sappiamo che 0 < f k < 1 e in precedenza abbiamo dimostrato che y n+m+1 assume valori interi in corrispondenza di ogni punto di Z a. Ció. 14

15 u 1 u 2 x 1-1/2 0 3/2 x 2 0-1/2 3/2 u 5 1/2 0-1/2 z -1/2-1/2 3 Tabella 6: é possibile soltanto se y n+m+1 0 in corrispondenza di ogni punto di Z a, come si voleva dimostrare. Vediamo ora di applicare l algoritmo di taglio con i tagli di Gomory nell esempio visto in precedenza. Fino alla risoluzione del rilassamento lineare non ci sono differenze rispetto a quanto visto con i tagli di Dantzig. Quindi riprendiamo con la Tabella 2 ottima per il rilassamento lineare. Si nota che la soluzione ottima non ha coordinate tutte intere. Per generare un taglio di Gomory dobbiamo considerare una riga con un β k non intero. Per convenzione prendiamo la prima dall alto e quindi la riga relativa alla variabile x 1. Il taglio é definito come segue: ( ) u 1 + (0 0 )u 2 ( ) 0, cioé 1 2 u Ricordando la definizione di u 1 possiamo definire questo taglio in funzione delle variabili originarie, ottenendo x 1 1. Si puó verificare che il taglio non é soddisfatto dalla soluzione ottima x 1 = 3/2, x 2 = 3/2 del rilassamento lineare, ma é soddisfatto da tutti i punti di Z a. A questo punto l algoritmo di taglio prescrive di aggiungere il taglio ai vincoli precedenti e risolvere il problema ottenuto in questo modo. Per fare ció aggiungiamo una nuova variabile u 5 da associare al taglio, ponendo u 5 = 1 2 u A questo punto abbiamo giá pronta la tabella relativa alla base {u 1, u 2 } del nuovo problema. Infatti sará sufficiente aggiungere alla Tabella 2 una riga relativa alla variabile u 5 come mostrato in Tabella 6. Si nota immediatamente che la base {u 1, u 2 } non é ammissibile (come deve essere perché sia tagliata la soluzione ottima del rilassamento lineare), ma l ultima riga ha valori negativi e quindi la base corrispondente del duale {x 1, x 2, u 5 } é ammissibile. Questo ci consente di utilizzare l algoritmo del simplesso duale. Applicando tale algoritmo si ottiene la Tabella 7 che é ottima. Si nota che la soluzione ottima non ha coordinate 15

16 u 5 u 2 x x 2 0-1/2 3/2 u z -1-1/2 5/2 Tabella 7: u 5 u 2 x x 2 0-1/2 3/2 u u 6 0 1/2-1/2 z -1-1/2 5/2 Tabella 8: tutte intere (x 2 = 3/2). Per generare un taglio di Gomory prendiamo la prima riga dall alto con un β k non intero e quindi la riga relativa alla variabile x 2. Il taglio é definito come segue: (0 0 )u 5 + ( 1 2 ) ( 1 3 u ) 3 0, 2 cioé 1 2 u Ricordando la definizione di u 2 possiamo definire questo taglio in funzione delle variabili originarie, ottenendo x 2 1. Si puó verificare che il taglio non é soddisfatto dalla soluzione ottima x 1 = 1, x 2 = 3/2 del problema appena risolto, ma é soddisfatto da tutti i punti di Z a. A questo punto l algoritmo di taglio prescrive di aggiungere il taglio ai vincoli precedenti e risolvere il problema ottenuto in questo modo. Per fare ció aggiungiamo una nuova variabile u 6 da associare al taglio, ponendo u 6 = 1 2 u A questo punto abbiamo giá pronta la tabella relativa alla base {u 2, u 5 } del nuovo problema. Infatti sará sufficiente aggiungere alla Tabella 7 una riga relativa alla variabile u 6 come mostrato in Tabella 8. Si nota immediatamente che la base {u 2, u 5 } non é ammissibile (come deve essere perché sia tagliata la soluzione ottima del problema precedente), ma l ultima riga ha valori negativi e quindi la base corrispondente del duale {x 1, x 2, u 1, u 6 } é ammissibile. Questo ci 16

17 u 5 u 6 x x u u z Tabella 9: consente di utilizzare l algoritmo del simplesso duale. Applicando tale algoritmo si ottiene la Tabella 9 che é ottima. La soluzione ha coordinate tutte intere e quindi l algoritmo si arresta restituendo come soluzione ottima x 1 = 1 e x 2 = 1 con valore ottimo pari a 1. Ci si puó chiedere se siamo stati solo fortunati oppure con i tagli di Gomory l algoritmo di taglio termina sempre in un numero finito di iterazioni. Vale la seguente osservazione. Osservazione 2 Se ad ogni iterazione il taglio di Gomory viene realizzato a partire dalla prima riga dall alto con un β k non intero, allora l algoritmo termina in un numero finito di iterazioni. 17

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

A T x b x 0. che chiameremo problema primale, possiamo associare ad esso un altro problema di PL, detto problema duale, definito come segue.

A T x b x 0. che chiameremo problema primale, possiamo associare ad esso un altro problema di PL, detto problema duale, definito come segue. 1 Dualitá Dato un problema di PL in forma canonica max c T x A T x b x 0 che chiameremo problema primale, possiamo associare ad esso un altro problema di PL, detto problema duale, definito come segue min

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

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

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Figura 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

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 Intera: Piani di Taglio

Programmazione 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

Dettagli

Dualitá. Dualitá p. 1/4

Dualitá. Dualitá p. 1/4 Dualitá Dualitá p. 1/4 Dualitá p. 2/4 Dualitá Problema di PL in forma standard max cx Ax = b x 0 Chiamato problema primale. A questo associato un altro problema di PL, detto problema duale: min ub ua c

Dettagli

Branch and Bound. Branch and Bound p. 1/3

Branch and Bound. Branch and Bound p. 1/3 Branch and Bound Branch and Bound p. 1/3 Branch-and-bound Un esempio di problema di PLI: P 0 : max x 1 + 3x 2 (u 1 ) x 1 1 2 (u 2 ) 5x 1 + 3x 2 5 (u 3 ) x 1 + 7 5 x 2 13 2 x 1,x 2 0 x 1,x 2 I Branch and

Dettagli

Programmazione Matematica / A.A Soluzioni di alcuni esercizi

Programmazione Matematica / A.A Soluzioni di alcuni esercizi Programmazione Matematica / A.A. 7-8 Soluzioni di alcuni esercizi Esercizi - I. Aggiungiamo al problema una variabile v, e richiediamo che v soddisfi v n a ij x j b i. j= Fissato x, il minimo v che soddisfa

Dettagli

COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04

COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04 COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04 Esercizio 1 1)Dato il seguente problema di PL: max 2x 1 x 2 x 1 + x 2 2 x 1 + 2x 2 7 x 1 + x 2 1 x 1, x 2 0 trasformarlo in forma standard (2 punti) 2)

Dettagli

Ricerca Operativa. Ricerca Operativa p. 1/6

Ricerca Operativa. Ricerca Operativa p. 1/6 Ricerca Operativa Ricerca Operativa p. 1/6 Ricerca Operativa Disciplina basata sulla modellizzazione e la risoluzione tramite strumenti automatici di problemi di decisione complessi. In tali problemi la

Dettagli

Parte IV: Rafforzamento di formulazioni e algoritmo dei piani di taglio

Parte IV: Rafforzamento di formulazioni e algoritmo dei piani di taglio Parte IV: Rafforzamento di formulazioni e algoritmo dei piani di taglio Nozioni di geometria Definizione: Un vettore y R n è combinazione conica dei vettori { 1,, k } se esistono k coefficienti reali λ

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

PROGRAMMAZIONE LINEARE A NUMERI INTERI

PROGRAMMAZIONE LINEARE A NUMERI INTERI PROGRAMMAZIONE LINEARE A NUMERI INTERI N.B. Nei seguenti esercizi vengono utilizzate, salvo diversa indicazione, le seguenti notazioni: PLO programma lineare ordinario S a insieme delle soluzioni ammissibili

Dettagli

COMPITO DI RICERCA OPERATIVA. min 2x 1 x 2 + x 3 x 4 x 1 x 2 + x 3 + x 4 = 5 x 1 + x 2 + x 3 3. x 1, x 2, x 3, x 4, x 5 I

COMPITO DI RICERCA OPERATIVA. min 2x 1 x 2 + x 3 x 4 x 1 x 2 + x 3 + x 4 = 5 x 1 + x 2 + x 3 3. x 1, x 2, x 3, x 4, x 5 I COMPITO DI RICERCA OPERATIVA ESERCIZIO. (8 punti) Sia dato il seguente problema di PL: min x x + x x 4 x x + x + x 4 = 5 x + x + x x, x, x, x 4 0 Lo si trasformi in forma standard ( punto). Si determini

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 Matematica / A.A Soluzioni di alcuni esercizi

Programmazione Matematica / A.A Soluzioni di alcuni esercizi Programmazione Matematica / A.A. 8-9 Soluzioni di alcuni esercizi Esercizi - I 3. Aggiungiamo al problema una variabile v, e richiediamo che v soddisfi v n a ij x j b i. j= Fissato x, il minimo v che soddisfa

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

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 + x 3 x 1 x 2 + x 3 = 1 x 1 x 2 + x 4 = 1 x 2 + x 5 = 2. x 1, x 2, x 3, x 4 0

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 + x 3 x 1 x 2 + x 3 = 1 x 1 x 2 + x 4 = 1 x 2 + x 5 = 2. x 1, x 2, x 3, x 4 0 COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (7 punti) Sia dato il seguente problema di PL: max x 1 + x 2 + x 3 x 1 x 2 + x 3 = 1 x 1 x 2 + x 4 = 1 x 2 + x 5 = 2 x 1, x 2, x 3, x 4, x 5 0 Lo si risolva con

Dettagli

Algoritmi esatti. La teoria ci dice che per problemi difficili (come il

Algoritmi 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

Dettagli

Risoluzione di problemi di programmazione lineare tramite generazione di colonne

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

Dettagli

Il metodo del simplesso. Il metodo del simplesso p. 1/8

Il metodo del simplesso. Il metodo del simplesso p. 1/8 Il metodo del simplesso Il metodo del simplesso p. 1/8 Ipotesi iniziale Data la base B e la riformulazione rispetto a essa: max γ 0 + n m j=1 γ jx im+j x i1 = β 1 + n m j=1 α 1jx im+j x ik = β k + n m

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

Problema del trasporto

Problema del trasporto p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. p. 1/1 Problema del trasporto Supponiamo di avere m depositi in

Dettagli

Problema di flusso massimo

Problema di flusso massimo p. 1/5 Problema di flusso massimo Si consideri una rete, ovvero un grafo orientato G = (V,A). Attraverso tale rete si fa viaggiare quello che chiameremo genericamente un flusso di "prodotto". A seconda

Dettagli

Programmazione lineare

Programmazione lineare Capitolo 1 Programmazione lineare ESERCIZIO 1.1. Porre in forma canonica i seguenti programmi lineari. min 3x 1 + 4x 2 2x 3 x 1 + 2x 2 x 3 5 2x 1 + 4x 3 = 12 x 1 + x 2 + x 3 15 x 1, x 2 0, x 3 libera.

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

Programmazione Lineare Intera

Programmazione 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

Dettagli

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

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

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

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; p. 1/1 Branch-and-bound per KNAPSACK Rispetto

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

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

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

Dettagli

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 + x 2 1 x 1 + x 2 2. Lo si trasformi in forma standard e se ne determini una soluzione ottima.

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 + x 2 1 x 1 + x 2 2. Lo si trasformi in forma standard e se ne determini una soluzione ottima. COMPITO DI RICERCA OPERATIVA APPELLO DEL 06/07/05 ESERCIZIO 1. (5 punti) Sia dato il seguente problema di PL: max x 1 + x 2 x 1 + x 2 1 x 1 + x 2 2 x 1 0 x 2 0 Lo si trasformi in forma standard e se ne

Dettagli

Massimo flusso e matching

Massimo flusso e matching Capitolo Massimo flusso e matching. Problema del massimo matching. Nel problema del massimo matching è dato un grafo non orientato G(V, A); un matching in G è un insieme di archi M A tale che nessuna coppia

Dettagli

Dualitá in Programmazione Lineare e alcune conseguenze

Dualitá in Programmazione Lineare e alcune conseguenze Dualitá in Programmazione Lineare e alcune conseguenze Giacomo Zambelli 1 Dualitá per problemi in forma standard Si consideri il seguente problema di PL in forma standard: z = max c x Ax = b (1) ove A

Dettagli

TEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1.

TEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1. Prof. R. adei EORIA della DUALIÀ Una piccola introduzione R. adei 1 R. adei 2 EORIA DELLA DUALIA' Il concetto di dualità fu introdotto nel 1947 da Von Neumann, anche se il teorema della dualità fu formulato

Dettagli

RICERCA OPERATIVA. Tema d esame del 13/12/2005

RICERCA OPERATIVA. Tema d esame del 13/12/2005 RICERCA OPERATIVA Tema d esame del 13/12/2005 COGNOME: NOME: MATRICOLA: 1. Un associazione umanitaria ha raccolto 150.000 euro per inviare dei pacchetti regalo natalizi ai bambini di Haiti. Per l acquisto

Dettagli

COMPITO DI RICERCA OPERATIVA. max x 1 + 2x 2 + x 3 x 1 x 2 + x 3 = 1 2x 1 + 3x 2 + x 4 = 2

COMPITO DI RICERCA OPERATIVA. max x 1 + 2x 2 + x 3 x 1 x 2 + x 3 = 1 2x 1 + 3x 2 + x 4 = 2 COMPITO DI RICERCA OPERATIVA ESERCIZIO. (9 punti) Sia dato il seguente problema di PL: max x + 2x 2 + x 3 x x 2 + x 3 = 2x + 3x 2 + x 4 = 2 x, x 2, x 3, x 4 0 Si determini il duale del problema ( punto).

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 dvigo@deis.unibo.it rev.. ottobre Algoritmi generali per PLI Metodi esatti tradizionali (anni 6 oggi):

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla teoria della dualità in programmazione lineare

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla teoria della dualità in programmazione lineare Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla teoria della dualità in programmazione lineare L. De Giovanni G. Zambelli 1 Definizione del problema duale La teoria della dualità in programmazione

Dettagli

PROGRAMMAZIONE LINEARE E DUALITA'

PROGRAMMAZIONE LINEARE E DUALITA' PROGRAMMAZIONE LINEARE E DUALITA' 1) Dati i punti di R 2 (1, 2), (1, 4), (2, 3), (3, 5), (4, 1), (4, 2), (5, 5), (6, 2), (6, 5). Determinare graficamente: A - L'involucro convesso di tali punti. B - Quali

Dettagli

Algoritmi generali per PLI

Algoritmi generali per PLI Programmazione Lineare Intera: Parte II: Algoritmo Cutting Planes Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 3.1 ottobre 23 Algoritmi generali per PLI Metodi esatti tradizionali

Dettagli

COMPITO DI RICERCA OPERATIVA. max 8 5x 1 3x 2 x 3 = 1 + 4x 1 + x 2 x 4 = 1 x 1 + x 2 x 5 = 5 x 1 x 2

COMPITO DI RICERCA OPERATIVA. max 8 5x 1 3x 2 x 3 = 1 + 4x 1 + x 2 x 4 = 1 x 1 + x 2 x 5 = 5 x 1 x 2 COMPITO DI RICERCA OPERATIVA ESERCIZIO. (5 punti) Dato un problema di PL, la sua riformulazione rispetto alla base B = {x 3, x, x 5 } é la seguente: max 8 5x 3x x 3 = + x + x x = x + x x 5 = 5 x x Solo

Dettagli

Geometria della programmazione lineare

Geometria della programmazione lineare Geometria della programmazione lineare p. 1/39 Geometria della programmazione lineare Mariantonia Cotronei Facoltà di Ingegneria Università degli Studi Mediterranea di Reggio Calabria Geometria della programmazione

Dettagli

Università Ca Foscari Venezia

Università Ca Foscari Venezia Università Ca Foscari Venezia Dipartimento di Scienze Ambientali, Informatica e Statistica Giovanni Fasano Brevi NOTE sul Metodo del BRANCH & BOUND Università Ca Foscari Venezia, Dipartimento di Management,

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

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

Teoria della Programmazione Lineare. Teoria della Programmazione Lineare p. 1/8

Teoria della Programmazione Lineare. Teoria della Programmazione Lineare p. 1/8 Teoria della Programmazione Lineare Teoria della Programmazione Lineare p. 1/8 I problemi di PL in forma canonica In forma scalare: max n j=1 c jx j n j=1 a ijx j b i x j 0 i = 1,...,m j = 1,...,n Teoria

Dettagli

Il modello duale. Capitolo settimo. Introduzione

Il modello duale. Capitolo settimo. Introduzione Capitolo settimo Il modello duale Introduzione Il modello duale e la teoria della dualità assumono una grande importanza nella teoria della programmazione matematica. In questo testo i modelli primale

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

2.6 Calcolo degli equilibri di Nash

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

Dettagli

Ricerca Operativa. Programmazione Lineare. Università Mediterranea di Reggio Calabria Decisions Lab

Ricerca Operativa. Programmazione Lineare. Università Mediterranea di Reggio Calabria Decisions Lab Ricerca Operativa Programmazione Lineare Università Mediterranea di Reggio Calabria Decisions Lab Ottimizzazione In un problema di ottimizzazione si cerca di massimizzare o minimizzare una quantità specifica,

Dettagli

Prima prova Intermedia di Ricerca Operativa 2 COMPITO A Esercizio 1 (7 punti): LIFO

Prima prova Intermedia di Ricerca Operativa 2 COMPITO A Esercizio 1 (7 punti): LIFO Prima prova Intermedia di Ricerca Operativa 2 COMPITO A 13 novembre 2015 Nome e Cognome Matricola: Esercizio 1 (7 punti): Si consideri il seguente problema di programmazione lineare intera. max 32x 1 +

Dettagli

7.9 Il caso vincolato: vincoli di disuguaglianza

7.9 Il caso vincolato: vincoli di disuguaglianza 7.9 Il caso vincolato: vincoli di disuguaglianza Il problema con vincoli di disuguaglianza: g i (x) 0, i = 1,..., p, (51) o, in forma vettoriale: g(x) 0, può essere trattato basandosi largamente su quanto

Dettagli

Il metodo del simplesso. Il metodo del simplesso p. 1/127

Il metodo del simplesso. Il metodo del simplesso p. 1/127 Il metodo del simplesso Il metodo del simplesso p. 1/127 I problemi di PL in forma standard I problemi di PL in forma standard hanno la seguente formulazione: max cx a i x = b i x 0 i = 1,...,m o, equivalentemente,

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

5.4.5 Struttura dell algoritmo ed esempi

5.4.5 Struttura dell algoritmo ed esempi CAPITOLO 5. IL METODO DEL SIMPLESSO 6 5.4.5 Struttura dell algoritmo ed esempi Come abbiamo già ampiamente osservato, la fase II del metodo del simplesso, a partire da una soluzione di base ammissibile,

Dettagli

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; 1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione

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

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0 Soluzioni 4.-4. Fondamenti di Ricerca Operativa Prof. E. Amaldi Esercizi sulla Programmazione Lineare 4. Risoluzione grafica e forma standard. Si consideri il problema min x cx Ax b x dove x = (x, x )

Dettagli

Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso

Programmazione 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

Dettagli

COMPITO DI RICERCA OPERATIVA. max 3x 1 + 2x 2 x x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3

COMPITO DI RICERCA OPERATIVA. max 3x 1 + 2x 2 x x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3 COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (7 punti) Sia dato il seguente problema di PL: max 3x 1 + 2x 2 x 1 + 1 2 x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3 Lo si risolva con l algoritmo che si ritiene più opportuno

Dettagli

2. ALGORITMO DEL SIMPLESSO

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

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

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

RICERCA OPERATIVA. Tema d esame del 04/12/2008 (Simulazione 2) RICERCA OPERATIVA Tema d esame del 04/12/2008 (Simulazione 2) COGNOME: NOME: MATRICOLA: 1. Un azienda di telefonia mobile deve installare delle antenne per la copertura di sei zone sul territorio. Sono

Dettagli

Esame di Ricerca Operativa del 07/06/2019

Esame di Ricerca Operativa del 07/06/2019 Esame di Ricerca Operativa del 0/0/09 (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere il seguente problema di programmazione lineare applicando l algoritmo del simplesso duale: min y y

Dettagli

Esercizi di PLI. a cura di A. Agnetis. Risolvere il seguente problema di PLI con l algoritmo dei piani di Gomory:

Esercizi di PLI. a cura di A. Agnetis. Risolvere il seguente problema di PLI con l algoritmo dei piani di Gomory: Esercizi di PLI a cura di A. Agnetis Risolvere il seguente problema di PLI con l algoritmo dei piani di Gomory: max z = 40x + 24x 2 + 5x + 8x 4 8x + 6x 2 + 5x + 4x 4 22 x i 0 x i intero Si tratta di un

Dettagli

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g LEZIONE 3 3.. Matrici fortemente ridotte per righe. Nella precedente lezione abbiamo introdotto la nozione di soluzione di un sistema di equazioni lineari. In questa lezione ci poniamo il problema di descrivere

Dettagli

Ricerca Operativa A.A. 2017/2018

Ricerca Operativa A.A. 2017/2018 Ricerca Operativa A.A. 2017/2018 Esercizi su modelli di programmazione lineare intera - Soluzioni Nota Vengono fornite delle possibili soluzioni. Potrebbero esserci soluzioni alternative altrettanto valide.

Dettagli

( ) le colonne della matrice dei coefficienti, con. , risulta A 3 = A 1 + 4A 2 + 4A 5, A 4 = A 1 + A 2,

( ) le colonne della matrice dei coefficienti, con. , risulta A 3 = A 1 + 4A 2 + 4A 5, A 4 = A 1 + A 2, 1 Elementi di Analisi Matematica e Ricerca Operativa prova del 6 luglio 2016 1) Discutere il seguente problema di Programmazione Lineare: Trovare il massimo di p x 1, x 2, x 3, x 4 # x 2 + 4 x 3 + x 4

Dettagli

Rango di una matrice e teorema di Rouché-Capelli

Rango di una matrice e teorema di Rouché-Capelli Rango di una matrice e teorema di Rouché-Capelli Sappiamo che a una matrice m n, A, è associata l applicazione lineare L A : R n R m, L A (X) = AX, X R n. Definizione 1. Lo spazio nullo di A, N (A), è

Dettagli

Trasformazione di Problemi Non Lineari

Trasformazione di Problemi Non Lineari Capitolo 2 Trasformazione di Problemi Non Lineari 2.1 Trasformazione in problema di PL In questa sezione, verranno presentati tre classi di problemi di programmazione non lineare che, attraverso l uso

Dettagli

LEZIONE 12. v = α 1 v α n v n =

LEZIONE 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

Dettagli

La funzione esponenziale e logaritmica

La funzione esponenziale e logaritmica La funzione esponenziale e logaritmica Roberto Boggiani Versione 4. 8 aprile 24 Le potenze dei numeri reali. Potenza con esponente intero di un numero reale Diamo la seguente Definizione. Sia a R ed n

Dettagli

Tagli Split per Programmazione Lineare Intera Mista

Tagli Split per Programmazione Lineare Intera Mista Tagli Split per Programmazione Lineare Intera Mista Domenico Salvagnin 2011-05-29 1 Introduzione Consideriamo la regione ammissibile di un problema di programmazione lineare intera mista Ax + Gy = b (1.1)

Dettagli

La Rappresentazione dell Informazione

La Rappresentazione dell Informazione La Rappresentazione dell Informazione Maurizio Palesi Sommario In questo documento sarà trattato il modo in cui, in un calcolatore, vengono rappresentati i vari generi di informazione (testi, numeri interi,

Dettagli

Appunti sui Codici di Reed Muller. Giovanni Barbarino

Appunti sui Codici di Reed Muller. Giovanni Barbarino Appunti sui Codici di Reed Muller Giovanni Barbarino Capitolo 1 Codici di Reed-Muller I codici di Reed-Muller sono codici lineari su F q legati alle valutazioni dei polinomi sullo spazio affine. Per semplicità

Dettagli

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I Esercizio 1 Dati n oggetti ed un contenitore, ad ogni oggetto j (j = 1,, n) sono associati un peso p j ed un costo c j (con p j e c j interi positivi). Si

Dettagli

FONDAMENTI DI RICERCA OPERATIVA Prof. M.Trubian a.a. 2008/09 Prima prova in itinere: 25/11/08

FONDAMENTI DI RICERCA OPERATIVA Prof. M.Trubian a.a. 2008/09 Prima prova in itinere: 25/11/08 FONDAMENTI DI RICERCA OPERATIVA Prof. M.Trubian a.a. 2008/09 Prima prova in itinere: 25/11/08 Nome studente:... Matricola:...... Esercizio 3 4 5 6 Valore % 0.25 0.15 0.15 0.15 0.15 0.15 Valutazione A [1]

Dettagli

Il metodo del simplesso. Il metodo del simplesso p. 1/12

Il metodo del simplesso. Il metodo del simplesso p. 1/12 Il metodo del simplesso Il metodo del simplesso p. 1/12 I problemi di PL in forma standard I problemi di PL in forma standard hanno la seguente formulazione: max cx a i x = b i x 0 i = 1,...,m o, equivalentemente,

Dettagli

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04 COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04 Esercizio 1 Si risolva con il metodo branch-and-bound il seguente problema di PLI max x 1 + x 4x 1 + x + x = 0 x 1 + x + x 4 = x 1, x, x, x 4 0 x 1, x,

Dettagli

I sistemi lineari Prof. Walter Pugliese

I sistemi lineari Prof. Walter Pugliese I sistemi lineari Prof. Walter Pugliese Le equazioni lineari in due incognite Un equazione nelle incognite x e y del tipo #$ + &' = ) dove *,,, - sono numeri reali è un equazione lineare in due incognite

Dettagli

Programmazione Lineare

Programmazione Lineare Capitolo 1 Programmazione Lineare 1.1 Modelli di Programmazione Lineare La prima domanda da porsi riguarda gli scopi che si prefigge la Ricerca Operativa. Possiamo definirla come uno strumento per prendere

Dettagli

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound. Ricerca Operativa A.A. 2007/2008 17. Esercitazione di laboratorio: Branch and Bound. Luigi De Giovanni - Ricerca Operativa - 17. Esercitazione di laboratorio: Branch and Bound 17.1 . Luigi De Giovanni

Dettagli

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina Problemi di trasporto Consideriamo un problema di programmazione lineare con una struttura matematica particolare. Si può utilizzare, per risolverlo, il metodo del simplesso ma è possibile realizzare una

Dettagli

Condizioni di Karush-Kuhn-Tucker e Programmazione Lineare

Condizioni di Karush-Kuhn-Tucker e Programmazione Lineare Condizioni di Karush-Kuhn-Tucker e Programmazione Lineare A. Agnetis 1 Richiami su condizioni di Karush-Kuhn-Tucker e convessità Si consideri il problema di ottimizzazione vincolata: min f(x) (1) x X R

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

Insiemi ed applicazioni

Insiemi ed applicazioni Insiemi ed applicazioni Giovanna Carnovale October 11, 2011 1 Insiemi Con il termine insieme denoteremo una collezione di oggetti. Gli oggetti di questa collezione saranno chiamati elementi dell insieme.

Dettagli

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

RICERCA OPERATIVA. Tema d esame del 04/12/2008 (Simulazione 1) RICERCA OPERATIVA Tema d esame del 04/12/2008 (Simulazione 1) COGNOME: NOME: MATRICOLA: 1. Un azienda meccanica deve pianificare il lavoro delle sue tre macchine per un dato giorno. I lotti che è possibile

Dettagli

a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn mentre le variabili decisionali sono rappresentate dal vettore colonna n-dimensionale x,

a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn mentre le variabili decisionali sono rappresentate dal vettore colonna n-dimensionale x, Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Appunti dal corso di Metodi e Modelli di Ottimizzazione Discreta 1 A.A. 2018-2019 Prof. Sara Nicoloso A seconda del tipo di variabili che

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

Ricerca Operativa 2. Ricerca Operativa 2 p. 1/6

Ricerca Operativa 2. Ricerca Operativa 2 p. 1/6 Ricerca Operativa 2 Ricerca Operativa 2 p. 1/6 Introduzione In questo corso ci occuperemo di problemi di ottimizzazione. Ricerca Operativa 2 p. 2/6 Introduzione In questo corso ci occuperemo di problemi

Dettagli

1 Modelli di Programmazione Lineare

1 Modelli di Programmazione Lineare 1 Modelli di Programmazione Lineare La prima domanda da porsi riguarda gli scopi che si prefigge la Ricerca Operativa. Possiamo definirla come uno strumento per prendere delle decisioni che siano le migliori

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5

Algoritmi 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

Dettagli

4. METODI DUALI DEL SIMPLESSO

4. METODI DUALI DEL SIMPLESSO 4. MEODI DUALI DEL SIMPLESSO R. adei 1 Una piccola introduzione R. adei 2 MEODI DUALI DEL SIMPLESSO L obiettivo del capitolo è illustrare e giustificare i metodi duali del simplesso. Entrambi i metodi

Dettagli

RICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola: Secondo appello //0 RICERCA OPERATIVA (a.a. 0/) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x x x x x + x x x per via algebrica, mediante l algoritmo del Simplesso Primale a partire

Dettagli