Sei sulla pagina 1di 24

MATEMATICA FINANZIARIA (Corso progredito) Corso A Prof. Gennaro Olivieri a.a.

2007-2008 PROGRAMMAZIONE LINEARE


IL PROBLEMA GENERALE DI ASSEGNAZIONE Pu essere esemplificato attraverso la determinazione di quali macchine dovrebbero essere impiegate e in che modo per ottenere prodotti che, per essere prodotti, richiedono luso alternativo di insiemi di macchine. Formalizzando: Una fabbrica produce n differenti prodotti in quantit da determinare x1, x2, , xn usando varie combinazioni di m differenti macchine. Ogni unit del prodotto j richiede ai,j unit di tempo sulla macchina i (j = 1, 2, n; i = 1, 2, , m). Lammontare totale del tempo disponibile nella ima macchina b1 per il periodo considerato. Infine il guadagno per ogni unit di prodotto venduto cj Prodotti 1 1 a11 2 a21 MACCHINA M M = i ai1 M M 2 a12 a22 M ai2 M am2 c2 j a1j a2j M aij M amj cj n a1n a2n M ain M amn cn Numero di ore disponibili nel periodo considerato b1 b2 M bi M bm

m am1 Guadagno unitario c1

Il problema quello di massimizzare la funzione lineare (FUNZIONE OBIETTIVO) max Z = c1 x1 + c2 x2 + + cj xj + + cn xn

soggetta a vincoli di disuguaglianza lineari a11 x1 + a12 x2 + + a1j xj + + a1n xn b1 a21 x1 + a22 x2 + + a2j xj + + a2n xn b2 M ai1 x1 + ai2 x2 + + aij xj + + ain xn bi M M M M

am1 x1 + am2 x2 + amj xj + + amn xn bm e poich le quantit i prodotti da produrre non possono essere negative: x1 0; x2 0; ..; xj 0; ; xn 0 Appare subito chiaro che il modello una rappresentazione astratta della realt in quanto il modello suppone che il guadagno della vendita direttamente proporzionale alla quantit venduta, qualunque essa sia. Inoltre la materia prima, in questo caso luso delle macchine, per ogni processo proporzionale al suo livello di utilizzo. Introduciamo ora un po di NOMENCLATURA Una SOLUZIONE un insieme di valori xi che soddisfano tutte le equazioni. Una SOLUZIONE POSSIBILE una soluzione in cui le xi rispettano i vincoli di non negativit. Generalmente il numero delle disequazioni m minore del numero delle variabili n; se ci non accade non possiamo essere certi che esista una soluzione possibile. I vincoli di disuguaglianza (disequazioni) possono essere immediatamente ricondotti a vincoli di uguaglianza (equazioni) con laggiunta delle VARIABILI ADDIZIONALI (SLACK). a11 x1 + a12 x2 + + a1n xn + xn + 1 a21 x1 + a22 x2 + + a2n xn M am1 x1 + am2 x2 + amn xn + xn + m = bm + xn + 2 = b1 = b2

Le variabili xn + 1, xn+2, , xn+m rappresentano le quantit non utilizzate delle m risorse. I vincoli sono ora rappresentati da un sistema di m equazioni in n+m incognite, lineari. Una BASE un insieme di m delle n+m variabili tali che la matrice dei coefficienti 2

a11 M am1

a12

a1m

am2

amm

del relativo sistema di equazioni sia non singolare (il sistema cio abbia soluzioni). Queste m variabili si dicono VARIABILI BASE e le altre n variabili si dicono VARIABILI NON BASE. Ponendo le variabili non base uguali a e risolvendo il sistema di equazioni che rappresentano i vincoli nelle variabili base si ottiene una SOLUZIONE DI BASE. Una SOLUZIONE DI BASE POSSIBILE una soluzione di base che anche possibile (rispetta i vincoli di non negativit). Si osservi infine che per le funzioni lineari: max f(x) = - min - f(x) Per essi invece di massimizzare o minimizzare la f(x) si pu parlare di OTTIMIZZARE la f(x) una SOLUZIONE DI BASE POSSIBILE OTTIMA una soluzione di base possibile che rende ottima la funzione obiettivo. Per la soluzione del problema proposto potrebbe risultare semplice adottare la seguente strategia: Date le m equazioni nelle n+m incognite esistono infinite soluzioni al sistema considerato poich abbiamo meno equazioni che incognite. Fortunatamente esistono solo
C n + m,m = (n + m)! m! n!

soluzioni base

e vedremo che tra queste ci sar la soluzione al nostro problema. Allora basta determinare queste Cn+m,m soluzioni e per ognuna calcolare la funzione obiettivo. La soluzione che ci d il valore ottimo della funzione obiettivo sar la soluzione al nostro problema. Risulta evidente che gi con 10 variabili e 5 equazioni bisogna risolvere 252 sistemi lineari di 5 equazioni in 5 incognite e mano mano che crescono i vincoli questo numero aumenta notevolmente e anche i pi potenti calcolatori faticano a determinare la soluzione cercata. Vediamo con un caso semplice come si pu procedere molto pi celermente

min Z = -x1 + x2 -2x1 + x2 2 x1 - 2x2 2 x1 + x2 5 x1, x2 0 Innanzitutto rendiamo le disequazioni equazioni mediante laggiunta delle variabili slack. min Z = -x1 + x2 -2x1 + x2 + x3 x1 - 2x2 x1 + x2 + x4 =2 =2 +x5 = 5

x1, x2, x3, x4, e x5 0 In questo caso facile determinare una soluzione possibile di base che data da: x1 = x2 = x3 = 2 x4 = 2 x5 = 5 Possiamo esprimere ora le equazioni che rappresentano i vincoli esplicitando le variabili di base: x3 = 2 + 2x1 - x2 x4 = 2 - x1 + 2x2 x5 = 5 - x1 - x2 La funzione obiettivo gi espressa in termini di variabili non di base. Z = -x1 + x2 Il valore di Z con questa soluzione possibile di base Z = . 4 variabili di base variabili non di base

Poich dobbiamo determinare il valore pi piccolo possibile di Z vediamo se esso pu essere ulteriormente ridotto. A tale scopo osserviamo che nella funzione obiettivo Z = -x1 + x2 il coefficiente della variabile x1 -1 per cui, aumentando il valore della variabile x1, dal valore che essa ora assume il valore di Z diminuisce. Occorre verificare che laumento del valore di x1 non renda le altre variabili negative. E facile verificare che: aumentando x1 aumentando x1 aumentando x1 aumenta x3

diminuisce x4 diminuisce x5

x4 diventa quando x1 assume valore 2 x5 diventa quando x1 assume valore 5 per cui x1 pu aumentare fino al valore 2 . In questo caso x3 = 2 + 2 2 = 6 x4 = 2 - 2 = 0 x5 = 5-2 = 3 La nuova soluzione possibile di base data da: x1 = 2 variabile di base x2 = variabile non di base x3 = 6 variabile di base x4 = variabile non di base x5 = 3 variabile di base Z = -2

Ancora una volta possiamo esprimere le equazioni che rappresentano i vincoli esplicitando le variabili di base. Dalla equazione x4 = 2 - x1 + 2x2 si ha: x1 = 2 + 2x2 - x4 5

che sostituita nelle altre equazioni d: x3 = 2 + 2 ( 2 + 2x2 - x4) - x2 x5 = 5 - (2 + 2x2 - x4) - x2 che nella funzione obiettivo d: Z = - (2 + 2x2 - x4) + x2 per cui, semplificando: x1 = 2 + 2x2 - x4 x3 = 6 + 3x2 - 2x4 x5 = 3 - 3x2 + x4 Z = -2 - x2 + x4 Il valore di Z con questa soluzione possibile di base Z = -2. Osserviamo ancora che nella funzione obiettivo possiamo diminuire il valore di Z aumentando il valore di x2. Per cui: aumentando x2 aumentando x2 aumentando x2 aumenta aumenta x1 x3

diminuisce x5

x5 diventa quando x2 assume valore 1 (ricordiamo che x4 = ). In questo caso x1 = 2 + 2 1 = 4 x3 = 6 + 3 1 = 9 x5 = 3 - 3 1 = La nuova soluzione di base data da: x1 = 4 x2 = 1 x3 = 9 x4 = variabili non di base 6 variabili di base

x5 = Esplicitiamo le variabili di base. Dalla x5 = 3 - 3x2 + x4 ricaviamo x2 = 1 +


1 1 x4 - x5 3 3

che sostituita nelle altre equazione e semplificando d: x1 = 4 1 2 x4 - x5 3 3 x3 = 9 - x4 - x5

la funzione obiettivo d: Z = -3 +

2 1 x4 + x5 3 3

il valore di Z con questa soluzione possibile di base Z = -3. Osserviamo ora che poich i coefficienti che appaiono nella funzione obiettivo delle variabili ivi coinvolte sono tutti positivi, nessun aumento dal valore di tali variabili produce una diminuzione di Z. Per cui la soluzione possibile di base raggiunta la soluzione possibile di base ottima. Quanto abbiamo ora espresso analiticamente pu essere rappresentato geometricamente. Consideriamo il problema originale: min Z = - x1 + x2 -2x1 + x2 2 x1 - 2x2 2 x1 + x2 5 x1, x2 0 Disegniamo i grafici delle corrispondenti funzioni lineari nel sistema di assi ortogonali x1, x2. x2 = 2x1 + 2 x2

-1

x1

Poich abbiamo una disequazione: x2 2x1 + 2 la parte di piano che soddisfa tale disequazione quella sottostante la retta. Analogamente: x2 1 x1 - 1 2 x2

0 -1

x1

x2 5 - x1 x2

x1

x2 0 x2

x1

x1 0 x2

x1

E evidente che poich le disequazioni debbono essere tutte simultaneamente soddisfatte esiste una parte del piano che esprime linsieme delle soluzioni possibili.

10

x2

z=0

x1

z = -2

z = -3

Anche la funzione obiettivo pu essere rappresentata da una retta, ponendo, ad esempio Z = si ha x2 = x1 e per valori di Z diversi da si hanno altre rette parallele alla stessa. Innanzitutto evidente che la soluzione ottima si ha solo sulla frontiera del poligono delle soluzioni possibili e, in pi, tale soluzione ottima nellipotesi normale su uno dei vertici del poligono stesso, in caso contrario coincide con gli infiniti valori dei punti di un lato del poligono. Il metodo analitico che abbiamo utilizzato in definitiva invece di: Risolvere i 5 sistemi relativi ai 5 vertici del poligono Analizza solo 3 vertici corrispondenti alla direzione di diminuzione del valore di Z nella retta x2 = x1 + Z In sostanza il metodo permette di decidere trovandosi in un vertice, in quale vertice adiacente muoversi senza esaminare tutti i vertici adiacenti, e ponendosi come elemento discriminante il valore di Z che va migliorato. 11

Ci particolarmente vero quando ci si trova in uno spazio a pi di 2 dimensioni e quindi, invece di un poligono, ci si trova di fronte ad un poliedro in quanto le rette sono sostituite da iperpiani. Alcune complicazioni
x2

x1

Lorigine non una soluzione possibile di base.


x2

x1

12

I vincoli sono contradditori e non esiste nessuna soluzione possibile.


x2

x1

In questo caso esiste un punto possibile che giace in tre rette e se esso viene preso come soluzione di base possibile, una delle variabili di base diventa uguale a e non si riesce a decidere in quale direzione andare.
x2

x1

In questo caso la funzione obiettivo parallela ad uno spigolo per cui esistono infinite soluzioni possibili che danno lo stesso valore di Z. 13

x2

x1

divisione di ottimizzazione In questo caso il numero delle soluzioni possibili illimitato.

14

Dato un problema di Programmazione lineare (PL) che chiameremo


PRIMALE

max c 1 x 1 + c 2 x 2 + ... + c n x n soggetta ai vincoli:


a11 x1 + a12 x 2 + ... + a1n x n b1 a 21 x1 + a 22 x 2 + ... + a 2 n x n b2
M

a m1 x1 + a m 2 x 2 + ... + a mn x n bm

xj 0

j = 1, 2, ..., n

Dato, poi, il vettore y1, y2, , ym si pu associare al problema di PL primale un nuovo problema PL che chiameremo
DUALE

min b 1 y 1 + b 2 y 2 + ... + b m y m soggetta ai vincoli:


a11 y1 + a 21 y 2 + a 31 y 3 + ... + a m1 y m c1 a12 y1 + a 22 y 2 + a 32 y 3 + ... + a m 2 y m c 2 M a1n y1 + a 2 n y 2 + a 3n y 3 + ... + a mn y m c n

yi 0

i = 1, 2, ..., m

CARATTERISTICHE:

- Alla j-ma VARIABILE del PRIMALE corrisponde il generico j-mo del DUALE - Alli-mo VINCOLO del DUALE

VINCOLO

del PRIMALE corrisponde la generica i-ma VARIABILE

- Se un vincolo del PRIMALE una uguaglianza la corrispondente variabile del DUALE libera e viceversa

15

DATO IL PROBLEMA PRIMALE max 2x1 + x2 -x1 + x2 2 x1 - 2x2 2 x1 + x2 6 x1, x2 0 con soluzione x1 = 4. 6 x2 = 1. 3 x3 = 5. 3 e 2x1 + x2 = 10. 6 (MAX) IL CORRISPONDENTE PROBLEMA DUALE : min 2y1 + 2y2 + 6y3 -y1 + y2 + y3 2 y1 - 2y2 + y3 1 y1, y2, y3 0 con soluzione y2 = 0. 3 y3 = 1. 6 y1 = 0 e 2y1 + 2y2 + 6y3 = 10. 6 (MIN) y2 misura la variazione del valore ottimo della funzione obiettivo corrispondente ad una variazione unitaria di b2 ( 0. 3 la parte di 10. 6 imputabile alla disponibilit di una unit della risorsa 2). y3 misura la variazione del valore ottimo della funzione obiettivo corrispondente ad una variazione unitaria di b3 ( 1. 6 la parte di 10. 6 imputabile alla disponibilit di una unit della risorsa 3) 16

PRIMALE

DATI CARICATI

-2.00000 1 2 3 -1.00000 1.00000 1.00000 .00000 1 2 3 .00000 1.00000 .00000

-1.00000 1.00000 -2.00000 1.00000 .00000 .00000 .00000 1.00000

.00000 1.00000 .00000 .00000 EQ LE ( 3) LE ( 4) LE ( 5) MINIMA 2.00 2.00 6.00

ITER FUNZIONALE POSSIBILE 1 4.00 2 10.67 FUNZIONALE = VARIABILE 3 1 2 VARIABILE 4 5

VAR. IN 1 2 10.66666667 VALORI 5.33333333 4.66666667 1.33333333 PREZZI OMBRA .33333333 1.66666667

17

DUALE

DATI CARICATI

2.00000 1 2 -1.00000 1.00000 .00000 1 2 -1.00000 .00000

2.00000 1.00000 -2.00000 .00000 .00000 -1.00000

6.00000 1.00000 1.00000 EQ GE ( 4) GE ( 5) MINIMA 2.00 1.00

ITER FUNZIONALE 1 -1.00 2 .00 POSSIBILE FUNZIONALE = VARIABILE 2 3 VARIABILE 1 4 5

VAR. IN 3 2 -10.66666667 VALORI .33333333 1.66666667 PREZZI OMBRA 5.33333333 4.66666667 1.33333333

18

PRIMALE MODIFICATO

DATI CARICATI

-2.00000 1 2 3 -1.00000 1.00000 1.00000 .00000 1 2 3 .00000 1.00000 .00000

-1.00000 1.00000 -2.00000 1.00000 .00000 .00000 .00000 1.00000

.00000 1.00000 .00000 .00000 EQ LE ( 3) LE ( 4) LE ( 5) MINIMA 2.00 3.00 6.00

ITER FUNZIONALE POSSIBILE 1 6.00 2 11.00 FUNZIONALE = VARIABILE 3 1 2 VARIABILE 4 5

VAR. IN 1 2 11.00000000 VALORI 6.00000000 5.00000000 1.00000000 PREZZI OMBRA .33333333 1.66666667

= 10. 6 + 0. 3

19

1 PROBLEMA

max 4x1 + 12x2 + 3x3 x1 1000 x2 500 x3 1500


1 1 1 x1 + x2 + x 3 45 50 25 75

x1, x2, x3 0 soluzione: x1 = 250 x2 = 500 x3 = 1500 x4 =750 (oggetti non fabbricati da P1) 4x1 + 12x2 + 3x3 = 11.500 (MAX)

20

DATI CARICATI

-4.00000 1 2 3 4 1.00000 .00000 .00000 .02000 .00000 1 2 3 4 1.00000 .00000 .00000 .00000 .00000 1 2 3 4 ITER POSSIBILE 1 2 3 4 FUNZIONALE = VARIABILE 1 2 4 3 VARIABILE 5 6 7 .00000 .00000 .00000 1.00000 FUNZIONALE 6000.00 10000.00 11125.00 11500.00

-12.00000 .00000 1.00000 .00000 .04000 .00000 .00000 1.00000 .00000 .00000

-3.00000 .00000 .00000 1.00000 .01333 .00000 .00000 .00000 1.00000 .00000 EQ LE ( LE ( LE ( LE ( 4) 5) 6) 7) MINIMA 1000.00 500.00 1500.00 45.00

VAR. IN 2 1 3 4 11500.00100000 VALORI 250.00025000 500.00000000 749.99975000 1500.00000000 PREZZI OMBRA 4.00000000 .33333400 200.00000000

21

2 PROBLEMA (CINTURE)

max 2x1 + x1 400 x2 700

3 x2 2

x1 + x2 800 2x1 + x2 1000 x1, x2 0 soluzione: x1 = 200 x2 = 600 x3 = 200 x4 = 100 2x1 +
3 x2 = 1300 (MAX) 2

22

DATI CARICATI

-2.00000 1 2 3 4 1.00000 .00000 1.00000 2.00000 .00000 1 2 3 4 .00000 1.00000 .00000 .00000

-1.50000 .00000 1.00000 1.00000 1.00000 .00000 .00000 .00000 1.00000 .00000

.00000 1.00000 .00000 .00000 .00000 .00000 .00000 .00000 .00000 1.00000 EQ LE ( LE ( LE ( LE ( 3) 4) 5) 6) MINIMA 400.00 700.00 800.00 1000.00

ITER FUNZIONALE POSSIBILE 1 800.00 2 1100.00 3 1300.00 FUNZIONALE = VARIABILE 1 4 3 2 VARIABILE 5 6

VAR. IN 1 2 3 1300.00000000 VALORI 200.00000000 100.00000000 200.00000000 600.00000000 PREZZI OMBRA 1.00000000 .50000000

23

3 PROBLEMA (LAMINATOI)

min (60x11 + 80 x21) + (50x12 + 70x22 + 60x32) + (50x13 + 75x23 + 60x33) + (45x14 + 70x24) 1 indice: catena di laminatoi (1, 2, 3) 2 indice: tipo di profilato (1, 2, 3, 4)
2 3 3 1 x 11 + x 12 + x 13 + x 14 600 5 10 10 4 4 3 7 3 x 21 + x 22 + x 23 + x 24 540 5 5 10 5 1 2 x 32 + x 33 360 2 5 x 11 + x 21 = 500 x 12 + x 22 + x 32 = 1200 x 13 + x 23 + x 33 = 1500 x 14 + x 24 = 300 x ij 0 i = 1, 2, 3 j = 1, 2, 3, 4

24

Potrebbero piacerti anche