Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base...

36
3 Modelli di Programmazione Lineare 3.1 GENERALIT ` A Come gi` a detto nel capitolo precedente, ` e possibile classificare i modelli di Pro- grammazione Matematica in base alla struttura particolare che possono avere la funzione obiettivo e i vincoli. Riprendiamo qui, espandendola, la definizione di problemi di Programmazione Lineare nei quali sia la funzione obiettivo, sia i vincoli sono rappresentati mediante funzioni lineari nelle variabili di decisione. Preliminarmente, richiamiamo il concetto di funzione lineare. Definizione 3.1.1 Una funzione reale di n variabili reali f : IR n −→ IR si dice lineare se valgono le seguenti condizioni: i) per ogni x, y IR n si ha f (x + y)= f (x)+ f (y); ii) per ogni x IR n e λ IR risulta f (λx)= λf (x). Una immediata conseguenza di questa definizione ` e che una funzione ` e lineare se e solo se pu` o essere scritta nella forma c 1 x 1 + c 2 x 2 + ... + c n x n (3.1.1) con c 1 ,...,c n costanti reali. Infatti ` e immediato verificare che una funzione della forma (3.1.1) soddisfa la Definizione 3.1.1; d’altra parte, se una funzione f (x) ` e lineare cio` e se soddisfa la Definizione 3.1.1, allora si pu` o scrivere nella forma (3.1.1); infatti se indichiamo con {e 1 ,e 2 ,...,e n } la base canonica di IR n allora M. Roma RICERCA OPERATIVA SAPIENZA Universit` a di Roma a.a. 2017-2018

Transcript of Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base...

Page 1: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

3Modelli di Programmazione

Lineare

3.1 GENERALITA

Come gia detto nel capitolo precedente, e possibile classificare i modelli di Pro-

grammazione Matematica in base alla struttura particolare che possono avere

la funzione obiettivo e i vincoli. Riprendiamo qui, espandendola, la definizione

di problemi di Programmazione Lineare nei quali sia la funzione obiettivo, sia i

vincoli sono rappresentati mediante funzioni lineari nelle variabili di decisione.

Preliminarmente, richiamiamo il concetto di funzione lineare.

Definizione 3.1.1 Una funzione reale di n variabili reali f : IRn −→ IR si dice

lineare se valgono le seguenti condizioni:

i) per ogni x, y ∈ IRn si ha f(x+ y) = f(x) + f(y);

ii) per ogni x ∈ IRn e λ ∈ IR risulta f(λx) = λf(x).

Una immediata conseguenza di questa definizione e che una funzione e lineare se

e solo se puo essere scritta nella forma

c1x1 + c2x2 + . . .+ cnxn (3.1.1)

con c1, . . . , cn costanti reali. Infatti e immediato verificare che una funzione della

forma (3.1.1) soddisfa la Definizione 3.1.1; d’altra parte, se una funzione f(x)

e lineare cioe se soddisfa la Definizione 3.1.1, allora si puo scrivere nella forma

(3.1.1); infatti se indichiamo con {e1, e2, . . . , en} la base canonica di IRn allora

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 2: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

26 MODELLI DI PROGRAMMAZIONE LINEARE

risulta x =∑n

i=1 xiei dove le xi sono le componenti del vettore x. Quindi utiliz-

zando la linearita si ha

f(x) = f(x1e1 + x2e2 + · · ·+ xnen) = f(x1e1) + f(x2e2) + · · · + f(xnen) =

= x1f(e1) + x2f(e2) + · · · xnf(en) = c1x1 + c2x2 + · · · + cnxn

dove ci = f(ei) per i = 1, . . . , n.

Quindi

x1 + 4x2 − 3.5x3

−2x1 + (sin 4)x2 + πx3 − 4x5,

sono funzioni lineari, mentre

(x1)2 + 4x2 − 3.5x3

x1 + 4x2 − 3.5ex3

−2x1 + sinx2 + πx3 − 4x5,

non sono funzioni lineari.

3.2 STRUTTURA DI UN MODELLO DI PROGRAMMAZIONE LINEARE

Esaminiamo ora la struttura di un generico modello di Programmazione Lineare.

Un modello di Programmazione Lineare e caratterizzato da

• una singola funzione obiettivo lineare da minimizzare o massimizzare che

puo essere quindi scritta nella forma

f(x) = c1x1 + . . .+ cnxn =n∑

j=1

cjxj .

• un numero finito di vincoli lineari che, supponendo siano m, possono essere

scritti nella forma

a11x1+ . . . +a1nxn ≥ b1a21x1+ . . . +a2nxn ≥ b2

... . . ....

...

am1x1+ . . . +amnxn ≥ bm.

Introducendo il vettore c ∈ IRn, definito c = (c1, . . . , cn)T e x ∈ IRn definito

x = (x1, . . . , xn)T la funzione obiettivo puo essere scritta in notazione vettoriale

cTx.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 3: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

STRUTTURA DI UN MODELLO DI PROGRAMMAZIONE LINEARE 27

Inoltre, introducendo la matrice (m× n)

A =

a11 . . . a1n...

...

am1 . . . amn

e il vettore b = (b1, . . . , bm)T la formulazione completa di un generico problema

di Programmazione Lineare puo essere scritta nella forma{min cTx

Ax ≥ b.

Osservazione 3.2.1 Come gia osservato in relazione ad un generico problema

di Programmazione Matematica, (cfr. Osservazione 2.2.1) non si perde di gen-

eralita formulando un generico problema di Programmazione Lineare con vincoli

di sola diseguaglianza nella forma di maggiore o uguale. Infatti, ogni vincolo di

disuguaglianza nella forma di minore o uguale e ogni vincolo di uguaglianza puo

essere ricondotto a questa forma con semplici operazioni algebriche.

Per esempio,max x1 + x2

x1 + x2 ≥ 1

x1 + x2 ≤ 3

x1 ≥ 0, x2 ≥ 0,

emin 2x1 − x2 + x3 + 3x4

x1 + x2 − x4 = 1

x1 + 2x2 − x3 + 2x4 ≤ 3

x1 ≥ 0, x2 ≥ 0, x4 ≥ 0,

sono problemi di PL.

Le applicazioni della Ricerca Operativa che possono essere formulate mediante

l’uso di modelli di Programmazione Lineare sono molto frequenti e importanti. In

riferimento alle applicazioni di tipo economico la funzione obiettivo ha di solito

il significato di profitto (da massimizzare) oppure di costo (da minimizzare).

Profitti e costi sono ottenuti come somma dei profitti e costi marginali cioe di quelli

relativi a ciascuna unita di prodotto. Quando e richiesta la massimizzazione di un

profitto, il modello contiene, di solito, vincoli che esprimono limitazioni superiori

sulle risorse (vincoli di capacita produttiva, disponibilita di materie prime); se

invece e richiesta la minimizzazione di un costo sono di solito presenti vincoli sulla

domanda (richieste di mercato) che impongono limitazioni inferiori alle variabili.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 4: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

28 MODELLI DI PROGRAMMAZIONE LINEARE

E possibile la presenza di vincoli di continuita che esprimono conservazione o

riduzione di masse o volumi ed hanno spesso la forma di vincoli di uguaglianza.

I modelli di Programmazione Lineare hanno un impiego molto generale non lim-

itato ad applicazioni economiche o progettuali; ad esempio, essi sono usati come

elementi base di procedimenti di soluzione di problemi piu complessi: e il caso di

alcuni algoritmi di ottimizzazione discreta che sono basati sulla soluzione di una

successione di problemi di Programmazione Lineare.

3.3 GENERALITA SUI MODELLI DI PROGRAMMAZIONE LINEARE

Mettiamo ora in evidenza le caratteristiche che un problema reale deve possedere

per poter essere formulato come modello di Programmazione Lineare ed i pregi

dei modelli di Programmazione Lineare.

Innanzitutto, chiariamo che le ipotesi che vengono assunte nel formulare un prob-

lema come modello di Programmazione Lineare sono le seguenti:

• proporzionalita: il contributo di una variabile di decisione alla funzione

obiettivo e ai vincoli e proporzionale secondo una costante moltiplicativa

alla quantita rappresentata dalla variabile stessa;

• additivita: il contributo delle variabili di decisione alla funzione obiettivo e

ai vincoli e dato dalla somma dei contributi di ogni singola variabile.

• continuita: ogni variabile di decisione puo assumere tutti i valori reali

nell’intervallo di ammissibilita, e quindi le variabili possono assumere valori

frazionari.

In relazione ad applicazioni reali queste ipotesi non rappresentano una grossa

restrizione nel senso che sono molti gli ambiti e i problemi che sono ben rappre-

sentati da un modello di Programmazione Lineare; si tenga comunque presente

che esistono casi significativi in cui queste ipotesi non sono soddisfatte e quindi

in questi casi e necessario considerare Modelli di Programmazione Non Lineare.

La particolare attenzione dedicata ai modelli di Programmazione Lineare deriva,

comunque, dai numerosi vantaggi che essa presenta e che possono essere cosı

sintetizzati:

1. Generalita e flessibilita.

I modelli di Programmazione Lineare possono descrivere moltissime situ-

azioni reali anche assai diverse tra loro e quindi hanno un carattere di

universalita e di adattabilita alle diverse realta applicative e anche quando

l’ipotesi di linearita non e accettabile, il modello lineare costituisce una

buona base di partenza per successive generalizzazioni.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 5: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 29

2. Semplicita.

I modelli di Programmazione Lineare sono espressi attraverso il linguaggio

dell’algebra lineare e quindi sono facilmente comprensibili anche in assenza

di conoscenze matematiche piu elevate.

3. Efficienza degli algoritmi risolutivi.

Come accennato in precedenza i modelli reali hanno dimensioni molto el-

evate ed e quindi indispensabile l’uso del calcolatore che con opportuni

programmi di calcolo possa rapidamente fornire una soluzione numerica.

Relativamente ai modelli di Programmazione Lineare esistono programmi

molto efficienti e largamente diffusi che sono in grado di risolvere rapida-

mente problemi con migliaia di vincoli e centinaia di migliaia di variabili.

4. Possibilita di analisi qualitative.

I modelli di Programmazione Lineare permettono di ottenere, oltre la soluzione

numerica del problema, anche ulteriori informazioni relative alla dipendenza

della soluzione da eventuali parametri presenti, che possono avere significa-

tive interpretazioni economiche.

3.4 CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE

Lo scopo di questo paragrafo e quello di illustrare alcune classi di problemi di Pro-

grammazione Lineare tipici che si incontrano frequentemente nelle applicazioni

reali. Questa divisione in classi ha uno scopo esclusivamente didattico al fine

di fornire una esposizione sistematica di esempi di modelli di Programmazione

Lineare di tipo generale. Nella realta, nella maggior parte dei casi, i problemi

che si presentano non sono riconducibili ad una classe specifica, ma possono es-

sere costituiti da molteplici elementi. Tuttavia, la trattazione per grandi classi

di problemi dovrebbe fornire strumenti utili per la modellizzazione di problemi

reali. Tenendo presente questa osservazione, nel seguito esamineremo tre grandi

classi di modelli di Programmazione Lineare che rappresentano situazioni molto

diffuse del mondo reale; si tratta dei

• modelli di allocazione ottima di risorse,

• modelli di miscelazione,

• modelli di trasporto.

Per ciascuna classe di modelli verranno presentati alcuni esempi e una formu-

lazione generale. Tale divisione in “classi” di problemi ha il solo scopo permettere

una descrizione schematica di alcune situazioni tipiche che possono essere rap-

presentate attraverso problemi di Programmazione Lineare. E chiaro che nella

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 6: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

30 MODELLI DI PROGRAMMAZIONE LINEARE

realta i problemi si presentano nelle forme piu diverse e sta a colui che costruisce

il modello fornirne una rappresentazione il piu possible completa e significativa

del problema in analisi.

3.4.1 Modelli di allocazione ottima di risorse

Si tratta di modelli che considerano il problema di come dividere (allocare)

risorse limitate tra varie esigenze in competizione fra di loro. Il generico termine

“risorse” puo rappresentare, ad esempio, disponibilita di macchinari, materie

prime, mano d’opera, energia, tempi macchina, capitali, etc.

Esempio 3.4.1 Un colorificio produce due tipi di coloranti C1 e C2 utilizzando

3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente

concentrazione dei preparati base da origine ai due diversi tipi di coloranti. Le

quantita (in ettogrammi) di preparati base necessarie per produrre un litro di

colorante di ciascuno dei due tipi e riportato nella seguente tabella

C1 C2

P1 1 1

P2 1 2

P3 - 1

Ogni giorno la quantita di ciascuno dei preparati base (in ettogrammi) della quale

il colorificio puo disporre e la seguente

P1 P2 P3

750 1000 400

Il prezzo di vendita del colorante C1 e di 7 Euro al litro, mentre il colorante

C2 viene venduto a 10 Euro al litro. Determinare la strategia ottimale di pro-

duzione giornaliera in modo da massimizzare i ricavi ottenuti dalla vendita dei

due coloranti.

Formulazione.

Si vuole costruire il modello di Programmazione Lineare che rappresenti il prob-

lema in analisi considerando le limitazioni date dalle produzioni effettivamente

realizzabili.

E immediato associare le variabili di decisione ai quantitativi di coloranti prodotti.

Siano, quindi, rispettivamente x1 e x2 i quantitativi (in litri) da produrre gior-

nalmente dei due coloranti.

Nel formulare il modello di Programmazione Lineare si deve verificare che siano

soddisfatte le ipotesi fondamentali:

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 7: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 31

• Proporzionalita.

I consumi dei preparati base e i ricavi ottenibili sono proporzionali ai quan-

titativi di coloranti prodotti. Ad esempio, per produrre una quantita x2 di

colorante C2 si consumano 2x2 ettogrammi di P2 e dalla vendita di x2 litri

di C2 si ricavano 10x2 Euro indipendentemente dalla quantita prodotta e

venduta dell’altro tipo di colorante.

• Additivita.

I consumi dei preparati base e i ricavi rispettivamente associati alla pro-

duzione dei due coloranti sono additivi, nel senso che per produrre x1 litri

di colorante C1 e x2 di C2 si consumano x1+2x2 ettogrammi di preparato

di base P2 e si ricavano 7x1 + 10x2 Euro.

• Continuita.

Ogni variabile introdotta nel modello puo assumere tutti i valori reali nell’in-

tervallo di ammissibilita.

– Variabili. Come gia detto, prendiamo come variabili di decisione x1 e x2, rispet-

tivamente i quantitativi (in litri) di colorante C1 e C2 da produrre giornalmente.

– Funzione obiettivo. E rappresentata dal profitto totale che per le ipotesi fatte

e dato (in Euro) da 7x1 + 10x2.

– Vincoli. Poiche il consumo di preparati base non puo essere superiore alla

disponibilita si deve avere

x1 + x2 ≤ 750

x1 + 2x2 ≤ 1000

x2 ≤ 400.

Inoltre si deve esplicitare il vincolo di non negativita sulle variabili

x1 ≥ 0, x2 ≥ 0.

Quindi la formulazione finale e

max (7x1 + 10x2)

x1 + x2 ≤ 750

x1 + 2x2 ≤ 1000

x2 ≤ 400

x1 ≥ 0, x2 ≥ 0.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 8: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

32 MODELLI DI PROGRAMMAZIONE LINEARE

Esempio 3.4.2 Una azienda automobilistica produce tre diversi modelli di au-

tovettura: un modello economico, uno normale ed uno di lusso. Ogni autovettura

viene lavorata da tre robot: A, B e C. I tempi necessari alla lavorazione sono

riportati, in minuti, nella tabella seguente insieme al profitto netto realizzato per

autovettura

Economica Normale Lusso

A 20 30 62

B 31 42 51

C 16 81 10

Prezzo 1000 1500 2200

I robot A e B sono disponibili per 8 ore al giorno mentre il robot C e disponibile

per 5 ore al giorno. Il numero di autovetture di lusso prodotte non deve superare il

20% del totale mentre il numero di autovetture economiche deve costituire almeno

il 40% della produzione complessiva. Supponendo che tutte le autovetture prodotte

vengano vendute, formulare un problema di Programmazione Lineare che permet-

ta di decidere le quantita giornaliere (non necessariamente intere) da produrre per

ciascun modello in modo tale da massimizzare i profitti rispettando i vincoli di

produzione.

Formulazione.

E un problema di allocazione ottima di risorse e puo essere formulato in termini

di Programmazione Lineare nel seguente modo.

– Variabili. Indichiamo con x1, x2, x3, rispettivamente il numero di autovetture

(assunte non necessariamente intere) del modello economico, normale e di lusso

da produrre giornalmente.

– Funzione obiettivo. La funzione obiettivo e data dal profitto globale ottenuto

dalla vendita delle automobili e quindi puo essere scritta

1000x1 + 1500x2 + 2200x3.

– Vincoli. Ci sono due tipologie di vincoli da considerare:

• i vincoli sulla capacita produttiva; poiche il robot A e disponibile giornal-

mente per 8 ore, cioe per 480 minuti si ha il vincolo

20x1 + 30x2 + 62x3 ≤ 480.

Ragionando in modo analogo si ottengono i vincoli relativi alla disponibilita

dei robot B e C, e quindi si ottengono i seguenti vincoli:

31x1 + 42x2 + 51x3 ≤ 480

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 9: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 33

16x1 + 81x2 + 10x3 ≤ 300.

• i vincoli sul numero totale dei singoli tipi di autovetture da fabbricate gior-

nalmente che possono essere scritti nella forma

x3 ≤ 0.2 (x1 + x2 + x3)

x1 ≥ 0.4 (x1 + x2 + x3) .

Si devono inoltre esplicitare i vincoli di non negativita

x1 ≥ 0 x2 ≥ 0 x3 ≥ 0.

Quindi la formulazione completa puo essere scritta

max (1000x1 + 1500x2 + 2200x3)

20x1 + 30x2 + 62x3 ≤ 480

31x1 + 42x2 + 51x3 ≤ 480

16x1 + 81x2 + 10x3 ≤ 300

x3 ≤ 0.2 (x1 + x2 + x3)

x1 ≥ 0.4 (x1 + x2 + x3)

x1 ≥ 0 x2 ≥ 0 x3 ≥ 0.

Osservazione 3.4.3 Nel modello precedente sono state utilizzate variabili di

decisione continue associate a quantita che possono essere considerate indivisibili

(autovetture). Questa ipotesi potrebbe risultare impropria, tuttavia permette

di formulare il problema come Problema di Programmazione Lineare (e non di

Programmazione Lineare Intera, cioe come un problema piu “trattabile”). D’altra

parte, in generale, tale ipotesi puo non far perdere validita al modello soprattutto

se i valori assunti dalle variabili di decisione sono relativamente molto grandi.

Ogni approssimazione a valori interi del valore ottimo delle variabili, ovviamente,

fa perdere l’ottimalita della soluzione cosı ottenuta, ma in molti casi tale soluzione

approssimata puo essere efficacemente utilizzata nella pratica.

Esempio 3.4.4 Si consideri la stessa azienda dell’esempio precedente con la sola

differenza che, questa volta, i tre modelli di autovetture possono essere prodotte

utilizzando uno qualsiasi dei tre robot senza richiedere quindi che per avere un’auto-

vettura finita sia necessaria la lavorazione di tutti i tre robot.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 10: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

34 MODELLI DI PROGRAMMAZIONE LINEARE

Formulazione.

– Variabili. Indichiamo con xij , con i = 1, 2, 3 e j = 1, 2, 3, il numero di

autovetture del modello j-esimo da produrre giornalmente con il robot i-esimo.

– Funzione obiettivo. La funzione obiettivo diventa:

1000(x11 + x21 + x31) + 1500(x12 + x22 + x32) + 2200(x13 + x23 + x33)

– Vincoli.

• I vincoli sulla capacita produttiva si esprimono:

20x11 + 30x12 + 62x13 ≤ 480.

31x21 + 42x22 + 51x23 ≤ 480

16x31 + 81x32 + 10x33 ≤ 300.

• i vincoli sul numero totale dei singoli tipi di autovetture da fabbricare as-

sumono la forma:

x13 + x23 + x33 ≤ 0.23∑

i=1

3∑

j=1

xij

x11 + x21 + x31 ≥ 0.43∑

i=1

3∑

j=1

xij.

Si devono inoltre esplicitare i vincoli di non negativita

xij ≥ 0 i = 1, 2, 3, j = 1, 2, 3.

Quindi la formulazione finale e la seguente:

max (1000(x11 + x21 + x31) + 1500(x12 + x22 + x32) + 2200(x13 + x23 + x33))

20x11 + 30x12 + 62x13 ≤ 480

31x21 + 42x22 + 51x23 ≤ 480

16x31 + 81x32 + 10x33 ≤ 300

x13 + x23 + x33 ≤ 0.2 (x11 + x12 + x13 + x21 + x22 + x23 + x31 + x32 + x33)

x11 + x21 + x31 ≥ 0.4 (x11 + x12 + x13 + x21 + x22 + x23 + x31 + x32 + x33)

xij ≥ 0 i = 1, 2, 3, j = 1, 2, 3.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 11: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 35

Formulazione generale di un problema di allocazione ottima di risorse

Per costruire uno schema generale di formulazione per questo tipo di problemi si

assuma di disporre di m risorse R1,R2, . . . ,Rm e di voler fabbricare n diversi

prodotti P1,P2, . . . ,Pn.

Le risorse possono essere sia umane (mano d’opera) sia materiali (disponibilita

di macchinari o di materie prime). Il problema della pianificazione delle risorse

consiste nel determinare le quantita da fabbricare di ciascun prodotto P1, . . . ,Pn

in modo da massimizzare il profitto rispettando i vincoli sulle risorse disponibili

o sui livelli di produzione richiesti.

Si indichi con aij , i = 1, . . . ,m, j = 1, . . . , n la quantita della risorsa Ri necessaria

per fabbricare una unita del prodotto Pj. Si puo cosı costruire la seguente tabella

P1 · · · Pj · · · Pn

R1 a11 · · · a1j · · · a1n...

......

...

Ri ai1 · · · aij · · · ain...

......

...

Rm am1 · · · amj · · · amn

Supponiamo che ciascuna risorsa Ri non possa superare un valore prefissato

bi, i = 1, . . . ,mR1 R2 · · · Rm

b1 b2 · · · bm

e che nella vendita di ciascuna unita di prodotto Pj si ricavi un profitto netto

cj , j = 1, . . . , nP1 P2 · · · Pn

c1 c2 · · · cn.

E utile ribadire le ipotesi gia esposte in precedenza le quali devono valere in

generale per la costruzione di modelli di Programmazione Lineare: proporziona-

lita, additivita, continuita cioe i consumi delle risorse e i ricavi ottenibili sono

proporzionali ai quantitativi di prodotto fabbricati; i consumi globali di risorse

e i ricavi totali si ottengono come somma dei consumi e dei ricavi marginali; le

variabili possono assumere valori frazionari.

Formulazione 1: risorse concorrenti.

Esaminiamo prima la situazione in cui il bene fabbricato per essere finito e pronto

per la vendita deve utilizzare tutte le risorse, anche se in misura diversa.

– Variabili di decisione. Si introducono le variabili di decisione x1, x2, . . . , xnrappresentanti (in un’opportuna unita di misura) la quantita di ciascun prodotto

P1,P2, . . . ,Pn. Queste saranno le incognite del problema. Tali variabili di

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 12: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

36 MODELLI DI PROGRAMMAZIONE LINEARE

decisione sono i cosiddetti livelli di attivita. Introducendo come spazio delle vari-

abili lo spazio delle n−uple reali IRn si puo considerare un x ∈ IRn definendo

x = (x1, . . . , xn)T .

– Funzione obiettivo. Per le ipotesi fatte la funzione obiettivo (da massimizzare)

puo essere scritta

z = c1x1 + . . .+ cnxn =

n∑

j=1

cjxj.

Introducendo c ∈ IRn, definito c = (c1, . . . , cn)T la funzione obiettivo puo essere

scritta in notazione vettoriale

z = cTx.

– Vincoli. Si devono introdurre i seguenti vincoli:

• Vincoli di capacita produttiva:

tenendo conto delle limitazioni delle risorse si hanno i seguenti m vincoli

a11x1+ . . . +a1nxn ≤ b1a21x1+ . . . +a2nxn ≤ b2

... . . ....

...

am1x1+ . . . +amnxn ≤ bm.

• Vincoli di non negativita:

le variabili devono essere non negative in quanto esse rappresentano livelli

di produzione e quindi si hanno i vincoli

xi ≥ 0, i = 1, . . . , n.

Introducendo la matrice (m× n)

A =

a11 . . . a1n...

...

am1 . . . amn

e il vettore b = (b1, . . . , bm)T la formulazione completa del problema puo essere

scritta nella forma

max cTx

Ax ≤ b

x ≥ 0.

E una formulazione generale (con solo vincoli di disuguaglianza e vincoli di non

negativita) in cui si puo porre un generico problema di allocazione ottima di

risorse.

Nella pratica, potrebbe essere necessario imporre ulteriori vincoli:

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 13: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 37

• Vincoli di domanda

- limitazioni inferiori sulle variabili xi cioe

xi ≥ li i = 1, . . . , n

con li ≥ 0 per assicurare che i prodotti siano fabbricati in quantita

significative. In questo caso, per ogni indice i per il quale li > 0 il

vincolo di non negativita xi ≥ 0 e ridondante.

- limitazioni superiori sulle variabili, cioe

xi ≤ ui i = 1, . . . , n

dovute ad eventuali possibilita limitate di assorbimento dei prodotti

da parte del mercato.

Introducendo le notazioni vettoriali l = (l1, . . . , ln)T e u = (u1, . . . , un)

T

questi vincoli possono essere scritti nella forma l ≤ x ≤ u, x ∈ IRn.

• Vincoli di interezza.

Se inoltre non ha senso considerare i prodotti quantita divisibili allora si

deve definire un modello di programmazione a numeri interi. Cioe nel caso

in cui non si possa supporre che i livelli di attivita siano frazionari (ad es.

se i prodotti sono quantita indivisibili come motori, lavatrici etc.), allora si

deve aggiungere il vincolo che le quantita xi siano intere.

Formulazione 2: risorse alternative.

Si consideri ora invece la situazione in cui il bene fabbricato per essere finito

e pronto per la vendita necessita esclusivamente di una risorsa. Nella pratica

questo puo accadere se, ad esempio, ciascun reparto in cui puo essere suddivisa

un’industria e in grado di produrre autonomamente ciascuno dei prodotti, ovvero

la lavorazione di un prodotto avviene esclusivamente in uno dei reparti disponibili.

– Variabili di decisione. Si introducono le variabili di decisione xij rappresentanti

la quantita di prodotto Pj da fabbricare utilizzando la risorsa Ri.

– Funzione obiettivo. Per le ipotesi fatte la funzione obiettivo (da massimizzare)

puo essere scritta

c1

m∑

i=1

xi1 + c2

m∑

i=1

xi2 + . . . + cn

m∑

i=1

xin =n∑

j=1

cj

m∑

i=1

xij.

– Vincoli. I vincoli di capacita produttiva sono della forma

a11x11+ . . . +a1nx1n ≤ b1a21x21+ . . . +a2nx2n ≤ b2

... . . ....

...

am1xm1+ . . . +amnxmn ≤ bm.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 14: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

38 MODELLI DI PROGRAMMAZIONE LINEARE

Infine si devono esplicitare i vincoli di non negativita della variabili cioe xij ≥ 0,

i = 1, . . . ,m, j = 1, . . . , n.

Come si puo facilmente osservare la matrice A dei coefficienti delle disequazioni

lineari che descrivono i vincoli e rimasta immutata rispetto alla matrice consid-

erata nella formulazione del caso delle risorse concorrenti gia vista, ma c’e una

sostanziale differenza nelle variabili.

Modelli multi–plant

Si tratta di problemi di pianificazione della produzione in cui modelli di grandi

dimensioni sono ottenuti come combinazione di modelli piu piccoli. Tali mod-

elli combinati sono sicuramente piu efficaci dei sottomodelli dai quali essi sono

costituiti. Esaminiamo un esempio di questa situazione.

Esempio 3.4.5 Un’industria manifatturiera possiede due impianti di produzione

e fabbrica due tipi di prodotti P1 e P2 utilizzando due macchine utensili: una

per la levigatura e una per la pulitura. Per avere un prodotto finito e necessaria

l’utilizzazione di entrambe le macchine. Il primo impianto ha una disponibilita

massima settimanale di 80 ore della macchina per la levigatura e di 60 ore della

macchina per la pulitura. Le disponibilita massime orarie delle due macchine nel

secondo impianto sono rispettivamente di 60 e 75 ore settimanali. La tabella che

segue riporta, per ciascun prodotto, il numero di ore di lavorazione necessarie su

ciascuna macchina per ottenere un prodotto finito (poiche le macchine possedute

dal secondo impianto sono piu vecchie, i tempi di utilizzo sono maggiori)

Impianto 1 Impianto 2

P1 P2 P1 P2

levigatura 4 2 5 3

pulitura 2 5 5 6

Inoltre ciascuna unita di prodotto utilizza 4 Kg di materiale grezzo. Il profitto

netto ottenuto dalla vendita di una unita di prodotto P1 e P2 e rispettivamente

di 10$ e 15$.

(a) Costruire un modello lineare che permetta di massimizzare il profitto comp-

lessivo ottenuto dalla vendita dei prodotti in ciascun impianto sapendo che

settimanalmente l’industria dispone di 75 Kg di materiale grezzo nel primo

impianto e di 45 Kg di materiale grezzo nel secondo impianto.

(b) Costruire un modello lineare che permetta di massimizzare il profitto com-

plessivo ottenuto dalla vendita dei prodotti supponendo che l’industria non

allochi a priori 75 Kg di materiale grezzo nel primo impianto e di 45 Kg di

materiale grezzo nel secondo impianto, ma lasci al modello la decisione di

come ripartire tra i due impianti 120 Kg complessivi disponibili di questo

materiale grezzo.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 15: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 39

Formulazione

– Variabili. Si introducono le variabili x1 e x2 associate alla quantita di prodotto

P1 e P2 fabbricato settimanalmente dal primo impianto e le variabili x3 e x4 as-

sociate alla quantita di prodotto P1 e P2 fabbricato settimanalmente dal secondo

impianto.

Formulazione del caso (a)

Questo caso, nella pratica, corrisponde a costruire due modelli indipendenti: uno

riferito al primo impianto, uno riferito al secondo impianto. Una “risorsa” (il

materiale grezzo) e gia allocata a priori.

Impianto 1: La formulazione relativa al primo impianto e:

max(10x1 + 15x2)

4x1 + 4x2 ≤ 75

4x1 + 2x2 ≤ 80

2x1 + 5x2 ≤ 60

x1 ≥ 0, x2 ≥ 0

Impianto 2: La formulazione relativa al secondo impianto e:

max(10x3 + 15x4)

4x3 + 4x4 ≤ 45

5x3 + 3x4 ≤ 60

5x3 + 6x4 ≤ 75

x3 ≥ 0, x4 ≥ 0

Formulazione del caso (b)

Questo caso corrisponde a costruire un unico modello comprendente entrambi

gli impianti. L’allocazione della “risorsa” data dal materiale grezzo e lasciata al

modello stesso.

La formulazione relativa a questo caso e:

max (10x1 + 15x2 + 10x3 + 15x4)

4x1 + 4x2 + 4x3 + 4x4 ≤120

4x1 + 2x2 ≤ 80

2x1 + 5x2 ≤ 60

5x3 + 3x4 ≤ 60

5x3 + 6x4 ≤ 75

x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 16: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

40 MODELLI DI PROGRAMMAZIONE LINEARE

Osservazione 3.4.6 Nel caso (b) si richiede al modello di ripartire i 120 Kg di

materiale grezzo piuttosto che effettuare un’allocazione arbitraria a priori, quindi

ci si puo aspettare una maggiore efficienza nell’allocazione di queste risorse nel

caso (b). Un confronto delle soluzioni ottime di questi problemi conferma questa

intuizione: infatti nel caso (a), ottimizzando la produzione dell’impianto 1 e quella

dell’impianto 2, si ottiene un guadagno complessivo di 225$+168.75$ = 393.75$,

mentre nel caso (b) si ottiene un guadagno di 404.15$.

Osservazione 3.4.7 Si osservi la particolare struttura della matrice dei coeffi-

cienti dei vincoli che e tipica dei problemi di questo tipo

4 2 0 0

2 5 0 0

0 0 5 3

0 0 5 6

Una matrice con questa struttura si chiama matrice a blocchi. Una siffatta strut-

tura permette di utilizzare metodi particolari per la soluzione del problema. In-

fatti possono essere utilizzate tecniche di decomposizione che consentono di ri-

solvere efficientemente anche problemi di questo tipo anche di dimensioni molto

elevate. Si osservi che le tecniche di decomposizione non consistono nella suddivi-

sione del problema in sottoproblemi, ma piuttosto con tale termine ci si riferisce

a procedure computazionali specifiche che pur considerando il problema comp-

lessivo sfruttano la sua particolare struttura. L’importanza della decomposizione

non e soltanto computazionale ma ha anche una significativa interpretazione eco-

nomica; infatti essa corrisponde a considerare una pianificazione decentralizzata.

Modelli multiperiodo

Si tratta di problemi di allocazione ottima di risorse limitate analoghi a quelli

gia trattati, ma dove la pianificazione e effettuata su un orizzonte temporale

composto da piu periodi elementari; si richiede, cioe, di estendere la program-

mazione mensile della produzione di un’azienda in modo da ottenere un piano

di produzione semestrale con possibilita di giacenze al termine di ciascun mese.

L’esempio che segue riporta una semplice situazione di questo tipo.

Esempio 3.4.8 Si consideri l’industria manifatturiera vista nel precedente Es-

empio 3.4.5 nel caso in cui abbia solamente il primo impianto di produzione. In

questo caso si deve programmare la produzione dei due prodotti P1 e P2 nelle

due successive settimane sapendo che nella prima settimana si potranno vendere

al piu 12 prodotti P1 e 4 prodotti P2, mentre nella seconda si potranno vendere

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 17: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 41

al piu 8 prodotti P1 e 12 prodotti P2. Inoltre nella prima settimana c’e la possi-

bilta di produrre piu prodotti rispetto a quelli che si possono vendere, immagazzi-

nando i prodotti in eccesso prevedendo un loro utilizzo nella settimana successiva.

Costruire un modello lineare che permetta di massimizzare il profitto complessivo

ottenuto dalla vendita dei prodotti nelle due settimane sapendo che settimanal-

mente l’industria dispone di 75 Kg di materiale grezzo e tenendo conto che il

costo di immagazzinamento di un prodotto (sia di tipo P1 sia di tipo P2) e di 2

$. Si ricorda che il profitto netto ottenuto dalla vendita di 1 unita di prodotto P1

e P2 e rispettivamente di 10$ e 15$.

Formulazione

– Variabili. Si introducono le variabili x1 e x2 associate alla quantita di prodotti

P1 e P2 fabbricati nella prima settimana, le variabili x3 e x4 associate alla quan-

tita di prodotti P1 e P2 fabbricati nella seconda settimana e le variabili y1 e y2che indicano le quantita di prodotti P1 e P2 fabbricati nella prima settimana ed

immagazzinati per venderli nella seconda.

– Funzione obiettivo. Nella prima settimana saranno vendute le quantita (x1−y1)di prodotto P1 e (x2 − y2) di prodotto P2, nella seconda le quantita (x3 +

y1) di prodotto P1 e (x4 + y2) di prodotto P2. Tenendo conto dei costi di

immagazzinamento si ottiene la seguente funzione obiettivo:

10(x1 − y1) + 15(x2 − y2) + 10(x3 + y1) + 15(x4 + y2)− 2(y1 + y2) =

10(x1 + x3) + 15(x2 + x4)− 2(y1 + y2).

– Vincoli. In questo problema si hanno nuovamente quattro tipologie di vincoli:

• i vincoli sulle capacita produttive nelle due settimane:

4x1 + 4x2 ≤ 75

4x1 + 2x2 ≤ 80

2x1 + 5x2 ≤ 60

4x3 + 4x4 ≤ 75

4x3 + 2x4 ≤ 80

2x3 + 5x4 ≤ 60

• vincoli che rappresentano il fatto che, alla fine della prima settimana, una

parte dei prodotti puo essere immagazzinata

x1 − y1 ≤ 12

x2 − y2 ≤ 4

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 18: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

42 MODELLI DI PROGRAMMAZIONE LINEARE

• vincoli che rappresentano il fatto che il numero dei prodotti disponibili nella

seconda settimana non deve superare le richieste del mercato

y1 + x3 ≤ 8

y2 + x4 ≤ 12

• vincoli che rappresentano la non negativita delle variabili

x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, y1 ≥ 0, y2 ≥ 0.

La formulazione relativa a questo problema e:

max(10(x1 + x2) + 15(x3 + x4) − 2(y1 + y2)

)

4x1 + 4x2 ≤ 75

4x1 + 2x2 ≤ 80

2x1 + 5x2 ≤ 60

4x3 + 4x4 ≤ 75

4x3 + 2x4 ≤ 80

2x3 + 5x4 ≤ 60

x1 − y1 ≤ 12

x2 − y2 ≤ 4

x3 + y1 ≤ 8

x4 + y2 ≤ 12

x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, y1 ≥ 0, y2 ≥ 0.

Osservazione 3.4.9 Se non si fosse prevista la possibilita di poter immagazz-

inare dei prodotti non venduti, si sarebbe dovuto massimizzare separatamente i

profitti ottenuti dalla vendita dei prodotti fabbricati nella prima e nella seconda

settimana risolvendo i seguenti problemi:

max(10x1 + 15x2)

4x1 + 4x2 ≤ 75

4x1 + 2x2 ≤ 80

2x1 + 5x2 ≤ 60

0 ≤ x1 ≤ 12

0 ≤ x2 ≤ 4,

max(10x1 + 15x2)

4x1 + 4x2 ≤ 75

4x1 + 2x2 ≤ 80

2x1 + 5x2 ≤ 60

0 ≤ x1 ≤ 8

0 ≤ x2 ≤ 12.

In questo caso si sarebbe ottenuto un guadagno complessivo di 180$ + 212$ =

392$. Mentre la soluzione ottima del modello di Programmazione Lineare, de-

scritto precedentemente e che prevedeva anche la possibilita di poter immagazz-

inare i prodotti non venduti, porta ad un guadagno di 429.1$. Questo mette in

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 19: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 43

evidenza la convenienza di effettuare una programmazione complessiva sulle due

settimane, prevedendo la possibilita di produrre nella prima settimana di piu di

quanto si possa vendere e considerando anche le spese relative all’immagazzinamento

dei prodotti non venduti.

Osservazione 3.4.10 Si osservi che i primi sei vincoli del precedente modello

multiperiodo presentano una struttura particolare. Infatti possono essere rapp-

resentati da una matrice a blocchi (in particolare nell’esempio considerato tutti i

blocchi sono uguali). Il fatto di avere la maggior parte dei vincoli con una strut-

tura a blocchi e una caratteristica di tutti i modelli multiperiodo. Come detto per

i modelli multi-plan, questa particolare struttura puo essere sfruttata attraverso

l’uso di tecniche di decomposizione in modo da risolvere efficientemente anche

problemi di questo tipo di grosse dimensioni.

Esaminiamo ora un altro modello multiperiodo.

Esempio 3.4.11 Una fabbrica produce due tipi di pneumatici A e B ed ha una

gestione trimestrale della produzione. Per i prossimi tre mesi deve soddisfare il

seguente ordine (espresso in numero di pneumatici richiesti ciascun mese)

tipo A tipo B

ottobre 16000 14000

novembre 7000 4000

dicembre 4000 6000

Per la produzione di questi pneumatici la fabbrica dispone di due linee di pro-

duzione L1 e L2. Per avere un pneumatico finito e pronto per essere venduto, e

necessaria la lavorazione di materiale grezzo su solo una delle due linee di pro-

duzione. Il numero di ore in cui le linee di produzione sono disponibili ciascun

mese sono riportate nella seguente tabella

L1 L2

ottobre 2000 3000

novembre 400 800

dicembre 200 1000

I tempi necessari per produrre questi pneumatici varia a seconda del tipo e della

linea di produzione usata. Tali tempi sono riportati nella seguente tabella (in ore)

L1 L2

tipo A 0.10 0.12

tipo B 0.12 0.18

Il costo di ogni ora di lavorazione su una linea di produzione e uguale per entrambe

le linee ed e pari a 6 euro. Il costo del materiale grezzo necessario per produrre

ciascun pneumatico e di euro 2.50 per il tipo A e di euro 4.00 per il tipo B.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 20: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

44 MODELLI DI PROGRAMMAZIONE LINEARE

Nel primo e nel secondo mese del trimestre e possibile produrre piu di quanto

richiesto nello stesso mese; la produzione in eccesso deve essere immagazzinata

per essere usata nel mese successivo. Ogni mese, il costo di tale immagazzina-

mento e di euro 0.35 per ciascun pneumatico immagazzinato. Si assuma che

all’inizio del trimestre non ci sia nessun prodotto immagazzinato e analogamente

alla fine del trimestre non rimanga nessun prodotto immagazzinato.

Costruire un modello lineare che permetta di pianificare la produzione trimestrale

minimizzando il costo complessivo trascurando l’interezza dei prodotti.

Formulazione.

Si tratta di un problema di allocazione ottima di risorse nel quale si deve tenere

presente la possibilita dell’immagazzinamento del prodotto in eccesso (allocazione

ottima multiperiodo).

– Variabili. Si introducono le variabili AottLi , A

novLi , Adic

Li che indicano la quantita di

pneumatici di tipo A prodotti dalla i−esima linea produzione (i = 1, 2) rispettiva-

mente nei mesi di ottobre, novembre e dicembre. Analogamente BottLi , B

novLi , Bdic

Li

indicheranno le quantita di pneumatici di tipo B prodotti dalla i−esima linea di

produzione (i = 1, 2) rispettivamente nei mesi di ottobre, novembre e dicembre.

Si indichino inoltre con Aottim, Anov

im , Bottim , Bnov

im le quantita di pneumatici di tipo

A e B da immagazzinare nei mesi di ottobre e novembre.

– Funzione obiettivo. La funzione obiettivo da minimizzare e data dal costo com-

plessivo di produzione. Poiche un’ora di lavorazione su una linea di produzione

costa 6 euro, e poiche i tempi di lavorazione cambiano a seconda della linea di

produzione utilizzata, per produrre ciascun pneumatico di tipo A si spende euro

0.60 se si utilizza la linea L1 e euro 0.72 se si utilizza la linea L2. Analogamente,

il costo di ciascun pneumatico del tipo B e di euro 0.72 se si utilizza la macchina

1, e di euro 1.08 se si utilizza la linea L2. Quindi tenendo conto del costo del

materiale grezzo e dell’immagazzinamento, il costo complessivo sara

0.6(AottL1 +Anov

L1 +AdicL1 ) + 0.72(Aott

L2 +AnovL2 +Adic

L2 )+

+0.72(BottL1 +Bnov

L1 +BdicL1 ) + 1.08(Bott

L2 +BnovL2 +Bdic

L2 )+

+2.50(AottL1 +Anov

L1 +AdicL1 +Aott

L2 +AnovL2 +Adic

L2 )+

+4.00(BottL1 +Bnov

L1 +BdicL1 +Bott

L2 +BnovL2 +Bdic

L2 )+

+0.35(Aottim +Anov

im +Bottim +Bnov

im ).

– Vincoli. I vincoli dovuti alla disponibilita limitata delle macchine sono

0.10AottL1 + 0.12Bott

L1 ≤ 2000

0.10AnovL1 + 0.12Bnov

L1 ≤ 400

0.10AdicL1 + 0.12Bdic

L1 ≤ 200

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 21: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 45

0.12AottL2 + 0.18Bott

L2 ≤ 3000

0.12AnovL2 + 0.18Bnov

L2 ≤ 800

0.12AdicL2 + 0.18Bdic

L2 ≤ 1000.

Si hanno inoltre i seguenti vincoli dovuti alla richiesta e all’immagazzinamento:

AottL1 +Aott

L2 = 16000 +Aottim

AnovL1 +Anov

L2 +Aottim = 7000 +Anov

im

AdicL1 +Adic

L2 +Anovim = 4000

BottL1 +Bott

L2 = 14000 +Bottim

BnovL1 +Bnov

L2 +Bottim = 4000 +Bnov

im

BdicL1 +Bdic

L2 +Bnovim = 6000.

Si hanno infine i vincoli di non negativita sulle variabili. Quindi il modello finale

e:

min(3.1(Aott

L1 +AnovL1 +Adic

L1 ) + 3.22(AottL2 +Anov

L2 +AdicL2 )+

+4.72(BottL1 +Bnov

L1 +BdicL1 ) + 5.08(Bott

L2 +BnovL2 +Bdic

L2 )+

+0.35(Aottim +Anov

im +Bottim +Bnov

im ))

0.10AottL1 + 0.12Bott

L1 ≤ 2000

0.10AnovL1 + 0.12Bnov

L1 ≤ 400

0.10AdicL1 + 0.12Bdic

L1 ≤ 200

0.12AottL2 + 0.18Bott

L2 ≤ 3000

0.12AnovL2 + 0.18Bnov

L2 ≤ 800

0.12AdicL2 + 0.18Bdic

L2 ≤ 1000

AottL1 +Aott

L2 = 16000 +Aottim

AnovL1 +Anov

L2 +Aottim = 7000 +Anov

im

AdicL1 +Adic

L2 +Anovim = 4000

BottL1 +Bott

L2 = 14000 +Bottim

BnovL1 +Bnov

L2 +Bottim = 4000 +Bnov

im

BdicL1 +Bdic

L2 +Bnovim = 6000

AottLi ≥ 0, Anov

Li ≥ 0, AdicLi ≥ 0, i = 1, 2

BottLi ≥ 0, Bnov

Li ≥ 0, BdicLi ≥ 0, i = 1, 2.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 22: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

46 MODELLI DI PROGRAMMAZIONE LINEARE

3.4.2 Modelli di miscelazione

Nei modelli di allocazione ottima le risorse devono essere ripartite mentre nei

modelli di miscelazione le risorse devono essere combinate tra di loro. I modelli

di miscelazione decidono come combinare (miscelare) tali risorse in maniera da

soddisfare al meglio determinati obiettivi rispettando opportune richieste.

Esempio 3.4.12 Un’industria conserviera deve produrre succhi di frutta mesco-

lando polpa di frutta e dolcificante ottenendo un prodotto finale che deve soddis-

fare alcuni requisiti riguardanti il contenuto di vitamina C, di sali minerali e di

zucchero. La polpa di frutta e il dolcificante vengono acquistati al costo rispetti-

vamente di 4 Euro e 6 Euro ogni ettogrammo. Inoltre dalle etichette si ricava che

100 grammi di polpa di frutta contengono 140 mg di vitamina C, 20 mg di sali

minerali e 25 grammi di zucchero, mentre 100 grammi di dolcificante contengono

10 mg di sali minerali, 50 grammi di zucchero e non contengono vitamina C.

I requisiti che il prodotto finale (cioe il succo di frutta pronto per la vendita)

deve avere sono i seguenti: il succo di frutta deve contenere almeno 70 mg di

vitamina C, almeno 30 mg di sali minerali e almeno 75 grammi di zucchero. Si

devono determinare le quantita di polpa di frutta e di dolcificante da utilizzare

nella produzione del succo di frutta in modo da minimizzare il costo complessivo

dell’acquisto dei due componenti base.

Formulazione.

Si vuole costruire un modello di Programmazione Lineare che rappresenti il prob-

lema in analisi tenendo presente i requisiti di qualita richiesti. Si verifica facil-

mente che le ipotesi fondamentali di un modello di Programmazione Lineare sono

soddisfatte.

– Variabili. E naturale associare la variabili di decisione alle quantita di polpa di

frutta e di dolcificante da utilizzare per la produzione del succo di frutta. Quindi

siano x1 e x2 rispettivamente le quantita espresse in ettogrammi di polpa di frutta

e di dolcificante che devono essere utilizzate.

– Funzione obiettivo. E rappresentata dal costo complessivo dell’acquisto dei due

componenti base e quindi e data (in centesimi di Euro) da 400x1+600x2. Questa

espressione naturalmente deve essere minimizzata.

– Vincoli. Poiche un ettogrammo di polpa contiene 140 mg di vitamina C e il

dolcificante non contiene vitamina C, il primo vincolo da considerare riguardante

il contenuto di vitamina C del succo di frutta si puo scrivere nella forma

140x1 ≥ 70.

Analogamente per rispettare il requisito sul contenuto di sali minerali del succo

di frutta si dovra imporre il vincolo

20x1 + 10x2 ≥ 30.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 23: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 47

Infine il vincolo sul contenuto di zucchero del succo di frutta si puo esprimere

nella forma

25x1 + 50x2 ≥ 75.

Infine si deve esplicitare il vincolo di non negativita sulle variabili cioe

x1 ≥ 0, x2 ≥ 0.

Quindi la formulazione finale e

min(400x1 + 600x2)

140x1 ≥ 70

20x1 + 10x2 ≥ 30

25x1 + 50x2 ≥ 75

x1 ≥ 0, x2 ≥ 0

Esempio 3.4.13 – Il problema della dieta a costo minimo

Una dieta prescrive che giornalmente devono essere assimilate quantita predeter-

minate di calorie, proteine e calcio, intese come fabbisogni minimi giornalieri,

disponendo di cinque alimenti base (pane, latte, uova, carne, dolce). Tali fab-

bisogni minimi sono di 2000 calorie, 50 g. di proteine, 700 mg. di calcio. Dalle

tabelle dietetiche si ricavano i seguenti contenuti di calorie (in cal.), proteine (in

g.), calcio (in mg.) per ogni singola porzione di ciascun alimento, intendendo

come porzione una quantita espressa in grammi e quindi frazionabile.

Pane Latte Uova Carne Dolce

calorie 110 160 180 260 420

proteine 4 8 13 14 4

calcio 2 285 54 80 22

I costi (in Euro) e il numero massimo di porzioni tollerate giornalmente sono i

seguenti

Pane Latte Uova Carne Dolce

costo 2 3 4 19 20

porz. 4 8 3 2 2

Determinare una dieta a costo minimo che soddisfi le prescrizioni richieste.

Formulazione.

Poiche si e supposto che le porzioni siano frazionabili ed inoltre valgono le ipotesi

di linearita, si puo costruire un modello di Programmazione Lineare per rappre-

sentare il problema in analisi.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 24: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

48 MODELLI DI PROGRAMMAZIONE LINEARE

– Variabili. E ovvio introdurre le variabili x1, x2, x3, x4, x5 indicanti le quantita

di porzioni dei singoli alimenti da includere giornalmente nella dieta.

– Funzione obiettivo. E rappresentata dal costo complessivo ed e quindi data da

2x1 + 3x2 + 4x3 + 19x4 + 20x5.

– Vincoli. Poiche sono prescritti i fabbisogni minimi giornalieri, si avranno i

seguenti vincoli:

calorie −→ 110x1 + 160x2 + 180x3 + 260x4 + 420x5 ≥ 2000

proteine −→ 4x1 + 8x2 + 13x3 + 14x4 + 4x5 ≥ 50

calcio −→ 2x1 + 285x2 + 54x3 + 80x4 + 22x5 ≥ 700

Inoltre i vincoli sul numero massimo di porzioni giornaliere di ciascun alimento e

di non negativita

0 ≤ x1 ≤ 4, 0 ≤ x2 ≤ 8, 0 ≤ x3 ≤ 3, 0 ≤ x4 ≤ 2, 0 ≤ x5 ≤ 2.

La formulazione completa sara quindi

min (2x1 + 3x2 + 4x3 + 19x4 + 20x5)

110x1 + 160x2 + 180x3 + 260x4 + 420x5 ≥ 2000

4x1 + 8x2 + 13x3 + 14x4 + 4x5 ≥ 50

2x1 + 285x2 + 54x3 + 80x4 + 22x5 ≥ 700

0 ≤ x1 ≤ 4, 0 ≤ x2 ≤ 8, 0 ≤ x3 ≤ 3, 0 ≤ x4 ≤ 2, 0 ≤ x5 ≤ 2.

Se inoltre si vuole supporre, ad esempio, che nella dieta sia presente almeno una

porzione di dolce e due di latte si dovranno imporre i vincoli x5 ≥ 1 e x2 ≥ 2

da aggiungere alla precedente formulazione. In questo caso, i vincoli gia presenti

x5 ≥ 0 e x2 ≥ 0 sono ridondanti.

Formulazione generale di un problema di miscelazione

Formalmente, supponiamo di disporre di n sostanze diverse che indichiamo con

S1,S2, . . . ,Sn ciascuna delle quali contenga una certa quantita di ciascuno degli

m componenti utili che indichiamo con C1,C2, . . . ,Cm. Supponendo che ogni

sostanza Sj abbia costo unitario cj , j = 1, . . . , n

S1 S2 · · · Sn

c1 c2 · · · cn

si desidera ottenere la miscela piu economica che soddisfi alcuni requisiti quali-

tativi, cioe contenga una quantita non inferiore a bi di ciascun Ci, i = 1, . . . ,m

C1 C2 · · · Cm

b1 b2 · · · bm.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 25: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 49

Si indichi con aij , i = 1, . . . ,m, j = 1, . . . , n la quantita di componenteCi presente

nella sostanza Sj. Si puo cosı costruire la seguente tabella

S1 · · · Sj · · · Sn

C1 a11 · · · a1j · · · a1n...

......

...

Ci ai1 · · · aij · · · ain...

......

...

Cm am1 · · · amj · · · amn

Formulazione.

Supponendo che valgano le ipotesi di proporzionalita, additivita ed inoltre as-

sumendo che le quantita di sostanze da utilizzare siano frazionabili, si puo for-

mulare questo problema in termini di un problema di Programmazione Lineare.

– Variabili. E naturale introdurre le variabili di decisione x1, x2, . . . , xn rapp-

resentanti la quantita di ciascuna sostanza S1,S2, . . . ,Sn da utilizzare nella

miscela. Queste saranno le incognite del problema. Introducendo come spazio

delle variabili lo spazio delle n−uple reali IRn si puo considerare un x ∈ IRn

definendo x = (x1, . . . , xn)T .

– Funzione obiettivo. Per le ipotesi fatte, la funzione obiettivo puo essere scritta

z = c1x1 + . . .+ cnxn =n∑

j=1

cjxj.

Introducendo c ∈ IRn, definito c = (c1, . . . , cn)T , la funzione obiettivo puo essere

scritta in notazione vettoriale

z = cTx.

– Vincoli. Si devono introdurre i seguenti vincoli:

• Vincoli di qualita.

Tenendo conto del fatto che la miscela deve contenere una quantita non

inferiore a bi di ciascun componente Ci si dovra avere

n∑

j=1

aijxj ≥ bi, i = 1, . . . ,m.

• Vincoli di non negativita.

Si devono infatti considerare i vincoli di non negativita sulle variabili cioe

xj ≥ 0, j = 1, . . . , n.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 26: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

50 MODELLI DI PROGRAMMAZIONE LINEARE

Introducendo la matrice (m× n)

A =

a11 . . . a1n...

...

am1 . . . amn

e il vettore b = (b1, . . . , bm)T la formulazione completa del problema puo essere

scritta nella forma

min cTx

Ax ≥ b

x ≥ 0.

Nella pratica, potrebbe essere necessario introdurre ulteriori vincoli:

• possono essere presenti limitazioni superiori o inferiori sulle variabili cioe

xj ≥ L, xj ≤M , j = 1, . . . , n;

• se e richiesto anche che la miscela contenga una quantita non superiore ad

un valore di di ciascun componente Ci si dovra aggiungere alla formulazione

un altro vincolo di qualita:

n∑

j=1

aijxj ≤ di, i = 1, . . . ,m;

• in alcuni casi si richiede che una certa sostanza appartenga alla miscela

solo se un’altra sostanza vi appartiene (o non vi appartiene). Questi vincoli

richiedono l’uso di variabili booleane come descritto in seguito.

Esempio 3.4.14 Il prodotto finale di una fabbrica e ottenuto raffinando materie

prime grezze e miscelandole insieme. Queste materie prime possono essere di

due categorie: naturali e sintetizzate. In particolare, sono disponibili tre materie

prime naturali (N1, N2, N3) e due materie prime sintetizzate (S1, S2). Le ma-

terie prime naturali e quelle sintetizzate richiedono differenti linee di produzione.

Ogni settimana e possibile raffinare non piu di 500 quintali di materie prime nat-

urali e non piu di 300 quintali di materie prime sintetizzate. Si assume che non ci

sia perdita di peso durante la raffinazione e che si possa trascurare il costo di raf-

finazione. Inoltre esiste una restrizione tecnologica sulla gradazione del prodotto

finale: nell’unita di misura in cui questa gradazione e misurata, essa deve essere

tra 2 e 7; si assume che tale gradazione nella miscela finale dipenda linearmente

dalle singole gradazioni delle materie prime componenti. Nella tabella che segue

e riportato il costo (in euro) per quintale e la gradazione delle materie prime

grezze.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 27: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 51

N1 N2 N3 S1 S2

costo 300 190 250 200 230

grad. 6.0 1.9 8.5 5.0 3.5

Il prodotto finale viene venduto a 350 euro per quintale. Determinare come va

pianificata la produzione settimanale per massimizzare il profitto netto.

Formulazione.

– Variabili. Introduciamo le variabili di decisione x1, x2, x3, x4, x5 rappresentanti

le quantita (in quintali) di N1, N2, N3, S1, S2 che devono essere comprate

e raffinate in una settimana. Inoltre introduciamo una ulteriore variabile y che

indica la quantita di prodotto finale che deve essere fabbricato.

– Funzione obiettivo. La funzione obiettivo da massimizzare sara data dal profitto

netto cioe da

350y − 300x1 − 190x2 − 250x3 − 200x4 − 230x5.

– Vincoli. Sono presenti tre tipi di vincoli

· capacita di raffinamento

x1 + x2 + x3 ≤ 500

x4 + x5 ≤ 300;

· limitazioni sulla gradazione

6.0x1 + 1.9x2 + 8.5x3 + 5.0x4 + 3.5x5 ≤ 7y

6.0x1 + 1.9x2 + 8.5x3 + 5.0x4 + 3.5x5 ≥ 2y;

· vincolo di continuita

x1 + x2 + x3 + x4 + x5 = y.

Questo vincolo di continuita esprime il fatto che il peso finale del prodotto

deve essere uguale alla somma dei pesi degli ingredienti.

Inoltre si devono esplicitare i vincoli di non negativita delle variabili.

La formulazione finale risulta quindi

max (−300x1 − 190x2 − 250x3 − 200x4 − 230x5 + 350y)

x1 + x2 + x3 ≤ 500

x4 + x5 ≤ 300

6.0x1 + 1.9x2 + 8.5x3 + 5.0x4 + 3.5x5 − 7y ≤ 0

6.0x1 + 1.9x2 + 8.5x3 + 5.0x4 + 3.5x5 − 2y ≥ 0

x1 + x2 + x3 + x4 + x5 − y = 0

x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0, y ≥ 0

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 28: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

52 MODELLI DI PROGRAMMAZIONE LINEARE

Osservazione 3.4.15 Un errore comune e quello di scrivere i vincoli sulla gra-

dazione

6.0x1 + 1.9x2 + 8.5x3 + 5.0x4 + 3.5x5 ≤ 7

6.0x1 + 1.9x2 + 8.5x3 + 5.0x4 + 3.5x5 ≥ 2.

Queste relazioni sono evidentemente dimensionalmente errate: il primo mem-

bro ha le dimensioni di gradazione × quantita mentre il secondo membro ha le

dimensioni della gradazione. Tuttavia, invece delle variabili xi in queste due dis-

uguaglianze si potevano usare le variabili xi/y per rappresentare le proporzioni

degli ingredienti, piuttosto che le quantita assolute xi; ovviamente, in questo caso

si dovevano modificare anche le altre espressioni. Comunque, l’uso delle variabili

xi/y e ovviamente possibile solo nel caso in cui la quantita di prodotto fabbricato

e non nulla, cioe y 6= 0.

Modelli di input–output

I modelli di miscelazione possono essere visti come modelli piu generali in cui le

sostanze Sj e i componenti utili Ci sono genericamente definiti come “input” e

“output”; per ogni input j si deve decidere la quantita xj da utilizzare incorrendo

in un costo cjxj e creando aijxj unita di output i. Lo scopo e quello di deter-

minare la combinazione a piu basso costo di input che fornisce, per ogni output

i, una quantita di unita di output compresa tra valori prefissati. Nei modelli di

miscelazione analizzati fino ad ora, gli input sono dati dalle sostanze che devono

essere mescolate, gli output sono dati dalle qualita della miscela risultante.

Un esempio di questa generalizzazione e dato dai problemi di assegnazione di

personale a turni che rappresentano problemi di fondamentale importanza in di-

versi settori applicativi; in questo caso gli output possono corrispondere alle ore

lavorate in un certo giorno i e, per ogni turno lavorativo j, aij rappresenta il

numero di ore che una persona assegnata al turno j lavorera il giorno i (ponendo

aij = 0 se la persona assegnata al turno j non lavora il giorno i); le cj rappre-

sentano il salario di una persona assegnata al turno j e xj il numero di persone

assegnate a quel turno. In questo contesto, la funzione obiettivo diventa il costo

totale dei salari mensile, mentre i vincoli diventano quelli dovuti al fatto che ogni

giorno i, il numero totale di ore lavorative fornite dalle persone che lavorano quel

giorno deve essere pari ad almeno un valore prefissato bi. Supponendo di voler

considerare n giorni e m possibili turni, un modello di Programmazione Lineare

che rappresenti questa situazione e dato da

min c1x1 + . . .+ cnxn

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 29: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 53

a11x1+ . . . +a1nxn ≥ b1a21x1+ . . . +a2nxn ≥ b2

... . . ....

...

am1x1+ . . . +amnxn ≥ bm

xj ≥ 0, j = 1, . . . , n.

In questo caso pero, a differenza degli altri casi di miscelazione visti fino ad

ora, l’assunzione di continuita delle variabili non e molto plausibile e potrebbe

risultare necessario introdurre il vincolo di interezza sulle variabili.

Il concetto di modello di “input–output” fu una delle prime applicazioni della

Programmazione Lineare nelle analisi economiche.

Si riporta, di seguito, un semplice esempio di assegnamento di personale a turni

di lavoro.

Esempio 3.4.16 Un catena di ristoranti opera sette giorni alla settimana e

richiede il seguente numero minimo di camerieri:

Lun. Mar. Mer. Giov. Ven. Sab. Dom.

52 50 47 55 70 40 40

Ciascun cameriere lavora seguendo turni cosı definiti: cinque giorni lavorativi

ogni settimana e due di riposo; inoltre sono possibili al piu quattro giorni con-

secutivi di lavoro seguiti da uno di riposo; inoltre uno solo dei due giorni del

fine settimana (sabato o domenica) deve far parte del turno di lavoro. I turni

risultanti sono sei e sono schematizzati nella tabella che segue (dove “L” indica

giornata lavorativa e “R” riposo):

Turni: 1o 2o 3o 4o 5o 6o 7o 8o

Lun. L R L L L L L L

Mar. L L R L L R L L

Mer. L L L R L L R L

Giov. L L L L R L L R

Ven. R L L L L L L L

Sab. L R L R L R L R

Dom. R L R L R L R L

Il salario settimanale di un cameriere e pari a 250 Euro se assegnato ad un turno

che non comprende la domenica, mentre e pari a 270 Euro se il turno comprende

anche la domenica. Il gestore di questa catena di ristoranti vuole minimizzare

il costo che deve sostenere per retribuire i camerieri in modo da soddisfare le

richieste giornaliere.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 30: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

54 MODELLI DI PROGRAMMAZIONE LINEARE

Formulazione.

–Variabili. Si associano le variabili di decisione xj al numero di camerieri asseg-

nati al turno j, j = 1, . . . , 8.

–Funzione obiettivo. E data dal salario complessivo dei camerieri e quindi puo

essere espressa nella forma

250x1 + 270x2 + 250x3 + 270x4 + 250x5 + 270x6 + 250x7 + 270x8.

–Vincoli. I vincoli sono dovuti al fatto che ogni giorno c’e una richiesta minima

di camerieri. Osservando ogni giorno quale turno prevede il lavoro o il riposo si

ottengono i seguenti vincoli

x1 + x3 + x4 + x5 + x6 + x7 + x8 ≥ 52

x1 + x2 + x4 + x5 ++x7 + x8 ≥ 50

x1 + x2 + x3 + x5 + x6 + x8 ≥ 47

x1 + x2 + x3 + x4 + x6 + x7 ≥ 55

x2 + x3 + x4 + x5 + x6 + x7 + x8 ≥ 70

x1 + x3 + x5 + x7 ≥ 40

x2 + x4 + x6 + x8 ≥ 40

Si deve inoltre esplicitare la non negativita delle variabili xj ≥ 0, j = 1, . . . , 8 e

l’interezza xj ∈ Z, j = 1, . . . , 8.

La formulazione completa sara quindi

min (250x1 + 270x2 + 250x3 + 270x4 + 250x5 + 270x6 + 250x7 + 270x8)

x1 + x3 + x4 + x5 + x6 + x7 + x8 ≥ 52

x1 + x2 + x4 + x5 + x7 + x8 ≥ 50

x1 + x2 + x3 + x5 + x6 + x8 ≥ 47

x1 + x2 + x3 + x4 + x6 + x7 ≥ 55

x2 + x3 + x4 + x5 + x6 + x7 + x8 ≥ 70

x1 + x3 + x5 + x7 ≥ 40

x2 + x4 + x6 + x8 ≥ 40

xj ≥ 0, xj ∈ Z, i = 1, . . . , 8

E chiaramente riconoscibile questa formulazione come un modello di miscelazione;

e sufficiente, infatti, introdurre la matrice A che definisce i vincoli di un problema

di miscelazione nel seguente modo:

aij =

{1 se nel posto (i, j) della tabella c’e la lettera “L”

0 se nel posto (i, j) della tabella c’e la lettera “R”.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 31: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 55

3.4.3 Modelli di trasporto

Si tratta di problemi in cui si hanno un certo numero di localita (origini) cias-

cuna delle quali ha una quantita fissata di merce disponibile e un certo numero

di clienti residenti in altre localita (destinazioni) i quali richiedono quantitativi

precisi di merce. Quindi conoscendo il costo unitario del trasporto della merce da

ciascuna localita origine a ciascuna localita destinazione e necessario pianificare

i trasporti, cioe la quantita di merce che deve essere trasportata da ciascuna lo-

calita origine a ciascuna localita destinazione in modo da soddisfare l’ordine dei

clienti minimizzando il costo complessivo derivante dai trasporti.

Esempio 3.4.17 Un’industria dell’acciaio dispone di due miniere M1 e M2 e

di tre impianti di produzione P1 P2 P3. Il minerale estratto deve essere giornal-

mente trasportato agli impianti di produzione soddisfacendo le rispettive richieste.

Le miniere M1 e M2 producono giornalmente rispettivamente 130 e 200 tonnel-

late di minerale. Gli impianti richiedono giornalmente le seguenti quantita (in

tonnellate) di minerale

P1 P2 P3

80 100 150

Il costo (in euro) del trasporto da ciascuna miniera a ciascun impianto di pro-

duzione di una tonnellata di minerale e riportato nella seguente tabella

P1 P2 P3

M1 10 8 21

M2 12 20 14

Formulare un modello che descriva il trasporto dalle miniere agli impianti di

produzione in modo da minimizzare il costo globale del trasporto.

Analisi del problema.

E un problema di trasporti con 2 origini (M1, M2) e 3 destinazioni (P1 P2 P3).

Si noti che risulta 130+200 = 330 e 80+100+150 = 330, ovvero la somma delle

disponiblita uguaglia la somma delle richieste.

Formulazione.

– Variabili. Associamo le variabili di decisione alle quantita di minerale che deve

essere trasportato; indichiamo con xij i = 1, 2, j = 1, 2, 3, le quantita (in

tonnellate) di minerale da trasportare giornalmente da ciascuna miniera Mi a

ciascun impianto di produzione Pj.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 32: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

56 MODELLI DI PROGRAMMAZIONE LINEARE

– Funzione obiettivo. La funzione obiettivo da minimizzare e data dalla somma

dei costi dei trasporti cioe da

z = 10x11 + 8x12 + 21x13 + 12x21 + 20x22 + 14x23.

– Vincoli. I vincoli di origine esprimono il fatto che la somma della quantita

di minerale trasportato dalla miniera Mi deve essere uguale alla disponibilita

giornaliera della miniera stessa:

x11 + x12 + x13 = 130

x21 + x22 + x23 = 200.

I vincoli di destinazione esprimono il fatto che la somma delle quantita di min-

erale trasportato all’impianto di produzione Pj deve essere pari alla richiesta

giornaliera di tale impianto:

x11 + x21 = 80

x12 + x22 = 100

x13 + x23 = 150.

Infine si devono considerare i vincoli di non negativita xij ≥ 0, i = 1, 2, j =

1, 2, 3.

La formulazione completa e quindi

min (10x11 + 8x12 + 21x13 + 12x21 + 20x22 + 14x23)

x11 + x12 + x13 = 130

x21 + x22 + x23 = 200

x11 + x21 = 80

x12 + x22 = 100

x13 + x23 = 150

xij ≥ 0, i = 1, 2, j = 1, 2, 3.

Formulazione generale di un problema di trasporti

Sono definite m localita origini indicate con O1, . . . ,Om, e n localita destinazioni

indicate con D1, . . . ,Dn. Ogni origine Oi, (i = 1, . . . ,m) puo fornire una certa

disponibilita ai ≥ 0 di merce che deve essere trasferita dalle origini alle desti-

nazioniO1 · · · Om

a1 · · · am.

Ad ogni destinazione Dj, (j = 1, . . . , n) e richiesta una quantita bj ≥ 0 di merce.

D1 · · · Dn

b1 · · · bn.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 33: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 57

Supponiamo che il costo del trasporto di una unita di merce da Oi a Dj sia

pari a cij. Tali costi nella realta sono spesso collegati alle distanze tra origini e

destinazioni.

Il problema consiste nel pianificare i trasporti in modo da soddisfare le richieste

delle destinazioni minimizzando il costo del trasporto complessivo nella seguente

ipotesi:

• la disponibilita complessiva uguaglia la richiesta complessiva, cioe

m∑

i=1

ai =n∑

j=1

bj ; (3.4.1)

si escludono possibilita di giacenze nelle origini, cioe tutta la merce prodotta

in una origine deve essere trasportata in una delle destinazioni; si escludono

possibilita di giacenze nelle destinazioni, cioe la quantita totale che arriva in una

destinazione Dj deve uguagliare la richiesta bj.

Formulazione.

Si vuole dare una formulazione del problema in esame in termini di un problema

di programmazione lineare supponendo quindi che siano verificate le ipotesi di

linearita e continuita.

– Variabili. Per ogni coppia di origine e destinazione Oi, Dj si introducono le

variabili di decisione xij rappresentanti la quantita di merce da trasportare da

Oi, a Dj. Si tratta di mn variabili

D1 · · · Dj · · · Dn

O1 x11 · · · x1j · · · x1n...

......

...

Oi xi1 · · · xij · · · xin...

......

...

Om xm1 · · · xmj · · · xmn

– Funzione obiettivo. La funzione obiettivo da minimizzare sara data da costo

totale del trasporto e quindi da

z =

m∑

i=1

n∑

j=1

cijxij .

– Vincoli. Per le ipotesi fatte, si avranno due tipi di vincoli:

• vincoli di origine

n∑

j=1

xij = ai i = 1, . . . ,m; (3.4.2)

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 34: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

58 MODELLI DI PROGRAMMAZIONE LINEARE

impongono che tutta la merce prodotta in una origine sia trasportata alle

destinazioni; si tratta di m vincoli;

• vincoli di destinazione

m∑

i=1

xij = bj j = 1, . . . , n; (3.4.3)

impongono che la quantita totale di merce che arriva in ciascuna delle des-

tinazioni uguaglia la richiesta; si tratta si n vincoli.

Si devono infine considerare i vincoli di non negativita delle variabili

xij ≥ 0 i = 1, . . . , n; j = 1, . . . ,m.

Si e cosı ottenuta una formulazione del problema dei trasporti con mn variabili

e m+ n+mn vincoli:

min

m∑

i=1

n∑

j=1

cijxij

n∑

j=1

xij = ai i = 1, . . . ,m

m∑

i=1

xij = bj j = 1, . . . , n

xij ≥ 0 i = 1, . . . , n; j = 1, . . . ,m.

(3.4.4)

Osservazione 3.4.18 E chiaro che per le ipotesi fatte dovra risultare

m∑

i=1

n∑

j=1

xij =

n∑

j=1

m∑

i=1

xij =

m∑

i=1

ai =

n∑

j=1

bj .

Esaminiamo, ora, un risultato che e una condizione necessaria e sufficiente affinche

un generico problema dei trasporti scritto nella forma (3.4.4) con ai ≥ 0 e bj ≥ 0

abbia soluzione; tale risultato chiarisce perche nella formulazione classica del

problema dei trasporti si adotta l’ipotesi (3.4.1) cioe che la disponibilita comp-

lessiva uguagli la richiesta complessiva.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 35: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

CLASSI DI MODELLI DI PROGRAMMAZIONE LINEARE 59

Teorema 3.4.1 Condizione necessaria e sufficiente affinche esista una

soluzione ammissibile per problema (3.4.4), e che risulti

m∑

i=1

ai =n∑

j=1

bj. (3.4.5)

Dimostrazione: Dimostriamo innanzitutto la necessita, cioe che se esiste una

soluzione ammissibile che denotiamo con xij , i = 1, . . . ,m, j = 1, . . . , n, allora la

condizione (3.4.5) deve essere verificata; poiche xij deve soddisfare i vincoli, dalle

equazioni dei vincoli nella (3.4.4) si ottiene

m∑

i=1

n∑

j=1

xij =

m∑

i=1

ai

n∑

j=1

m∑

i=1

xij =

n∑

j=1

bj ,

e sottraendo membro a membro si ha

m∑

i=1

ai −n∑

j=1

bj = 0

che e la (3.4.5).

Dimostriamo ora la sufficienza; supponiamo quindi che valga la (3.4.5) e poniamo

m∑

i=1

ai =

n∑

j=1

bj = A.

Si vuole allora dimostrare che esiste una soluzione ammissibile; infatti, sia xij :=aibjA

,

i = 1, . . . ,m, j = 1, . . . , n; allora xij ora definito e una soluzione ammissibile per il

problema dei trasporti. Infatti risulta innanzitutto xij ≥ 0 per ogni i = 1, . . . ,m

e j = 1, . . . , n per la non negativita degli ai e dei bj; inoltre

n∑

j=1

xij =

n∑

j=1

aibjA

=ai∑n

j=1 bj

A= ai

m∑

i=1

xij =m∑

i=1

aibjA

=bj∑m

i=1 aiA

= bj

e quindi xij soddisfando i vincoli del problema e una soluzione ammissibile.

Il teorema appena dimostrato garantisce quindi che, se e soddisfatta l’ipotesi

(3.4.1) allora il problema dei trasporti ammette sempre soluzione.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018

Page 36: Modelli di Programmazione Lineare - uniroma1.itroma/didattica/RO17-18/cap3.pdf · 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La differente concentrazione

60 MODELLI DI PROGRAMMAZIONE LINEARE

Osservazione 3.4.19 La soluzione ammissibile del teorema, ovviamente, non e

l’unica soluzione ammissibile del problema.

Riportiamo di seguito, senza dimostrazione, un altro risultato di fondamentale

importanza nella trattazione del problema dei trasporti.

Teorema 3.4.2 Se nel problema dei trasporti le ai, i = 1, . . . ,m e le bj,

j = 1, . . . , n sono intere e se il problema ammette soluzione ottima, allora ha

una soluzione ottima intera.

Passiamo, ora, ad analizzare alcune varianti della formulazione classica del prob-

lema dei trasporti; puo infatti accadere che non tutte le rotte di trasporto siano

disponibli: se non e possibile il trasporto da una certa origine Oi ad una desti-

nazione Dj si pone, per convenzione, cij = ∞. Oppure possono esistere rotte di

trasporto in cui vi sono limitazioni sulle quantita massima di merci trasportabili.

Infine, si puo supporre che la disponibilita complessiva possa essere superiore alla

domanda cioem∑

i=1

ai ≥n∑

j=1

bj. (3.4.6)

In tal caso, possono essere ammesse giacenze nelle origini e/o nelle destinazioni;

se si accetta di avere giacenze nelle origini, allora i vincoli di origine diventano

n∑

j=1

xij ≤ ai i = 1, . . . ,m;

se si accetta di avere giacenze nelle destinazioni, allora i vincoli di destinazione

diventanom∑

i=1

xij ≥ bj j = 1, . . . , n.

nel caso in cui vale la (3.4.6), per porre il problema dei trasporti nella sua formu-

lazione classica, cioe con vincoli di uguaglianza, si puo introdurre una destinazione

fittizia che abbia una richiesta pari a

m∑

i=1

ai −n∑

j=1

bj

ponendo uguale a zero il costo per raggiungere questa destinazione fittizia da

qualsiasi origine.

M. Roma – RICERCA OPERATIVA – SAPIENZA Universita di Roma – a.a. 2017-2018