1 Programmazione Lineare Intera
|
|
- Chiara Ferrara
- 6 anni fa
- Visualizzazioni
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 Problema di PLI in forma standard: max cx Ax = b x 0, x I n I insieme degli interi. Regione ammissibile:
DettagliA 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
DettagliPossibile applicazione
p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile
Dettagli1 Il metodo dei tagli di Gomory
Il metodo dei tagli di Gomory Esercizio Sia dato il problema min(x x ) x + x (P 0 ) x + x x, x 0, interi. Calcolare la soluzione ottima applicando il metodo dei tagli di Gomory. Risoluzione Per applicare
DettagliFigura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.
ESERCIZIO 1 Sia dato il grafo orientato in Figura 1. Si consideri il problema di flusso a 1 2 4 Figura 1: costo minimo su tale grafo con b 1 = 4 b 2 = 2 b = b 4 = e c 12 = 2 c 1 = 4 c 14 = 1 c 2 = 1 c
DettagliMetodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities
Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities L. De Giovanni M. Di Summa In questa lezione introdurremo una classe di disuguaglianze, dette cover inequalities, che permettono di
DettagliProgrammazione Lineare Intera: Piani di Taglio
Programmazione Lineare Intera: Piani di Taglio Andrea Scozzari a.a. 2014-2015 April 22, 2015 Andrea Scozzari (a.a. 2014-2015) Programmazione Lineare Intera: Piani di Taglio April 22, 2015 1 / 23 Programmazione
DettagliDualitá. 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
DettagliBranch 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
DettagliProgrammazione 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
DettagliCOMPITO 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)
DettagliRicerca 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
DettagliParte 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 λ
DettagliIl Branch & Bound. Definizione 1. Sia S R n. La famiglia S = {S 1, S 2,..., S k S} tale che S 1 S 2 S k = S viene detta suddivisione di S.
Il Branch & Bound Il metodo Branch & Bound è una tecnica che permette di risolvere all ottimo un generico problema di Programmazione Lineare Intera. Tale metodo si basa su due concetti cardine: quello
DettagliPROGRAMMAZIONE 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
DettagliCOMPITO 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
Dettagli5.3 Metodo dei piani di taglio
5.3 Metodo dei piani di taglio (PLI) min s.v. c T x Ax b x interi X Ipotesi: a ij, c j e b i interi Osservazione: La regione ammissibile di un PLI può essere descritta mediante dei vincoli più o meno stringenti
DettagliProgrammazione 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
DettagliIntroduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard
Introduzione al Metodo del Simplesso Giacomo Zambelli 1 Soluzioni di base e problemi in forma standard Consideriamo il seguente problema di programmazione lineare (PL), relativo all esempio di produzione
DettagliCOMPITO 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
DettagliAlgoritmi esatti. La teoria ci dice che per problemi difficili (come il
p. 1/4 Algoritmi esatti La teoria ci dice che per problemi difficili (come il KNAPSACK o, ancora di più, il TSP ) i tempi di risoluzione delle istanze, calcolati tramite analisi worst-case, tendono a crescere
DettagliRisoluzione di problemi di programmazione lineare tramite generazione di colonne
Risoluzione di problemi di programmazione lineare tramite generazione di colonne A. Agnetis 1 Introduzione In alcune applicazioni, un problema può essere formulato in termini di programmazione lineare,
DettagliIl 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
Dettagli3.6 Metodi basati sui piani di taglio
3.6 Metodi basati sui piani di taglio Problema generale di Programmazione Lineare Intera (PLI) con A matrice m n e b vettore n 1 razionali min{ c t x : x X = {x Z n + : Ax b} } Sappiamo che esiste una
DettagliProblema 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
DettagliProblema 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
DettagliProgrammazione 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.
DettagliEsercizi sulla Programmazione Lineare Intera
Soluzioni 4.7-4.0 Fondamenti di Ricerca Operativa Prof. E. Amaldi Esercizi sulla Programmazione Lineare Intera 4.7 Algoritmo del Simplesso Duale. Risolvere con l algoritmo del simplesso duale il seguente
DettagliProgrammazione Lineare Intera
Programmazione Lineare Intera Andrea Scozzari a.a. 2012-2013 May 10, 2013 Andrea Scozzari (a.a. 2012-2013) Programmazione Lineare Intera May 10, 2013 1 / 16 Programmazione Lineare Intera: Metodo dei Piani
DettagliCOMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 2x 2 + x 3 = 4 x 1 x 2 x 3 = 3 x 2 + 2x 3 = 1 x 1, x 2, x 3 0
COMPITO DI RICERCA OPERATIVA ESERCIZIO. (5 punti) Sia dato il seguente problema di PL: max x + x 2 x 2x 2 + x 3 = 4 x x 2 x 3 = 3 x 2 + 2x 3 = x, x 2, x 3 0 Utilizzando il metodo due fasi, si stablisca
DettagliCOMPITO DI RICERCA OPERATIVA. max 5 2x 1 + 3x 2 x 3 = 2 + x 1 5x 2 x 4 = 5 + x 2. x 5 = 1 + x 1 x 2
COMPITO DI RICERCA OPERATIVA ESERCIZIO. ( punti) La riformulazione di un problema di PL rispetto alla base B = {x, x, x } è la seguente: max 2x + x 2 x = 2 + x x 2 x = + x 2 x = 2 + x + x 2 x, x 2, x,
DettagliBranch-and-bound per KNAPSACK
p. 1/1 Branch-and-bound per KNAPSACK Rispetto allo schema generale visto in precedenza dobbiamo specificare: come si calcola un upper bound su un sottinsieme; come si effettua il branching; come si individuano
DettagliBranch-and-bound per KNAPSACK
p. 1/1 Branch-and-bound per KNAPSACK Rispetto allo schema generale visto in precedenza dobbiamo specificare: come si calcola un upper bound su un sottinsieme; p. 1/1 Branch-and-bound per KNAPSACK Rispetto
Dettagli5.5 Metodi dei piani di taglio
5.5 Metodi dei piani di taglio Problema generale di Programmazione Lineare Intera (PLI) max{c t x : x X} dove X = {x Z n + : Ax b}, con A matrice m n e b vettore n 1 razionali Proposizione: conv(x) = {x
DettagliCOMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3.
COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 x 1 + x 2 2 2x 1 + x 2 x 1 0 x 2 0 Si trasformi questo problema in forma standard e lo si
DettagliCOMPITO 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
DettagliMassimo 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
DettagliDualitá 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
DettagliTEORIA 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
DettagliRICERCA 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
DettagliCOMPITO 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).
DettagliAlgoritmi generali per PLI
Programmazione Lineare Intera: II Algoritmo Cutting Planes Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev.. ottobre Algoritmi generali per PLI Metodi esatti tradizionali (anni 6 oggi):
DettagliMetodi 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
DettagliPROGRAMMAZIONE 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
DettagliAlgoritmi 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
DettagliCOMPITO 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
DettagliGeometria 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
DettagliUniversità 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,
DettagliTecniche 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)
Dettagli3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI
3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:
DettagliTeoria 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
DettagliIl 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
DettagliIl metodo dei Piani di Taglio (Cutting Planes Method)
Il metodo dei Piani di Taglio (Cutting Planes Method) E un metodo di soluzione dei problemi (IP) di tipo generale. L idea di base: Se la soluzione di (RL) non è intera allora la soluzione ottima intera
Dettagli2.6 Calcolo degli equilibri di Nash
92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito
DettagliRicerca 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,
DettagliPrima 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 +
Dettagli7.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
DettagliIl 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,
DettagliContenuto e scopo presentazione. Modelli Lineari Interi/Misti. Piani di taglio. Piani di taglio. Piani di taglio Versione 31/08/
Contenuto e scopo presentazione Contenuto: viene presentato un altro metodo di soluzione di problemi di ILP o di MILP. Modelli Lineari Interi/Misti Piani di taglio Versione /8/. Scopo: fornire le capacità
Dettagli5.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,
Dettagli1) 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
DettagliFormulazioni. 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.
DettagliRicerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015
1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)
DettagliEsercizi 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 )
DettagliProgrammazione Matematica: VI Estensioni dell algoritmo del Simplesso
Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 1.0 Aprile 2004 Algoritmo del Simplesso L algoritmo del Simplesso
DettagliCOMPITO DI RICERCA OPERATIVA. max 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
Dettagli2. ALGORITMO DEL SIMPLESSO
. ALGORITMO DEL SIMPLESSO R. Tadei Una piccola introduzione R. Tadei SIMPLESSO L obiettivo del capitolo è quello di fornire un algoritmo, l algoritmo del simplesso, che risolve qualsiasi problema di programmazione
DettagliIl 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
DettagliRICERCA 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
DettagliEsame 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
DettagliEsercizi 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
DettagliLEZIONE 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
DettagliRicerca 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,
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
DettagliRango 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), è
DettagliTrasformazione 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
DettagliLEZIONE 12. v = α 1 v α n v n =
LEZIONE 12 12.1. Combinazioni lineari. Definizione 12.1.1. Sia V uno spazio vettoriale su k = R, C e v 1,..., v n V vettori fissati. Un vettore v V si dice combinazione lineare di v 1,..., v n se esistono
DettagliLa 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
DettagliTagli 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)
DettagliLa 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,
DettagliAppunti 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à
DettagliALGORITMI 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
DettagliFONDAMENTI 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]
DettagliIl 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,
DettagliCOMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04
COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04 Esercizio 1 Si risolva con il metodo branch-and-bound il seguente problema di PLI max x 1 + x 4x 1 + x + x = 0 x 1 + x + x 4 = x 1, x, x, x 4 0 x 1, x,
DettagliI 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
DettagliProgrammazione 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
DettagliRicerca 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
DettagliProgrammazione 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
DettagliCondizioni 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
DettagliMetodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)
Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema
DettagliInsiemi 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.
DettagliRICERCA 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
Dettaglia 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
DettagliLa dualità nella Programmazione Lineare
Capitolo 3 La dualità nella Programmazione Lineare 3.1 Teoria della dualità Esercizio 3.1.1 Scrivere il problema duale del seguente problema di Programmazione Lineare: min x 1 x 2 + x 3 2x 1 +3x 2 3 x
DettagliRicerca 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
Dettagli1 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
DettagliAlgoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5
Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 5 In questa lezione inizieremo a studiare gli algoritmi di approssimazione per problemi di ottimizzazione NP-hard
Dettagli4. METODI DUALI DEL SIMPLESSO
4. MEODI DUALI DEL SIMPLESSO R. adei 1 Una piccola introduzione R. adei 2 MEODI DUALI DEL SIMPLESSO L obiettivo del capitolo è illustrare e giustificare i metodi duali del simplesso. Entrambi i metodi
DettagliRICERCA 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