La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Programmazione lineare: un esempio Mix produttivo ottimo con risorse vincolate Materiale di studio: M. Fischetti, Lezioni di RO, Cap. 3. Libreria Progetto.

Presentazioni simili


Presentazione sul tema: "Programmazione lineare: un esempio Mix produttivo ottimo con risorse vincolate Materiale di studio: M. Fischetti, Lezioni di RO, Cap. 3. Libreria Progetto."— Transcript della presentazione:

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 F.Hillier, G. Lieberman, Ricerca Operativa, 8 ed., McGraw-Hill, capitoli 3,4,5,6 Outline: Esempio toy (telefonini) Dal problema al modello matematico Rappresentazione geometrica  soluzione intuitiva Caratterizzazione geometrica del punto di ottimo Richiami di nozioni di algebra lineare Discretizzazione dell’insieme delle soluzioni candidate Programmazione convessa Building blocks dell’algoritmo

2 2 modelli in produzione Modello AModello B

3 Disponibilita’ limitata 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 Funzione obiettivo lineare Vincoli lineari Variabili continue (2) Si puo’ rappresentare in R 2

6 Rappresentazione geometrica della regione ammissibile F 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 xA0xA0 xB0xB0 a 5 : x A  9 a 6 : x A  10 a 4 : 2x A +3 x B  21 evidenziamo i punti di itersezione tra gli iperpiani (2 rette) La regione ammissibile e’ l’intersezione dei semispazi

7 Il gradiente della funzione obiettivo e le 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, 8] 3,3 cx=0 cx=16 cx=24 cx=32 cx=33 cx=34 cx = 40 Il punto di ottimo si trova all’intersezione di a 1 e a 3 con valore 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:  y  0 | c = y 1 a 1 +y 3 a 3 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 ] Le due direzioni ammissibili sulla frontiera hanno componente negativa rispetto al costo (non sono direzioni di miglioramento in un problema di massimo)

10 Condizione di ottimalità: c appartiene al cono generato dai gradienti dei vincoli (attivi) a 1 e a 3  y  R 2, y  0: c T = [3, 8] = 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 3 -1 c = = a1a3a1a3 = 1212 3 -1 -2 1 3838 vettori riga della matrice A gradienti dei vincoli L’unica soluzione del sistema si ottiene invertendo la sotto-matrice dei vincoli questa visione verrà ripresa quando parleremo di DUALITA’

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 sottoinsieme dei punti di intersezione dei vincoli. Di questi punti, alcuni si trovano al di fuori della regione ammissibile (politopo), gli altri sono sulla frontiera. I vertici sono quelli sulla frontiera (sono ammissibili)

12 L’intuizione geometrica suggerisce che: L’ottimo (se esiste finito) coincide con (almeno) un vertice del politopo I vertici sono i punti di intersezione dei vincoli che si trovano sulla frontiera del politopo. Non tutti i punti di intersezione dei vincoli si trovano sulla frontiera, ma possono anche essere al di fuori del politopo (non ammissibili) Possiamo definire delle condizioni di ottimalità in base alla geometria dei vettori (dei gradienti dei vincoli e della funzione obiettivo) 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 la programmazione lineare eredita tutte le proprietà

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 è convesso (la regione ammissibile definita dalle soluzioni di un sistema di funzioni convesse è convessa) Def: si dice problema di programmazione convessa il problema min { f(x) : x  X } se X  R n e’ convesso, f:X→R e’ convessa TH: Dato un problema di programmazione convessa, ogni punto di ottimo locale è 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 }  R n –iperpiano indotto da (a,a 0 ) l’insieme X={x  R n : ax=a 0 } di dimensione n-1 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 è 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 (una retta in R n ). Vertice (punto estremo): faccia di dimensione 0 (un punto in R n )

21 Facce, vertici e spigoli di un politopo

22 Si puo’ dimostrare che … Th di rappresentazione di Minkowski-Weyl: Un politopo P è esprimibile come combinazione convessa dei suoi vertici (+ la combinazione conica dei suoi raggi estremi per poliedri non limitati) Se P è limitato, allora esiste almeno un vertice di P che è soluzione ottima del problema di programmazione lineare min {cx : x  P} / max {cx : x  P}

23 Dimostrazione In base al Th di rappresentazione vale che P={ x  R n : x=  i=1..V i x i, con i  0 e  i=1..V i =1 } dove i punti x i sono i vertici del politopo P  R n. Nota che ogni vertice x j soddisfa x j =  i=1..V i x i con j =1 e i = 0  i  j Per assurdo, max {cx : x  P} sia x * un punto di ottimo del problema di PL max {cx : x  P} ma x * non sia un vertice Allora il vettore dei moltiplicatori  = [ 1,.., V ] tali per cui x * =  i=1..V i x i deve avere almeno due componenti >0. Per la linearità della funzione obiettivo cx * = c  i=1..V i x i =  i=1..V i (c x i ) Sia i + un indice (un vertice) per cui lo scalare c x i+  c x i  i  {1..V}, Si danno due casi, 1) se vale l’uguaglianza (c x i+ =c x i )  i tale che i >0, allora ciascun vertice con i >0 ha valore di funzione obiettivo pari a x * e quindi è anch’esso un punto di ottimo, confermando l’enunciato del teorema. 2) altrimenti, esiste almeno un indice i - con i- >0 tale per cui c x i+ > c x i- e quindi c x i+ > cx * contraddicendo l’ottimalità di x *.

24 In breve Poichè sia gli iperpiani che i semispazi sono insiemi convessi, anche un poliedro P è convesso, in quanto intersezione di insiemi convessi. Un politopo P è esprimibile come combinazione convessa dei suoi vertici La soluzione del problema min {cx : x  P} (max {cx : x  P}) se ha ottimo finito è riconducibile all’esame dei vertici del politopo P. Poichè le funzioni lineari sono speciali funzioni convesse, anche i problemi di programmazione lineare min {cx : x  P} / max {cx : x  P} sono problemi di programmazione convessa di cui ereditano le proprietà (ottimalità locale  ottimalità globale) è sufficiente l’ottimalità locale di un vertice per dimostrarne l’ottimalità globale

25 algoritmo Per implementare un algoritmo occorre fornire – una caratterizzazione algebrica dei vertici del politopo – delle condizioni di ottimalità per certificare di avere determinato una soluzione ottima – una regola per spostarsi dal vertice corrente a un vertice (adiacente) con miglior valore della funzione obiettivo (una mossa) se le condizioni di ottimalità non sono soddisfatte –un test per verificare che esista un ottimo finito


Scaricare ppt "Programmazione lineare: un esempio Mix produttivo ottimo con risorse vincolate Materiale di studio: M. Fischetti, Lezioni di RO, Cap. 3. Libreria Progetto."

Presentazioni simili


Annunci Google