Sei sulla pagina 1di 32

PROGRAMMAZIONE LINEARE

QUALCHE ESEMPIO

ESEMPIO 1. MIX PRODUTIVO OTTIMO


(pianificazione della produzione)

Una azienda produce tre diversi tipi di detergenti B1 , B2 , B3 utilizzando


due sostanze base F1 , F2 .
La disponibilità massima (ad esempio giornaliera) delle sostanze base è
rispettivamente 20 per F1 e 50 per F2
Il margine lordo unitario derivante dalla produzione e dalla vendita dei
detergenti è
• 3 per il detergente B1
• 1 per il detergente B2
• 2 per il detergente B3
La produzione avviene secondo la tecnologia:
B1 B2 B3
F1 2 1 1
F2 1 2 3
Con il significato:
Per produrre una unità di B1 sono necessarie 2 unità di F1 ed una
unità di F2
Per produrre una unità di B2 sono necessarie 1 unità di F1 e 2 unità
di F2
Per produrre una unità di B3 sono necessarie 1 unità di F1 e 3 unità
di F2
I dati del problema possono essere sintetizzati completando la tabella:

B1 B2 B3 disponibilità
F1 2 1 1 20
F2 1 2 3 50
margine 3 1 2

PROBLEMA:
trovare la politica ottima di produzione in modo tale da massimizzare il
margine lordo complessivo rispettando i vincoli di limitata disponibilità
delle risorse.

In altre parole:
Si tratta di allocare in modo ottimale delle risorse limitate.
FORMULAZIONE DEL MODELLO MATEMATICO

Scelta delle variabili decisionali.


o Poniamo x1 = quantità prodotta di B1
o Poniamo x2 = quantità prodotta di B2
o Poniamo x3 = quantità prodotta di B3

Di conseguenza:

3x1 = margine lordo derivante dalla produzione della


quantità x1 del detergente 1. Analogamente per i
detergenti 2 e 3.
3x1 + x2 + 2 x3 = margine lordo derivante dalla produzione dei tre
detergenti (funzione da massimizzare)
VINCOLI del problema: essendo le sostanze base F1 , F2 disponibili in
quantità limitate, le quantità impiegate nella produzione non possono
superare le rispettive disponibilità

Disponibilità della sostanze base F1 = 20


Quantità impiegata della sostanza base F1 ?
• Per produrre B1 , l’impiego è 2x1
• Per produrre B2 , l’impiego è x2
• Per produrre B3 , l’impiego è x3
• Quindi, l’impiego globale della sostanza base F1 è

2x1 + x2 + x3
Il vincolo relativo alla della sostanza base F1 è quindi:

2 x1 + x2 + x3 ≤ 20
Impiego globale disponibilità

Disponibilità della sostanze base F2 = 50


Quantità impiegata della sostanza base F2 ?
o Per produrre B1 , l’impiego è x1
o Per produrre B2 , l’impiego è 2x2
o Per produrre B3 , l’impiego è 3x3
o Quindi, l’impiego globale della sostanza base F2 è

x1 + 2 x2 + 3x3
Il vincolo relativo alla della sostanza base F2 è quindi:

x1 + 2 x2 + 3x3 ≤ 50
Impiego globale disponibilità

Considerando entrambe le sostanze base, si ottengono i vincoli del


problema, che si può quindi scrivere nella forma:
max 3x1 + x2 + 2 x3
2 x1 + x2 + x3 ≤ 20

 x1 + 2 x2 + 3x3 ≤ 50
 x1 , x2 , x3 ≥ 0
MIX PRODUTIVO OTTIMO (pianificazione della produzione)
Formulazione generale

Dati:
n prodotti j = 1,...n
m risorse i = 1,...m ad esempio fattori produttivi, oppure ore a
disposizione su di un macchinario
bi = disponibilità massima della risorsa i.

cj = margine lordo unitario (differenza tra il prezzo di vendita


unitario ed il costo unitario)
aij = assorbimento unitario della risorsa i da parte del bene j,
ossia: quantità della risorsa i necessaria alla produzione di
una unità del bene j. Identifica la tecnologia della
produzione
PROBLEMA:
trovare la politica ottima di produzione in modo tale da massimizzare il
margine lordo complessivo rispettando i vincoli di limitata disponibilità
delle risorse.

In altre parole:
Si tratta di allocare in modo ottimale delle risorse limitate.

 a11 . . . a1n 
. . 
La tabella (in realtà è una matrice!)  è detta matrice
. . 
 
 a m1 . . . amn 
dei coefficienti tecnici o matrice della tecnologia.
FORMULAZIONE DEL MODELLO MATEMATICO

Scelta delle variabili decisionali.

Poniamo x j = quantità prodotta del bene j

NB: assegnare un valore ad una variabile corrisponde a decidere


quanto produrre di quel bene.

Di conseguenza:

cjxj = margine lordo derivante dalla produzione


della quantità x j del bene j.
c1 x1 + c2 x2 + ... + cn xn = margine lordo derivante dalla produzione di
tutti gli n beni (funzione da massimizzare)
VINCOLI del problema: essendo le risorse limitate, le quantità impiegate
nella produzione non possono superare le rispettive disponibilità

Disponibilità della risorsa i : bi


Quantità impiegata della risorsa i ?
o Nel settore produttivo j , ossia per produrre il bene j, l’impiego
della risorsa i è:
assorbimento unitario aij x j quantità

o Quindi, tenendo conto di tutti i settori, l’impiego globale della


risorsa i è
ai1 x1 + ai 2 x2 + ... + ain xn
Il vincolo relativo alla risorsa i è quindi:
ai1 x1 + ai 2 x2 + ... + ain xn ≤ bi
Impiego globale della risorsa i disponibilità
Considerando tutte le m risorse: i = 1,...m si ottengono i vincoli del
problema:

a11 x1 + a12 x2 + ... + a1n xn ≤ b1


a21 x1 + a22 x2 + ... + a2 n xn ≤ b2

⋅
⋅
a x + a x + ... + a x ≤ b
m1 1 m2 2 mn n m
Si può quindi finalmente formulare il problema:

max c1 x1 + c2 x2 + ... + cn xn
 a11 x1 + a12 x2 + ... + a1n xn ≤ b1
 a21 x1 + a22 x2 + ... + a2 n xn ≤ b2
⋅
⋅

 am1 x1 + am 2 x2 + ... + amn xn ≤ bm
 x1 , x2 , ..., xn ≥ 0

I vincoli sul segno delle variabili sono giustificati dal significato


delle variabili stesse: quantità di bene.
Sono chiamati vincoli di non negatività delle variabili:
x1 , x2 , ..., xn ≥ 0
SCRITTURE EQUIVALENTI DEL PROBLEMA
n
max ∑ c j x j
j =1

n
 ∑ aij x j ≤ bi i = 1,..., m
mediante le sommatorie
 j =1
 x j ≥ 0 j = 1,..., n

max c T x

{
Ax ≤ b
x≥0
in notazione vettoriale,

c1   x1 
.  .  b1   a11 . . . a1n 
    .  . . 
c= . , x= . b =  , A = 
. 
dove
    . .
.  .     
b
 m a
 m1 . . . amn 
cn   xn 
Infatti sviluppando Ax ≤ b si ottiene :

 x1 
 11
a . . . a 1n     b1 
.  . . 
.  
.  ⋅ . ≤ 
.   .
  .   
 am1 . . . amn   x   bm 
 n
 a11 x1 + ... + a1n xn  b1 
.  . 
.  ≤ . 
   
 am1 x1 + ... + amn xn  bm 
a11 x1 + a12 x2 + ... + a1n xn ≤ b1
a21 x1 + a22 x2 + ... + a2 n xn ≤ b2

⋅
⋅
a x + a x + ... + a x ≤ b
m1 1 m2 2 mn n m
sviluppando c T x si ottiene
 x1 
⋅ 
c x = [ c1 ⋅ ⋅ ⋅ cn ] ⋅ ⋅  = c1 x1 + ... + cn xn
T

⋅ 
 xn 
Ovviamente x ≥ 0 rappresenta le condizioni di non negatività delle
variabili:
x≥0
 x1  0  x1 ≥ 0
⋅  ⋅  ⋅
⋅  ≥ ⋅  ⇔ ⋅
⋅  ⋅  ⋅
 xn  0  xn ≥ 0
aij , bi , c j j = 1,..., n ; i = 1,..., m sono dati del problema
x j j = 1,..., n sono le variabili decisionali, scelte per la
costruzione del modello
 x1 
. 
Una soluzione del problema è un vettore x = .  , che può anche
 
. 
 xn 
essere scritto nella forma x = ( x1 ,..., xn ) e rappresenta una politica di
produzione in cui sono specificate le quantità prodotte.
Una soluzione ammissibile è una soluzione x = ( x1 ,..., xn ) che
soddisfa i vincoli del problema
Una soluzione ammissibile ottima è una soluzione x = ( x1 ,..., xn )
che soddisfa i vincoli del problema e massimizza la funzione
c1 x1 + c2 x2 + ... + cn xn
la funzione c1 x1 + c2 x2 + ... + cn xn è detta funzione obiettivo e spesso
viene indicata con la lettera z: z = c1 x1 + c2 x2 + ... + cn xn
L’insieme X ⊆ ℝ n formato da tutte le soluzioni ammissibili è detto
regione ammissibile.

Richiamo: ℝ n è definito come il prodotto cartesiano di ℝ per se stesso n


volte :
ℝ n = ℝ × ℝ × ⋅⋅⋅⋅×ℝ = {( x1 ,..., xn ); x1 ∈ ℝ ,..., xn ∈ ℝ}
Ad esempio:
ℝ 2 = ℝ × ℝ = {( x1 , x2 ); x1 ∈ ℝ , x2 ∈ ℝ}
rappresenta l’usuale piano cartesiano.
ESEMPIO 2 PROBLEMA DEI TRASPORTI

DESCRIZIONE DEL PROBLEMA

m origini unità produttive di un’azienda industriale


n destinazioni clienti

ai disponibilità massima di prodotto (capacità produttiva) dell’origine i


dj domanda di prodotto da parte della destinazione j

cij costo di trasporto per unità di prodotto da i a j

Obiettivo: formulare un piano di trasporto ottimale che a minimo costo


soddisfi la domanda delle destinazioni rispettando i vincoli
della disponibilità delle origini
SCRITTURA DEL MODELLO

Scelta delle variabili:

xij quantità di prodotto da trasportare dall’origine i alla destinazione j

m n
min ∑∑ cij xij
i =1 j =1

 n
 ∑ xij ≤ ai i = 1,..., m
 jm=1

 ∑ xij ≥ d j j = 1,..., n
 i =1
 xij ≥ 0 i = 1,..., m ; j = 1,..., n


Primo insieme di vincoli: la quantità prelevata complessivamente
dall’origine i non deve superare la quantità disponibile, per
i = 1,..., m
Secondo insieme di vincoli: la quantità trasportata complessivamente
alla destinazione j non deve essere inferiore alla domanda, per
j = 1,..., n

NB: condizione necessaria e sufficiente per l’esistenza di una soluzione


ammissibile è
m n

∑a ≥ ∑d
i =1
i
j =1
j
ESEMPIO 1

Si consideri il problema dei trasporti relativo ai seguenti dati. Due origini


(unità produttive) O1 e O2 con capacità produttiva a1 = 45 e a2 = 70
rispettivamente; tre destinazioni D1 , D2 e D3 con domanda di prodotto
d1 = 20 , d2 = 28 e d3 = 50 rispettivamente. I costi di trasporto cij dall’origine
Oi alla destinazione D j sono: c11 = 7 , c12 = 9 , c13 =12 , c21 =10 , c22 = 8 ,
c23 =13. I dati del problema possono quindi essere riassunti nella tabella:
D1 D2 D3 ai
O1 7 9 12 45
O2 10 8 13 70
dj 20 28 50
(a) Scrivere il modello matematico del problema, ossia la ricerca del
piano ottimale di trasporto che minimizza il costo complessivo nel
rispetto dei vincoli sulla capacità produttiva delle origini e sulla
domanda di prodotto da parte delle destinazioni, spiegando il
significato delle variabili introdotte, della funzione obiettivo e dei
vincoli.

min (7 x11 + 9 x12 + 12 x13 + 10 x21 + 8 x22 + 13x23 )


 x11 + x12 + x13 ≤ 45
 x + x + x ≤ 70
 21 22 23
 x11 + x21 ≥ 20

 x12 + x22 ≥ 28
 x13 + x23 ≥ 50

 x11 , x12 , x13 , x21 , x22 , x23 ≥ 0
(b) Scrivere una soluzione ammissibile del problema (non è richiesta la
soluzione ottima!) utilizzando le variabili introdotte al punto (a).

( x11 , x12 , x13 , x21 , x22 , x23 ) = (10,10, 20,10, 20,30)


ESEMPIO 2
PROBLEMA DELLE DIETE
Descrizione del problema:
• Vi sono n tipi di alimenti che è possibile acquistare; per ogni alimento
si conosce il costo unitario: c1 ,..., cn
• Si considerano m sostanze nutrienti contenute negli alimenti, ad
esempio carboidrati, proteine, grassi, sali minerali, vitamine.
• Per ognuna delle sostanze nutrienti vi è un requisito minimo giornaliero
che deve essere presente nella dieta: b1 ,..., bm
• È noto il contenuto di ciascuna sostanza nutriente in ogni unità di
alimento. I dati sono contenuti in una tabella A = [aij ] dove aij indica
la quantità di sostanza nutriente i presente in una unità di alimento j.
Il problema consiste nel trovare la dieta di costo minimo che soddisfi i
vincoli nutrizionali. I vincoli nutrizionali impongono alla dieta di
contenere, per ogni sostanza nutriente, almeno la quantità minima richiesta.

Modello matematico
• Si introducono le n variabili decisionali x1 ,..., xn , dove x j rappresenta
la quantità dell’alimento j da acquistare, j = 1,..., n .
• Il costo totale della dieta è quindi c1 x1 + ... + cn xn
• Il modello risulta essere:
min c1 x1 + c2 x2 + ... + cn xn
 a11 x1 + a12 x2 + ... + a1n xn ≥ b1
 a21 x1 + a22 x2 + ... + a2 n xn ≥ b2
⋅
⋅

 am1 x1 + am 2 x2 + ... + amn xn ≥ bm
 x1 , x2 , ..., xn ≥ 0

a11 x1 + a12 x2 + ... + a1n xn rappresenta la quantità globale di


sostanza nutritiva 1 presente nella dieta
b1 rappresenta il fabbisogno minimo giornaliero della sostanza
nutriente 1.
Analogamente per le altre sostanze nutrienti.
ESEMPIO

Gli animali di un allevamento possono essere alimentati con tre tipi diversi
di mangimi, A, B, C. Nella seguente tabella sono indicate le quantità di
proteine, carboidrati e vitamine contenute in una unità di ogni alimento, il
relativo fabbisogno minimo giornaliero ed i costi unitari degli alimenti

fabbisogno
A B C
giornaliero
proteine 1 1 3 30
carboidrati 2 1 2 10
vitamine 2 2 1 30
costo unitario 6 2 5
Formulare il problema di programmazione lineare della determinazione
della dieta di costo minimo che soddisfi al fabbisogno giornaliero di
proteine, carboidrati e vitamine.

min 6 x1 + 2 x2 + 5 x3
 x1 + x2 + 3x3 ≥ 30
2 x1 + x2 + 2 x3 ≥ 10
2 x + 2 x + x ≥ 30
 1 2 3

 x1 , x2 x3 ≥ 0

Potrebbero piacerti anche