Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Dispensa Programmazione Lineare, Dispense di Matematica Finanziaria

Matematica Finanziaria c.p. - Luiss

Tipologia: Dispense

2014/2015

Caricato il 18/11/2015

chiaramaiolino931
chiaramaiolino931 🇮🇹

4.5

(2)

1 documento

1 / 42

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Cattedra di
Metodi Quantitativi per il
Management e la Finanza
Parte I:
appunti
di
PROGRAMMAZIONE LINEARE
P. Fersini, G. Foschini, G. Olivieri
a.a. 2009-2010
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a

Anteprima parziale del testo

Scarica Dispensa Programmazione Lineare e più Dispense in PDF di Matematica Finanziaria solo su Docsity!

Cattedra di

Metodi Quantitativi per il

Management e la Finanza

Parte I:

appunti

di

PROGRAMMAZIONE LINEARE

P. Fersini, G. Foschini, G. Olivieri

a.a. 2009-

Indice

  • 1 INTRODUZIONE
  • 2 IL PROBLEMA GENERALE DI ASSEGNAZIONE
  • 3 LA DETERMINAZIONE DELLE SOLUZIONI
  • 4 LA LOGICA DEL SIMPLESSO
  • 5 LA SOLUZIONE GRAFICA
  • 6 LA DETERMINAZIONE DELLE SOLUZIONI IN EXCEL
  • 7 QUALCHE RICHIAMO TEORICO
    • SO 8 ALCUNE COMPLICAZIONI NELLíUSO DEL SIMPLES-
  • 9 PRIMALE E DUALE
    • 9.1 Analisi di sensibilit‡
  • 10 Esercizi proposti

Ë un problema di ottimizzazione rispetto allíobiettivo Z. Le variabili di input

sono x 1 e x 2 e i vincoli speciÖcano che la variabile x 1 deve sempre essere

maggiore di due unit‡ rispetto alla seconda variabile, che deve comunque

essere non minore di 2.

In ogni programma matematico si cerca una soluzione. Se esiste una

serie di soluzioni ugualmente ottimali esse sono tutte ammissibili (solo la

formulazione dei vincoli puÚ assegnare una speciÖca preferenza).

2 IL PROBLEMA GENERALE DI ASSE-

GNAZIONE

PuÚ essere esempliÖcato attraverso la determinazione di quali macchine do-

vrebbero essere impiegate per ottenere i prodotti che richiedono líuso alter-

nativo di insiemi di risorse.

Consideriamo, ad esempio, una fabbrica che produce n di§erenti prodotti

in quantit‡ da determinare x 1 ; x 2 ; :::; x n utilizzando varie combinazioni di m

di§erenti macchinari.

Ogni unit‡ del prodotto j richiede a i;j unit‡ di tempo sulla macchina i,

con j = 1; 2 ; : : : n; ed i = 1; 2 ; : : : ; m. Líammontare totale della disponibilit‡

(di tempo) per la prima macchina Ë b 1 , per la seconda macchina Ë b 2

per líiesima Ë bi,... , per límesima Ë bm. Il guadagno per ogni unit‡ di

prodotto venduto Ë c j

Appare subito chiaro che il modello Ë una rappresentazione astratta della

realt‡ in quanto presuppone che il guadagno sia direttamente proporzionale

alla quantit‡ venduta, qualunque essa sia. Inoltre la materia prima, in questo

caso líuso delle macchine, per ogni processo Ë proporzionale al suo livello di

utilizzo (non esistono economie di scala).

Possiamo riassumere le informazioni in una tabella, detta schema generale

di assegnazione.

Tabella 1: Lo schema generale di assegnazione

Prodotti numero di ore

disponibili*

1 2 ... j ... n

R 1 a 11 a 12 ... a 1 j ... a 1 n b 1

I 2 a 21 a 22 ... a 2 j ... a 2 n b 2

S 3 a 31 a 32 ... a 3 j ... a 3 n b 3

O

R i a i 1 a 12 ... a ij ... a in b i

S

E m a m 1 a m 2 ... a mj ... a mn b m

Guadagno

Unitario c 1 c 2 ... c j ... c n

*nel periodo considerato

Nella Tabella 1 líelemento a ij indica la quantit‡ di risorsa ìiînecessaria a

produrre il prodotto ìjî; la colonna j Ë lo schema di produzione del prodotto

j; il vettore b =b =

b 1

b 2

b m

indica la disponibilit‡ delle risorse; il vettore

c =c =

c 1 c 2 ::: c n

Ë il vettore dei coe¢ cienti della funzione obiettivo

(ad esempio il guadagno associato alla vendita di ciascun prodotto).

Sia il nostro obiettivo quello di massimizzare il guadagno totale (funzione

obiettivo-FO). La FO Ë una funzione lineare, indichiamo con Z la variabile

dipendente e con x j le variabili indipendenti:

max Z =

n X

j=

c j  x j

o, in termini matriciali, indicando con c il vettore (riga) dei coe¢ cienti

della FO e con x il vettore (colonna) delle quantit‡ di produzione dei prodotti:

max Z = c  x (2)

La FO, espressa dalla (1) o dalla (2) Ë soggetta a vincoli di disuguaglianza

lineari:

Esempio 2 Uníazienda produce su commessa due tipologie di agende da re-

galo: il tipo ìtravelerî ñdi design sportivo- e il tipo ìexecutiveî ñdi design

elegante. La lavorazione del tipo traveler richiede la met‡ delle ore lavorative

richieste per la produzione del tipo executive. Se si producessero solo agende

traveler, la capacit‡ produttiva sarebbe di 800 agende al giorno. Líazienda ha

a disposizione cuoio per produrre non pi˘ di 600 agende in totale, ciascuna

tipologia di agenda richiede la stessa quantit‡ impiegata di cuoio. Líazienda

committente fornisce le altre materie prime e paga e5,00 per ogni agenda

executive e e3,00 per ogni agenda traveler. Formalizzare matematicamente

il problema, sapendo che líazienda ha líobiettivo di massimizzare il proprio

guadagno.

prodotti

E T

cuoio 1 1 600

ore lavorative 2 1 800

quindi il problema diviene:

max Z = 5 x 1

  • 3x 2 8

x 1

  • x 2

2 x 1

  • x 2

x 1

x 2

3 LA DETERMINAZIONE DELLE SOLU-

ZIONI

Un problema di PL Ë costituito da un sistema di disequazioni, che non puÚ

essere risolto in modo ìautomaticoî: occorre trasformare le disequazioni in

equazioni, introducendo delle ìvariabili aggiuntiveî o variabili slack, x n+

xn+2; :::; xn+m, una per ciascuna disequazione del sistema dei vincoli:

a 11 x 1

  • a 12 x 2
  • ::: + a 1 j x j
  • ::: + a 1 n x n
  • x n+ = b 1

a 21 x 1 + a 22 x 2 + ::: + a 2 j xj + ::: + a 2 nxn + xn+2 = b 2

ai 1 x 1 + ai 2 x 2 + ::: + aij xj + ::: + ainxn + xn+i = bi

a m 1 x 1

  • a m 2 x 2
  • ::: + a mj x j
  • ::: + a mn x n
  • x n+m = b m

Le m variabili slack x n+ ; x n+ ; :::; x n+m rappresentano le quantit‡ even-

tualmente non utilizzate delle m risorse.

I vincoli sono ora rappresentati da un sistema di m equazioni in n + m

incognite, lineari: il sistema Ë dunque indeÖnito

3 ; 4

. Per trovare la soluzione

sceglieremo (casualmente) m incognite e calcoleremo la soluzione. Se otte-

niamo una soluzione, essa prende il nome di soluzione di base, Ë costituita da

m variabili, le altre sono poste pari a zero. Se la soluzione di base soddisfa

anche i vincoli di non negativit‡ essa si dice soluzione di base ammissibile.

In altri termini, una base Ë un insieme di m delle n + m variabili tali che la

matrice dei coe¢ cienti A del relativo sistema di equazioni sia non singolare

5

(il sistema cioË abbia soluzioni). Le variabili che formano la soluzione di base

ammissibile si dicono variabili di base e le altre n variabili si dicono variabili

non di base.

Si osservi inÖne che per le funzioni lineari possiamo scrivere:

max f (x) = min [f (x)]

Per esse 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.

Date le m equazioni nelle n + m incognite esistono inÖnite soluzioni al

sistema considerato poichÈ abbiamo meno equazioni che incognite.

Ma quante soluzioni di base esistono? Sono ìsoloî tutte le possibili

combinazioni di (n + m) elementi a gruppi di m, ovvero

C

n+m;m

(n + m)!

m!  n!

3 Il teorema di RouchÈ-Capelli stabilisce che, a¢ nchÈ un sistema di equazioni lineari

sia compatibile (ovvero ammetta soluzioni), occorre e basta che il rango della matrice dei

coe¢ cienti sia uguale al rango della matrice completa, quella cioË che si ottiene orlando

la matrice dei coe¢ cienti con il vettore dei termini noti. Supponiamo che tale rango sia

p. Indichiamo con n il numero delle incognite del sistema. Se p = n il sistema ammette

uníunica soluzione, se p  n il sistema Ë indeÖnito, ammettendo 1

np soluzioni.

4 Il sistema (6) Ë un sistema in cui il numero delle incognite Ë sicuramente maggiore

del numero delle equazioni. PoichË tali equazioni rappresentano dei vincoli (ad esempio

di produzione) possiamo ragionevolmente supporre le equazioni del sistema (6) non siano

tra loro linearmente dipendenti (altrimenti saremmo in presenza di vincoli ridondanti)

nË che il sistema dei vincoli sia incompatibile (se infatti stiamo esaminando un problema

relativo ad una impresa che gi‡ produce un certo numero di beni Ë ovvio che almeno

una combinazione produttiva deve essere fattibile). Il rango massimo della matrice dei

coe¢ cienti Ë (ovviamente) il min(m; n+m) ovvero il minimo tra il numero m di righe della

matrice ed il numero (n + m) delle variabili, e cosÏ anche il rango della matrice completa

(dimensionalmenta essa ha infatti solo una riga in pi˘ della precedente). Dunque i due

ranghi dovranno essere uguali e il sistema ammetter‡ soluzioni.

5 Quindi det (A) 6 = 0.

Una soluzione possibile di base Ë data da:

x 1

x 2 = 0

variabili fuori base

x 3

x 4 = 2

x 5

variabili in base

Esprimiamo sia le equazioni che rappresentano i vincoli sia la funzione o-

biettivo esplicitando le variabili di base. Pertanto il sistema (8) diviene:

x 3 = 2 + 2x 1 x 2

x 4 = 2 x 1

  • 2x 2

x 5 = 5 x 1 x 2

e la funzione obiettivo:

min Z = x 1

  • x 2

Il valore di Z con la soluzione possibile di base appena trovata Ë Z = 0.

PoichÈ dobbiamo minimizzare Z (quindi determinare il valore pi˘ piccolo

possibile di Z), osservando la forma funzionale di Z ci accorgiamo che, a-

umentando il valore di x 1 possiamo diminuire Z: infatti il coe¢ ciente della

variabile x 1 Ë 1 per cui, aumentando il valore della variabile x 1 , il valore

di Z diminuisce. Non possiamo perÚ aumentare il valore di x 1 senza tener

conto dei vincoli: occorre veriÖcare che líaumento del valore di x 1 non renda

le altre variabili negative. Eíimmediato veriÖcare che:

aumentando x 1 ! aumenta x 3

aumentando x 1 ! diminuisce x 4

aumentando x 1 ! diminuisce x 5

x 4 diventa negativo quando x 1  2 ; x 5 diventa negativo quando x 1

Dei due vincoli il primo Ë pi˘ ìstringenteî, per cui x 1 puÚ aumentare Öno al

valore ì 2 î. Quindi conviene ìfar entrareî in base la variabile x 1 e far uscire

x 4

. Il sistema diventa:

x 3 = 2 + 2x 1 x 2

x 1 = 2 + 2x 2 x 4

x 5 = 5 x 1 x 2

x 1

x 2  0

x 3

x 4  0

x 5

Esprimiamo le variabili in base (x 1 ; x 3 ; x 5 ) in funzione delle sole variabili

fuori base (x 2 ; x 4 ). Il sistema (9) diviene quindi:

x 3 = 6 + 3x 2 2 x 4

x 1 = 2 + 2x 2 x 4

x 5 = 3 3 x 2

  • x 4

x 1  0

x 2

x 3  0

x 4

x 5

La nuova soluzione possibile di base Ë:

x 1

x 3

x 5

variabili di base

x 2 = 0

x 4

variabili non di base

e la funzione obiettivo diviene:

Z = (2 + 2x 2 x 4 ) + x 2

= 2 x 2 + x 4

e vale Z = 2. Osservando la funzione obiettivo si nota che possiamo

diminuire ulteriormente il valore di Z aumentando il valore di x 2

. Eíimme-

diato veriÖcare che:

aumentando x 2 ! aumenta x 1

aumentando x 2 ! aumenta x 3

aumentando x 2 ! diminuisce x 5

x 5 diventa 0 quando x 2 assume valore 1 (ricordiamo che x 4 = 0). Quindi

il sistema diviene: (^8)

x 3 = 9 x 4 x 5

x 2 = 1 +

1

3

x 4

1

3

x 5

x 1

1

3

x 4

2

3

x 5

x 1

x 2

x 3

x 4

x 5

GraÖco di y=2x+

PoichÈ si tratta di una disequazione:

x 2  2 x 1

la parte di piano che soddisfa tale disequazione Ë quella sottostante la

retta. E pertanto possiamo ridisegnare il graÖco (si veda il graÖco seguente,

la porzione di piano che veriÖca la disequazione Ë quella evidenziata):

GraÖco di x 2  2 x 1 + 2

Il secondo vincolo Ë:

x 2 

x 1 1

GraÖco di x 2

1

2

x 1

Ed il terzo vincolo:

x 2  5 x 1

GraÖco di x 2  5 x 1

La regione delle soluzioni e la FO

Eíevidente che la soluzione ottima si ha solo sulla frontiera del poligono

delle soluzioni possibili e, in pi˘, tale soluzione ottima Ë (nellíipotesi normale)

su uno dei vertici del poligono stesso (OABCD), in caso contrario coincide

con gli inÖniti valori dei punti di un lato del poligono.

Il metodo analitico del simplesso di fatto calcola la funzione obiettivo nel

punto O(0; 0) (Z = 0), prosegue traslando verso il basso la FO (perchÈ si

vuole trovare il minimo della FO), calcolando il valore della stessa nel vertice

A e nel vertice B. Nel metodo graÖco, invece, si calcola la FO in tutti e

cinque i vertici del poligono che delimita le soluzioni ammissibili, scegliendo

il vertice che ottimizza la FO.

In sostanza il metodo del simplesso ci permette di decidere, trovandoci 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.

CiÚ Ë particolarmente utile 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

(le rette sono sostituite da iperpiani).

6 LA DETERMINAZIONE DELLE SOLU-

ZIONI IN EXCEL

Consideriamo sempre líesempio 3. Scriviamo su excel i dati del nostro

problema (si veda la Figura 1). Denominiamo i gruppi di celle (formule,

gestione nomi) rispettivamente con A (celle B2:C4), b (celle E2:E4) e c_vett

(celle B6:C6).

Figura 1: Inserimento dei dati in excel

Inseriamo il vettore (colonna) delle incognite

7 (x) e impostiamo la fun-

zione obiettivo, data dal prodotto tra il vettore c_vett ed il vettore x

8 :

min Z =

c 

x

In excel il prodotto tra due matrici

9 si ottiene utilizzando la formula =ma-

tr.prodotto(matrice A; matrice B), preselezionando le celle dimensionalmente

necesssarie ad accogliere il risultato e digitanto contemporaneamente i tasti

ctrl+shift (")+invio (si veda la Ögura 2).

7 Per inserire il vettore delle incognite selezioniamo le celle necessarie (nellíesempio 2)

e vi inseriamo 0: in excel, infatti, non possiamo lasciare le celle vuote.

8 Tale prodotto Ë compatibile, infatti il numero delle colonne della matrice che premolti-

plica Ë uguale al numero delle righe della matrice che postmoltiplica. Dimensionalmente

il risultato Ë una matrice che ha il numero di righe della matrice che premoltiplica ed il

numero delle colonne della matrice che postmoltiplica:

A

[n  p]



B

[p  s]

=

C

[n  s]

9 Consideriamo i vettori come matrici con una sola riga o una sola colonna.

Figura 3: Inserimento dei dati in excel (3)

Figura 4: Il risolutore

Figura 5: Il risolutore (2)

Figura 6: Il risolutore (3)