Vous êtes sur la page 1sur 13

1

Programmazione Lineare

La programmazione lineare un insieme di tecniche matematiche che permettono la risoluzione di
problemi di ottimo vincolato, ovvero problemi di massimizzazione o di minimizzazione di una
funzione obiettivo lineare che dipende da 2 o pi variabili indipendenti, le quali sono sottoposte a
dei vincoli lineari.

Quindi in un problema di programmazione lineare distinguiamo:

una variabile dipendente z che dipende da n variabili indipendenti
1 2
, , ,
n
x x x , con 2 n ;

un legame lineare che lega z alle variabili
i
x

1 1 2 2

n n
z c x c x c x = + + +

rappresentante la nostra funzione obiettivo (
i
c sono i coefficienti costanti della funzione obiettivo);

un insieme di vincoli lineari sulle variabili indipendenti
i
x del tipo:
1 1 2 2

n n
a x a x a x b + + + ,
oppure
1 1 2 2

n n
a x a x a x b + + + , oppure
1 1 2 2

n n
a x a x a x b + + + = , (
i
a sono i coefficienti
costanti dei vincoli, b il termine noto).


Facciamo un esempio numerico.

Unazienda produce due tipi di manufatti
1
P e
2
P utilizzando due macchinari
1
M e
2
M .
Per ogni unit prodotta del bene
1
P sono necessarie 1 ora di lavorazione con il macchinario
1
M e 3
ore di lavorazione con il macchinario
2
M . Similmente per ogni unit prodotta del bene
2
P sono
necessarie 2 ore di lavorazione con il macchinario
1
M e 2 ore di lavorazione con il macchinario
2
M .
Il macchinario
1
M per motivi legati alla manutenzione pu lavorare al massimo per 40 ore
settimanali, mentre il macchinario
2
M al massimo per 60 ore settimanali.
Ogni unit del bene
1
P venduta a 80 euro, mentre oni unit del bene
2
P venduta a 45 euro.
Nellipotesi che tutta la produzione sia venduta, qual la combinazione produttiva dei due beni che
maggiormente conveniente (che genera maggior ricavi) per lazienda?

Come primo passo occorre individuare la funzione obiettivo con le corrispondenti variabili
indipendenti e dipendente. Nellesempio precedente la variabile dipendente z il ricavo che dipende
dalle quantit prodotte dei due beni, fissati i prezzi di vendita. Indichiamo con
1
x le quantit
prodotte e vendute del bene
1
P e con
2
x le quantit prodotte e vendute del bene
2
P . La funzione
obiettivo quindi
1 2
80 45 z x x = + .




2
Le quantit prodotte (variabili indipendenti)
1
x e
2
x tuttavia devono rispettare ad alcuni vincoli
produttivi, come stato illustrato prima. Tali vincoli possono essere illustrati nel sequente schema


Ore macchina necessarie a
produrre una unit del bene


1
P
2
P

1
M 1 2 40
Ore massime disponibili per
lutilizzo di ogni macchinario
2
M 3 2 60


Si avranno quindi i due vincoli produttivi seguenti:
1 2
2 40 x x + e
1 2
3 2 60 x x + . Ad
esempio se al massimo si pu utilizzare per 60 ore settimanali il macchinario
2
M , vuol dire che la
somma delle ore di uso necessarie a produrre le quantit
1
x del bene
1
P e delle ore necessarie a
produrre le quantit
2
x del bene
2
P non deve essere superiore a 60 (si moltiplicano le ore necessarie
a produrre una unit del bene per le quantit prodotte del bene stesso:
1
3x sono le ore necessarie a
produrre le quantit
1
x del bene
1
P , mentre
2
2x sono le ore necessarie a produrre le quantit
2
x del
bene
2
P ).

Infine si avranno dei vincoli di non negativit sulle quantit prodotte: le variabili indipendenti non
possono assumere valori negativi, poich non avrebbe senso pensare a quantit prodotte negative.
I vincoli di non negativit sono i seguenti:
1
0 x e
2
0 x .

Mettendo assieme i vari pezzi del problema otteniamo la formulazione matematica del problema
di programmazione lineare:
1 2
1 2
1 2
1 2
80 45
2 40
. . 3 2 60
0 ; 0
Max z x x
x x
s v x x
x x
= +
+




Rispetto al problema (che si affronta in Analisi) della ricerca del massimo o del minimo di una
funzione, qui si hanno alcune differenze significative:
la funzione sempre lineare;
la funzione dipende da pi di una variabile indipendente;
le variabili indipendenti sono sottoposte a dei vincoli lineari.

Il fatto che la funzione sia lineare semplifica la ricerca dellottimo (massimo o minimo che sia).

Procederemo in questo modo: faremo vedere innanzitutto come si trova un massimo o minimo
vincolato nel caso di una funzione lineare in una sola variabile indipendente; quindi vedremo il caso
in cui la funzione obiettivo dipende da 2 variabili indipendenti; infine affronteremo il caso in cui si
hanno pi di 2 variabili indipendenti.



3
Funzione lineare di 1 sola variabile indipendente.

Si sa che una funzione lineare di 1 variabile indipendente, y m x q = + , rappresentabile
graficamente come una retta del piano xy che ha coefficiente angolare m e intercetta q con lasse
delle ordinate.
Se la variabile indipendente non sottoposta ad alcun vincolo, cio linsieme di definizione tutto
lasse delle ascisse da a +, anche il massimo e il minimo della funzione saranno quantit
infinite: non si hanno quindi massimo e minimo limitati.

Se invece la variabile indipendente deve soddisfare ad un qualche vincolo allora esister almeno un
massimo oppure un minimo limitato. Ad esempio si consideri la seguente funzione lineare vincolata

5 3
. . 10
y x
s v x
= +



evidente che il minimo della funzione sar quando x , mentre il massimo della
funzione sar 53 y = allestremo superiore dellintervallo dei valori ammissibili per la variabile
indipendente 10 x = .
Se la variabile indipendente fosse limitata anche inferiormente, ad esempio

5 3
. . 10 10
y x
s v x
= +



allora anche il minimo della funzione sarebbe limitato, 47 y = in corrispondenza di 10 x = .

Dagli esempi fatti dovrebbe essere chiaro che nel caso di una funzione lineare in una sola
variabile indipendente il massimo ed il minimo della funzione si trovano sempre agli estremi
dellintervallo di definizione della funzione.






Funzione lineare di 2 variabili indipendenti.

In questo caso si passa da un mondo a 2 dimensioni, una per la variabile indipendente e laltra per la
variabile dipendente, ad un mondo a 3 dimensioni, due per le variabili indipendenti ed una per la
variabile dipendente.
Il grafico di una funzione di 2 variabili indipendenti sar quindi una figura tridimensionale
rappresentabile in un sistema di riferimento a 3 dimensioni. Linsieme di definizione della funzione
sar un piano o un sottoinsieme di un piano mentre la terza dimensione, perpendicolare al piano,
serve per rappresentare i valori assunti dalla variabile dipendente.

Ad esempio la rappresentazione grafica della funzione
2 2
z x y = + riportata in figura 1.

Nel caso di funzione lineare di 2 variabili indipendenti la rappresentazione grafica un piano
nello spazio tridimensionale. Ad esempio la rappresentazione grafica della funzione 3 5 z x y =
riportata in figura 2.
4
figura 1: Grafico della funzione
2 2
z x y = +




figura 2: Grafico della funzione 3 5 z x y =


5
Per quanto riguarda la ricerca del massimo o del minimo valgono delle considerazioni analoghe a
quelle viste per le funzioni lineari di una sola variabile indipendente.
Se entrambe le variabili indipendenti non sono sottoposte ad alcun vincolo, cio linsieme di
definizione tutto il piano xy , il massimo e il minimo della funzione saranno quantit infinite.
Se invece una almeno delle variabili indipendenti sottoposta ad un qualche vincolo, cio linsieme
di definizione un sottoinsieme del piano xy , allora esister almeno un massimo oppure un
minimo limitato.
Allora anche nel caso di una funzione lineare di due variabili indipendenti il massimo ed il
minimo della funzione si trovano sempre agli estremi dellintervallo di definizione della
funzione. Ritorniamo allesempio da cui eravamo partiti
1 2
1 2
1 2
1 2
80 45
2 40
. . 3 2 60
0 ; 0
Max z x x
x x
s v x x
x x
= +
+


Per trovare il massimo della funzione
1 2
80 45 z x x = + possiamo quindi procedere in questo modo:
prima determiniamo gli estremi dellinsieme di definizione della funzione, quindi calcoliamo il
valore delle funzione in questi punti e prendiamo quello che risulta pi alto.

Trovare linsieme di definizione della funzione
1 2
80 45 z x x = + , detto pure insieme delle soluzioni
ammissibili, vuol dire trovare linsieme dei punti del piano
1 2
x x che soddisfano ai vincoli
1 2
1 2
1 2
2 40
3 2 60
0 ; 0
x x
x x
x x
+


Ogni vincolo sotto forma di una disequazione lineare corrisponde geometricamente ad un semipiano
delimitato dalla retta dellequazione lineare che si ottiene sostituendo i segni e con il segno =
nella disequazione.
Consideriamo il primo vincolo
1 2
2 40 x x + . Iniziamo con il determinare il grafico della retta
corrispondente
1 2
2 40 x x + = :

6
Il semipiano corrispondente al vincolo
1 2
2 40 x x + sar o quello sotto la retta delimitato
superiormente dalla retta stessa, o sar quello sopra la retta delimitato inferiormente dalla retta.
Per capire quale dei due semipiani quello giusto basta prendere un punto a caso del piano e vedere
se il vincolo rispettato: in tal caso il semipiano a cui appartiene il punto quello cercato; in caso
contrario il semipiano quello a cui il punto non appartiene. La cosa migliore prendere in
considerazione il punto di coordinate (0 ; 0) che corrisponde allorigine degli assi, poich la quantit
a sinistra del segno di disuguaglianza viene sempre uguale a 0.
Nel nostro esempio in corrispondenza dellorigine degli assi il vincolo rispettato perch 0
minore di 40, quindi il semipiano corrispondente al vincolo
1 2
2 40 x x + e quello limitato
superiormente dalla retta di equazione
1 2
2 40 x x + =


Con analogo ragionamento si trova il semipiano corrispondente al vincolo
1 2
3 2 60 x x +

7
Infine i semipiani corrispondenti ai vincoli di non negativit
1
0 x e
2
0 x sono rispettivamente i
semipiani dei valori non negativi delle variabili
1
x e
2
x :





Linsieme delle soluzioni ammissibili si ottiene dallintersezione di queste aree, che rappresenta
linsieme dei punti del piano
1 2
x x che soddisfano a tutti i vincoli.






8


Abbiamo gi detto che nel caso di funzioni lineari i punti di massimo o di minimo si trovano
sempre nei punti estremi dellinsieme di definizione della funzione. Punti che corrispondono al
contorno dellinsieme delle soluzioni ammissibili. Nellesempio della figura precedente sono i punti
del perimetro del quadrilatero irregolare di vertici OABC.
Si pu dire qualcosa in pi e lo vedremo graficamente fra un po: se il punto di ottimo (massimo o
minimo che sia) unico allora esso sar uno dei vertici dellinsieme delle soluzioni ammissibili;
invece se il punto di ottimo non unico allora ne esistono infiniti, ovvero tutti i punti del
segmento che unisce due vertici dellinsieme delle soluzioni ammissibili.

Dal punto di vista pratico allora basta calcolare il valore della funzione in corrispondenza dei vertici
dellinsieme delle soluzioni ammissibili e vedere qual il massimo o il minimo della funzione, a
seconda dei casi.

Ritornando allesempio del calcolo del massimo vincolato della funzione
1 2
80 45 z x x = + ,
calcoliamoci il valore della funzione in corrispondenza dei quattro vertici dellinsieme delle
soluzioni ammissibili:

nel punto O(0 ; 0) il valore della funzione 80 0 45 0 0 z = + = ;

nel punto A(0 ; 20) il valore della funzione 80 0 45 20 900 z = + = ;

nel punto B(10 ; 15) il valore della funzione 80 10 45 15 800 675 1475 z = + = + = ;

nel punto C(20 ; 0) il valore della funzione 80 20 45 0 1600 z = + = .

Si pu allora concludere che il massimo della funzione 1600 z = raggiunto in corrispondenza del
punto C(20 ; 0), ovvero per i seguenti valori delle variabili indipendenti
1
20 x = e
2
0 x = .
Quindi limpresa se vuole massimizzare i suoi ricavi deve produrre esclusivamente il bene
1
P , e ne
pu produrre 20 pezzi a settimana dati i vincoli produttivi.
9
Curve di livello di una funzione di due variabili.


Se le variabili indipendenti del nostro problema sono sottoposte ad un numero elevato di vincoli,
linsieme delle soluzioni ammissibili avr un numero elevato di vertici, ognuno allintersezione di
due rette corrispondenti a due vincoli distinti.

Allora la procedura di calcolo dellottimo della funzione vista prima, quella di andare a guardare i
valori assunti dalla funzione nei vertici dellinsieme delle soluzioni ammissibili, diventa poco
efficiente, perch occorre trovare le coordinate di un numero elevato di vertici mettendo a sistema le
equazioni corrispondenti ai vincoli prese a due a due: se ho n vincoli dovr risolvere
2
n | |
|
\
sistemi
lineari.
Sarebbe quindi estremamente conveniente avere un metodo che ci permetta di individuare subito
qual il vertice dellinsieme delle soluzioni ammissibili che corrisponde al punto di ottimo della
funzione, senza dover prima calcolare il valore assunto dalla funzione in tutti i vertici. Questo
metodo esiste ed utilizza la nozione di curva di livello.

Data una funzione di due variabili indipendenti, ( )
1 2
, z f x x = , si definiscono livelli della funzione i
possibili valori che pu assumere z: ad esempio 10 z = , 20 z = , 30 z = , ecc. .
Mentre il grafico della funzione ( )
1 2
, z f x x = tridimensionale, per ciascun livello di z si otterr
una funzione che ha una variabile in meno, a cui corrisponder un grafico bidimensionale sul piano
1 2
x x .
Se prenderiamo ad esempio la funzione
2 2
z x y = + , il cui grafico tridimensionale mostrato in
figura 1, in corrispondenza del livello 20 z = si ottiene la funzione
2 2
20 x y + = a cui corrisponde il
grafico bidimensionale di un cerchio con centro nellorigine degli assi e raggio 20. Questo grafico
la curva di livello 20.



10
Dal punto di vista grafico il livello z k = della funzione ( )
1 2
, z f x x = rappresentato da un piano,
nello spazio tridimensionale, parallelo allasse
1 2
x x e ad una distanza k dallo stesso asse. Questo
piano interseca la nostra funzione in un certo numero di punti nello spazio. Se consideriamo le
proiezioni ortogonali di questi punti sullasse
1 2
x x otteniamo il grafico della curva di livello
( )
1 2
, f x x k = . Una curva di livello altro non se non linsieme delle coppie dei valori delle
variabili indipendenti
1
x e
2
x a cui corrisponde un determinato livello della variabile
indipendente z.

In figura 3 si considera il grafico della funzione
2 2
z x y = + . disegnato il piano che corrisponde al
livello 20 z = . Dati i punti di intersezione tra il piano 20 z = e la curva
2 2
z x y = + , si tracciano le
loro proiezioni ortogonali sul piano xy . Lunione dei punti corrispondenti a queste proiezioni il
grafico bidimensionale della curva di livello 20, che come si gi detto prima un cerchio centrato
sullorigine degli assi e di raggio 20.


figura 3:
intersezione tra il piano di livello 20 z = e la funzione
2 2
z x y = + e sue proiezioni sul piano xy




Considerando assieme pi curve di livello di una funzione ( )
1 2
, z f x x = si pu avere unidea
dellandamento tridimensionale della funzione stessa, ad esempio si possono individuare i punti di
minimo e di massimo della funzione.
Nella figura 4 sono rappresentate le curve di livello della funzione
2 2
z x y = + per i valori dei livelli
che vanno da 0 a 50 con un passo di variazione dei livelli pari a 5. Dalla mappa delle curve di
livello si vede come il minimo della funzione, che 0, si ha in corrispondeza della coppia di valori
0 x = e 0 y = . Pi ci allontaniamo da questo punti sul piano xy pi la funzione assume valori
crescenti.
lo stesso principio con il quale si costruiscono le cartine geografiche dotate di altimetria.

11
figura 4: mappa delle curve di livello della funzione
2 2
z x y = +




Si pu verificare facilmente che quando la funzione di due variabili lineare le sue curve di
livello sono delle rette del piano.

Consideriamo la funzione obiettivo da cui siamo partiti:
1 2
80 45 z x x = + . Seguendo il procedimento
or ora illustrato possiamo ricaviamoci la curva di livello 20. Tale procedimento viene illustrato in
figura 5.

Dato il piano nello spazio che rappresenta graficamente la funzione
1 2
80 45 z x x = + , esso
intersecato dal piano corrispondente al livello 20 z = . Lintersezione tra due piani nello spazio
una retta nello spazio. Le proiezioni dei punti della retta intersezione nello spazio sul piano
1 2
x x
generano una retta del piano
1 2
x x , che la retta corrispondente allequazione
1 2
80 45 20 x x + = .
Di conseguenza la mappa delle curve di livello di una funzione lineare di due variabili
indipendenti e un insieme di rette parallele fra di loro, come quelle rappresentate in figura 6.
Si noti come le rette di livello sono ordinate rispetto al livello: nel caso in figura a rette pi esterne a
destra corrisponde un livello della funzione obiettivo maggiore; ma pu essere anche il contrario.
Dipende dal valore e dal segno dei coefficienti della funzione obiettivo.


12
figura 5:
intersezione tra il piano di livello 500 z = e la funzione
1 2
80 45 z x x = + e sue proiezioni sul piano
1 2
x x



figura 6: mappa delle rette di livello della funzione
1 2
80 45 z x x = +

13
Mettendo assieme le curve di livello della funzione obiettivo e linsieme delle soluzioni
ammissibili, si possono avere le giuste indicazioni per individuare velocemente qual il punto di
ottimo tra i vertici dellinsieme delle soluzioni ammissibili.
Ritornando allesempio di partenza
1 2
1 2
1 2
1 2
80 45
2 40
. . 3 2 60
0 ; 0
Max z x x
x x
s v x x
x x
= +
+


si ottiene la seguente rappresentazione:


Dalla rappresentazione grafica si vede che il massimo della funzione obiettivo si ottiene in
corrispondenza del punto C(20 ; 0), perch tra tutti i vertici dellinsieme delle soluzioni ammissibili
quello che tocca la retta di livello a cui corrisponde il valore pi grande della funzione obiettivo,
tra le curve di livello compatibili con i vincoli del problema.

Dal grafico si capisce pure che se ci sono due punti di ottimo allora ce ne sono infiniti. Infatti per
esserci due punti di ottimo la retta di livello pi esterna raggiungibile deve passare per due vertici
dellinsieme delle soluzioni ammissibili, ma allora passer necessariamente per tutti i punti del
segmento che unisce i due vertici. Se si hanno infiniti punti di ottimo un lato del poligono che
rappresenta linsieme delle soluzioni ammissibili deve essere parallelo alle rette di livello.