Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoGiacomo Palmieri Modificato 9 anni fa
1
programmazione lineare: un esempio Mix produttivo ottimo con risorse vincolate Materiale di studio: M. Fischetti, Lezioni di RO, Cap. 3. Libreria Progetto PD D. Bertsimas, Introduction to linear optimization, Cap 2. MIT Athena Scientific
2
2 modelli in produzione Modello AModello B
3
Disponibilita’ dei componenti 10 MODULI DISPLAY 18 MODULI di MEMORIA 12 MODULI di TRASMISSIONE 21 TASTIERINE 9 TASTIERE di NAVIGAZIONE 10 MICROCAMERE
4
Utilizzo dei componenti Modello A 1 2 1 2 1 3 Modello B 2 - 3 2 - 8 Componenti Display Tast navigazione Tastiere a 6 tasti Trasmissione Memoria MicroCamera GUADAGNO
5
Modello di PL Max 3 x A + 8 x B : x A + 2 x B 10a 1 2 x A + 2 x B 18a 2 x A + 3 x B 12a 3 2 x A + 3 x B 21a 4 x A 9a 5 x A 10a 6 x A, x B 0 In forma matriciale compatta Max cx: Ax b x 0
6
Rappresentazione geometrica della regione ammissibile xAxA xBxB 1 2 3 4 5 0 12 34567 89 a 1 : x A +2 x B 10 a 3 : x A +3 x B 12 a 2 : 2x A +2x B 18 10 xA0xA0 xB0xB0 a 5 : x A 9 a 6 : x A 10 a 4 : 2x A +3 x B 21
7
Curve di iso-costo xAxA xBxB 1 2 3 4 5 0 12 34567 89 A 1 : x A +2 x B 10 A 3 : x A +3 x B 12 A 2 : 2x A +2x B 18 10 c 3,3 cx=0 cx=16 cx=24 cx=32 cx=33 cx=34
8
Gradiente: vettore ortogonale all’iperpiano tangente alla curva di livello (se la funzione c(x) e’ lineare coincide con il vettore dei coefficienti non dipende dal punto in cui viene calcolato). Curva di isocosto: insieme dei punti che hanno lo stesso valore della funzione obiettivo (se la funzione c(x) e’ lineare, la curva di isocosto e’ un iperpiano)
9
Condizione di ottimo: c = y 1 a 1 +y 3 a 3, y 0 xAxA xBxB 1 2 3 4 5 0 12 34567 89 a 1 : x A +2 x B 10 a 3 : x A +3 x B 12 10 C = [ 3, 8 ]
10
Condizione di ottimalita’: c appartiene al cono generato dai gradienti dei vincoli (attivi) a 1 e a 3 y R 2, y 0, tale che c T = y T dove a 1 =[1, 2], a 3 =[1,3] y risolve il sistema 1 1 y 1 3 con y 0 2 3 y 2 8 y = a 1 a 2 -1 c = = a1a3a1a3 = 1212 3 -1 -2 1 3838 vettori riga della matrice A L’unica soluzione del sistema si ottiene invertendo la sotto-matrice dei vincoli
11
Vertici (punti estremi) del politopo xAxA xBxB 1 2 3 4 5 0 12 34567 89 a 1 : x A +2 x B 10 a 3 : x A +3 x B 12 a 2 : 2x A +2x B 18 10 (0,0) (0,4) (0,5) (6,3) (6,2) (8,1) (9,1) 0 (9,0) (9,½) (7.5, 1.5) Sono un sottonsieme dei punti di intersezione dei vincoli, alcuni dei quali si trovano al di fuori della regione ammissibile (politopo)
12
Idee base dell’algoritmo L’ottimo (se esiste finito) coincide con (almeno) un vertice del politopo Possiamo definire delle condizioni di ottimalita’ in base alla geometria dei vettori Per implementare un algoritmo dobbiamo fornire una descrizione algebrica dei vertici. Abbiamo osservato che siano i punti di intersezione dei vincoli che si trovano sulla frontiera del politopo. Forniamo un supporto teorico a queste intuizioni Prima occorre fare alcuni richiami per contestualizzare la programmazione lineare come caso particolare della programmazione convessa, di cui eredita tutte le proprieta’
13
Combinazione convessa di due punti x, y z= x + (1- )y, con [0,..1] combinazione convessa stretta per (0,..,1) Programmazione convessa Programmazione convessa richiami di
14
Generalizzando a n punti Dati k punti x 1,..,x k R n, il punto z in R n e’ combinazione convessa di x 1,..,x k se esistono k scalari 0, 1,.., k tali che i=1,k i x i = z
15
Altri tipi di combinazioni Combinazione affine ( + , R) Combinazione conica ( , 0, in R) Combinazione lineare ( , R)
16
Un insieme si dice convesso se contiene tutte le combinazioni convesse dei propri punti x y x y di insiemi convessi e’ convessa
17
Una funzione f:X→R si dice convessa se x,y X, [0,1], chiamando z = x + (1- )y la combinazione convessa di x e y, allora f (z) f(x) +(1- ) f(y) Le funzioni lineari sono funzioni convesse x z y f(y) f(x) f(z) f(x) + (1- )f(y)
18
risultati TH: Sia X = {x R n : g i (x) 0, i=1,..,m} e g i (x) sia convessa i, allora l’insieme X e’ convesso (la regione ammissibile definita dalle soluzioni di un sistema di funzioni convesse e’ convessa) Def: problema di programmazione convessa min {f(x) : x X} dove X R n e’ convesso, f:X→R e’ convessa TH: Dato un problema di programmazione convessa, ogni punto di ottimo locale e’ un punto di ottimo globale
19
Dato un vettore a R n e uno scalare a 0 R, si dice –semispazio affine indotto da (a,a 0 ) l’insieme X={x R n : ax a 0 } –iperpiano indotto da (a,a 0 ) l’insieme X={x R n : ax=a 0 } Poliedro P R n : di semispazi e iperpiani (politopo se limitato) Un punto x P si dice vertice o punto estremo di P se non e’ esprimibile come combinazione convessa stretta di nessuna coppia di punti di P. Richiami di algebra lineare
20
Faccia: HP P dove HP e’ un iperpiano tangente a P e P R n. Faccetta: faccia di dimensione n-1. Spigolo (lato): faccia di dimensione 1. Vertice (punto estremo): faccia di dimensione 0
21
Facce, vertici e spigoli di un politopo
22
Si puo’ dimostrare che … Th di Minkowski-Weyl: Un politopo P e’ esprimibile come combinazione convessa dei suoi vertici (+ la combinazione conica dei suoi raggi estremi per poliedri non limitati) Se P e’ limitato, allora esiste almeno un vertice di P che e’ soluzione ottima del problema di programmazione lineare min {cx : x P} / max {cx : x P}
23
In breve P e’ un insieme convesso, esprimibile come combinazione convessa dei suoi vertici Th: il problema min {cx : x P} ha ottimo (se esiste finito) su di un vertice Th: e’ sufficiente l’ottimalita’ locale del punto per dimostrarne l’ottimalita’ globale
24
algoritmo Per implementare un algoritmo occorre fornire – una caratterizzazione algebrica dei vertici del politopo – delle condizioni di ottimalita’ per certificare di avere determinato una soluzione ottima – una regola per spostarsi su un vertice (adiacente) con miglior valore della funzione obiettivo (una mossa) se le condizioni di ottimalita’ non sono soddisfatte –un test per verificare che esista un ottimo finito
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.