Programmazione Lineare Andrea Scozzari a.a. 2013-2014 March 11, 2014 Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 1 / 16 Concetti di base Problema di Massimo nella sua forma generale: max n P cj xj Problema di Minimo nella sua forma generale: min j=1 n P cj xj j=1 aij xj ≤ bi i = 1, 2, . . . , m j=1 xj ≥ 0 n P n P aij xj ≥ bi i = 1, 2, . . . , m j=1 j = 1, 2, . . . , n Andrea Scozzari (a.a. 2013-2014) xj ≥ 0 Programmazione Lineare j = 1, 2, . . . , n March 11, 2014 2 / 16 Concetti di base 1. soluzione ammissibile una n-pla di numeri reali (x1 , x2 , . . . , xn ) che soddisfa tutti i vincoli del problema 2. regione ammissibile l’insieme di tutte le soluzioni ammissibili Dato un problema di PL il passo successivo consiste nell’individuare la soluzione ottima del problema Definizione Una soluzione ammissibile (x1∗ , x2∗ , . . . , xn∗ ) `e una soluzione ottima del problema di PL se per ogni altra n-pla (x1 , x2 , . . . , xn ) nella regione ammissibile si ha c1 x1∗ +c2 x2∗ +. . .+cn xn∗ ≥ c1 x1 +c2 x2 +. . .+cn xn problema di massimo c1 x1∗ + c2 x2∗ + . . . + cn xn∗ ≤ c1 x1 + c2 x2 + . . . + cn xn problema di minimo Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 3 / 16 Metodo del Simplesso Il metodo prevede che il problema di PL sia strutturato in modo particolare ossia lavorando con un sistema di equazioni e introducendo delle variabili artificiali non negative s1 , s2 , . . . , sm per ciascuna disequazione del sistema di vincoli del problema si = bi − n X aij xj i = 1, 2, . . . , m problema di massimo aij xj − bi i = 1, 2, . . . , m problema di minimo j=1 si = n X j=1 Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 4 / 16 Metodo del Simplesso Problema di Massimo: max n P Problema di Minimo: cj xj min j=1 n P cj xj j=1 aij xj + si = bi i = 1, 2, . . . , m j=1 xj ≥ 0 si ≥ 0 n P n P aij xj − si = bi i = 1, 2, . . . , m j=1 j = 1, 2, . . . , n i = 1, 2, . . . , m Andrea Scozzari (a.a. 2013-2014) xj ≥ 0 si ≥ 0 Programmazione Lineare j = 1, 2, . . . , n i = 1, 2, . . . , m March 11, 2014 5 / 16 Metodo del Simplesso Un problema di PL `e in forma standard se valgono le seguenti condizioni: ` un problema di massimo 1. E 2. Tutte le variabili sono soggette a vincoli di non negativit`a 3. Tutti i vincoli sono equazioni 4. Tutti i termini noti sono maggiori o uguali a zero Nota: ogni problema arbitrario di PL pu essere ricondotto nella forma standard! Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 6 / 16 Metodo del Simplesso Un problema di PL in forma standard pu` o essere riscritto in una maniera pi` u compatta nel modo seguente: Problema di Massimo: max n P cj xj j=1 n P aij xj + si = bi i = 1, 2, . . . , m j=1 xj ≥ 0 si ≥ 0 j = 1, 2, . . . , n i = 1, 2, . . . , m Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 7 / 16 Metodo del Simplesso Un problema di PL in forma standard pu` o essere riscritto in una maniera pi` u compatta nel modo seguente: Problema di Massimo: Forma matriciale: max n P cj xj max c 0 x j=1 n P aij xj + si = bi i = 1, 2, . . . , m j=1 xj ≥ 0 si ≥ 0 Ax = b x ≥0 j = 1, 2, . . . , n i = 1, 2, . . . , m Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 7 / 16 Metodo del Simplesso in un problema in forma standard si ha 1. A `e una matrice le cui colonne fanno riferimento alle variabili del problema e le righe ai vincoli del sistema di equazioni 2. x vettore delle variabili (non negative) del problema 3. b vettore dei termini noti del sistema 4. c vettore dei coefficienti delle variabili nella funzione obiettivo max c 0 x (1) Ax = b x ≥0 A ∈ Rm×n , rango(A) = m ≤ n Andrea Scozzari (a.a. 2013-2014) x ∈ Rn Programmazione Lineare b ∈ Rm c ∈ Rn March 11, 2014 8 / 16 Metodo del Simplesso Problema di Massimo: max n P cj xj j=1 n P aij xj + si = bi i = 1, 2, . . . , m j=1 xj ≥ 0 si ≥ 0 j = 1, 2, . . . , n i = 1, 2, . . . , m Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 9 / 16 Metodo del Simplesso Problema di Massimo: max n P Chiamiamo xs = (xn+1 , xn+2 , . . . , xn+2 ) le variabili ausiliarie; il sistema di equazioni pu` o riscriversi: cj xj j=1 n P ¯ = [A, I ](x, xs )0 = b A aij xj + si = bi i = 1, 2, . . . , m j=1 xj ≥ 0 si ≥ 0 j = 1, 2, . . . , n i = 1, 2, . . . , m Andrea Scozzari (a.a. 2013-2014) (2) (x, xs ) ≥ 0 Programmazione Lineare March 11, 2014 9 / 16 Metodo del Simplesso Ci sono molti modi per risolvere il sistema (2). Ad esempio si pu`o porre 1. x = 0 2. xs = b Pi` u generalmente si potrebbe effettuare una partizione della matrice ¯ = [A, I ] tale che A ¯ = [A, I ] = [B, N] A Di conseguenza otteniamo una partizione del vettore delle variabili (x, xs ) = (xB , xN ) Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 10 / 16 Metodo del Simplesso Il metodo del simplesso genera iterativamente una sequenza si sistemi equivalenti in cui ad ogni iterazione si cerca di modificare e ”migliorare” la soluzione corrente modificandola il meno possibile, perseguendo cio`e una strategia conservatrice. Definizione Sia A ∈ Rm×n la matrice dei coefficienti di un problema di PL in forma standard (1) e supponiamo che m ≤ n e rango(A) = m. Sia {a1 , a2 , . . . , an } l’insieme delle sue colonne. Una sottomatrice B = (aj1 , . . . , ajm ) ∈ Rm×m di A non singolare `e detta matrice di base di A. Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 11 / 16 Metodo del Simplesso Definizione Data una matrice di base B = (aj1 , . . . , ajm ) ∈ Rm×m di A ∈ Rm×n : 1. la matrice N = (ajm+1 , . . . , ajn ) ∈ Rm×(n−m) `e detta matrice non di base 2. l’insieme {j1 , j2 , . . . , jm } ⊂ {1, . . . , n} viene detto insieme degli indici di base; 3. l’insieme {jm+1 , jm+2 , . . . , jn } ⊂ {1, . . . , n} viene detto insieme degli indici fuori base; 4. xB `e il vettore delle variabili basiche 5. xN `e il vettore delle variabili non basiche Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 12 / 16 Metodo del Simplesso A seguito di una partizione degli indici delle colonne della matrice dei coefficienti del sistema (2), possiamo riscrivere (2) BxB + NxN = b Dato che B `e una matrice di base ed `e non singolare, il sistema diventa xB + B −1 NxN = B −1 b Il sistema Ax = b pu`o quindi essere risolto esprimendo il vettore delle variabili di base xB in funzione del vettore delle variabili fuori base xN Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 13 / 16 Metodo del Simplesso Definizione Dato un problema in forma standard, una matrice di base B si dice ammissibile per il sistema Ax = b se: B −1 b ≥ 0 Definizione Se B `e una base per la matrice A, allora il vettore x = (xB , xN ) xB = B −1 b xN = 0 `e una Soluzione di Base per il sistema Ax = b Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 14 / 16 Metodo del Simplesso Definizione Dato un problema in forma standard e una matrice di base B ammissibile per il sistema Ax = b, il vettore x = (xB , xN ) tale che xB = B −1 b ≥ 0 xN = 0 `e una Soluzione di Base Ammissibile per il sistema Ax = b Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 15 / 16 Metodo del Simplesso Dato un problema di PL in forma standard ed una base B vale l’equivalenza max c 0 x max cB0 xB + cN0 xN Ax = b xB + B −1 NxN = B −1 b x ≥0 (xB , xN ) ≥ 0 (3) NOTA: sono equivalenti i sistemi che rappresentano l’insieme delle soluzioni ammissibili dei due problemi. Un problema di PL in forma standard pu`o essere scritto nella forma equivalente (3) in tanti modi diversi quante sono le matrici di base di A. Andrea Scozzari (a.a. 2013-2014) Programmazione Lineare March 11, 2014 16 / 16 Ricerca Operativa Andrea Scozzari Esercizio 1) Un risparmiatore vuole investire 50000 euro nell’acquisto di un certo numero di quote relative a 4 fondi obbligazionari. Nella seguente tabella, per ciascun tipo di fondo (A,B,C,D), sono riportati il costo di acquisto di una singola quota del fondo ed il rendimento annuo atteso di una singola quota: (in euro) Rendimento annuo atteso (in euro) per ogni singola quota A 4,5 0,31 B 5 0,4 C 3 0,55 D 5,2 0,45 Fondo Costo unitario Se l’obiettivo del risparmiatore è quello di massimizzare il rendimento complessivo annuo atteso, formulare opportunamente il modello di scelta di investimento. Si considerino inoltre i seguenti vincoli 1. Scrivere il vincolo per cui risulti che non più di 14000 euro devono essere investiti nei fondi B e C. 2. Scrivere il vincolo per cui almeno 5000 euro devono essere investiti nel fondo A. 3. Scrivere il vincolo per cui esattamente 9500 euro devono essere investiti nei fondi D e C Soluzione: Sono definite le seguenti variabili xi, i=1,2,3,4 che rappresentano il numero di quote investite in ciascuno dei 4 fondi disponibili. Il modello risulta: max 0.31𝑥1 + 0.4𝑥2 + 0.55𝑥3 + 0.45𝑥4 4.5𝑥1 + 5𝑥2 + 3𝑥3 + 5.2𝑥4 ≤ 50000 5𝑥2 + 3𝑥3 ≤ 14000 4.5𝑥1 ≥ 5000 3𝑥3 + 5.2𝑥4 = 9500 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0 𝑒 𝐼𝑛𝑡𝑒𝑟𝑒
© Copyright 2024 Paperzz