Upload
phamdang
View
225
Download
0
Embed Size (px)
Citation preview
LA PROGRAMMAZIONE LINEARE(p.l.)
La programmazione lineare è quella parte dellaprogrammazione matematica che concernel’impostazione e la soluzione di problemi di ottimovincolato riconducibili alla ricerca del massimo o delminimo di una funzione lineare definita su undominio descritto mediante un sistema di equazionie/o disequazioni anche esse lineari.
Molti problemi di ottimizzazione non lineare,possono essere risolti, in maniera soddisfacente,accettando approssimazioni lineari.
La maggior parte degli studi di base nel campo dellaprogrammazione lineare furono sviluppati neldecennio 1935 - 1945 da F. L. Hitchcock , L.Kantorovich , T. C. Koopmans e G. B. Dantzig ,traendo spunto dalle teorie economiche sviluppatenel corso degli anni trenta da J. Von Neumann e W.Leontief .
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
2
Tra il 1947 ed il 1948 Dantzig, operando in ungruppo di ricerca, costituito dalla U.S. Air Forcesu problemi di allocazione ottima di risorse [SCOP -Scientific Computation of Optimum Programs],pervenne ad una formulazione generale del modelloin p.l. e sviluppò l'algoritmo del simplesso
Sul finire degli anni ’70 il matematico russo L. G.Khachian ha proposto un metodo alternativo, per larisoluzione di problemi p.l., detto “dell’ellissoide”caratterizzato, dal punto di vista teorico (ma solodal punto di vista teorico), da una miglioreefficienza computazionale.
Un algoritmo polinomiale, in alcuni casi competitivocon il simplesso, fondato su concetti tipici dellaprogrammazione non lineare è stato proposto, versola metà degli anni ’80, da N. Karmarkar .
Nel corpo della p.l. può essere utile evidenziare dueclassi di problemi:
♦ i problemi di mixing♦ i problemi di flusso su rete
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
3
UN PROBLEMA DI MIXING DI PRODUZIONE
Una fabbrica vuole mettere in produzione duearticoli, P1 e P2.
I due prodotti richiedono lavorazioni su duedifferenti tipi di macchine, MA ed MB, senzavincoli di sequenza.
Prodotto P1 Prodotto P2Macchina MA 1' 2'Macchina MB 3' 2'
Tempi unitari medi di lavorazione
prezzo P1 : E1 = Euro 2.5prezzo P2 : E2 = Euro 2.0
Prezzi di vendita unitari praticabili
Si vuole determinare quanto produrre,mensilmente, di P1 e P2 per ottenere un ricavototale massimo (mixing ottimo di produzione).
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
4
Si indichi con:
x1 = numero di unità del prodotto P1x2 = numero di unità del prodotto P2z = valore del ricavo totale
[x1 ed x2 sono le "variabili di decisione"]
La funzione obiettivo
v la vendita di x1 unità di P1 assicura unricavo pari a 2.5x1 Euro
v la vendita di x2 unità di P1 assicura unricavo pari a 2.0x2 Euro
Ricavo complessivo:
z = 2.5x1 + 2.0x2
funzione obiettivo del problema.
z = 2.5x1 + 2.0x2 Max!
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
5
I vincoli
I valori massimi dei tempi macchina fissano lerisorse disponibili per il processo dilavorazione e limitano, di conseguenza, lequantità complessive dei due prodotti che èpossibile realizzare.
Per le macchine MA:
x1 + 2x2 ≤≤ 8000
Per le macchine MB:
3x1 + 2x2 ≤≤ 9000
Vincoli di fisica realizzabilità:
x1 ≤≤ 0x2 ≤≤ 0
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
6
Modello p.l. del mixing ottimo di produzione:
z = 2.5x1 + 2.0x2 Max!s. a
x1 + 2x2 ≤≤ 80003x1 + 2x2 ≤≤ 9000
x1 ≥≥ 0x2 ≥≥ 0
EVENTUALI ALTRI VINCOLI
sulla domanda: x1 ≤≤ D1x2 ≤≤ D2
[D1 e D2 domande max dei due prodotti]
di magazzino:
0.015x1 + 0.03x2 ≤≤ 1000
[V1 = ingombro unitario di P1, con V2 = ingombrounitario di P2; V = volume disponibile in magazzino]
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
7
ALCUNE DEFINIZIONI
Modello generale p.l.
b vettore dei termini noti del sistema dei vincoliA matrice dei coefficienti aij del sistemac vettore dei coefficienti della funzione obiettivox vettore delle variabili decisionali
z = cTx Max! [Min]s.a
Ax [::] bx ≥≥ 0
♦ x vettore delle variabili decisionali [o strutturali,o di controllo] del problema
♦ c vettore dei coefficienti di costo (o di profitto)♦ z funzione obiettivo [funzione economica]♦ b vettore dei termini noti [o delle risorse]♦ A matrice dei tassi di assorbimento [coefficienti
tecnologici]♦ Ax :: b vincoli del problema♦ x≥≥0 vincoli di non negatività [fisica realizzabilità]
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
8
IPOTESI ALLA BASE DEL MODELLO p.l.
Proporzionalità: se aij [cj] è il contributo al primomembro della i-esima relazione vincolare [allafunzione obiettivo] da parte dell'impiego j assuntounitario, tale contributo dovrà essere aijxj [cjxj]se l'impiego j assume il valore xj.
Additività: i diversi impieghi non interferiscano traloro. Se ai1x1,..., ainxn [c1x1,..., cnxn] sono icontributi nella i-esima relazione vincolare [nellafunzione obiettivo] degli impieghi consideratiseparatamente, il contributo complessivo deverisultare pari alla somma dei singoli contributi.
Divisibilità: le componenti del vettore x possonoassumere qualsiasi valore reale purché nel rispettodei vincoli. Se le variabili, tutte o in parte, sonovincolate ad assumere valori interi, l'ipotesi didivisibilità non sussiste ed il problema non è, quindi,di programmazione lineare.
Mancanza di aleatorietà nel fenomeno. Questaipotesi è comune a tutti i modelli deterministici
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
9
ANALISI GRAFICA
Modello del problema di mixing [i termini notidelle relazioni vincolari sono divisi per 1000]:
z = 2.5x1 + 2.0x2 Max!s. a
x1 + 2x2 ≤≤ 83x1 + 2x2 ≤≤ 9x1, x2 ≥≥ 0
Riportando le relazioni sul piano cartesiano dicoordinate x1 ed x2 si ottiene:
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
10
L'area scurita (frontiera inclusa) è l'insieme dellesoluzioni ammissibili [dominio di fisica realizzabilitàdel problema]
I punti interni ed i punti appartenenti agli assi(tranne i punti B e D in cui uno dei due vincoli èsaturo, ovvero soddisfatto all'eguaglianza) sonorappresentativi di situazioni per le quali nessuno deidue vincoli viene saturato [cioè soddisfattoall'eguaglianza].
I punti della frontiera, con esclusione degli assi, siriferiscono a combinazioni produttive per le qualiuno (spigoli DC, CB) o entrambi i vincoli (vertice C)vengono saturati.
Le soluzioni corrispondenti a punti del dominioappartenenti agli assi implicano che il livello di unodei due impieghi sia nullo.
La funzione obiettivo: z = 2.5x1 + 2.0x2esprime un fascio di rette parallele. Ogni rettarappresenta una situazione di isoricavo.
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
11
Alla traslazione della retta generica del fascio nelsenso indicato dalla freccia corrisponde un aumentodi valore per la z.
L'ottimo del problema può essere individuatonell'ultimo punto (o negli ultimi punti) dell'insiemedi ammissibilità che la retta rappresentativa dellafunzione obiettivo tocca prima di abbandonarlo.
Il mixing ottimo è quindi individuata nel vertice C[massima distanza della retta rappresentativa dellafunzione obiettivo dall'origine degli assi]
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
12
Il valore della soluzione (variabili e funzioneobiettivo), oltre che per lettura diretta sul grafico,può essere ricavato risolvendo il sistema costituitodai due vincoli saturi:
x1 + 2x2 = 83x1 + 2x2 = 9
da cui si ottiene:
x1 = 0.5x2 = 3.75
cui corrisponde il valore della funzione obiettivo:
z = 8750 Euro
[x1 e x2 sono stati moltiplicati per 1000]
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
13
ALCUNI CASI PARTICOLARI
♦ Problema con infinite soluzioni ottime
≥≤≤
0 x, x 90002x+3x 80002x+ x
a s.!Max x+ 1.5x = z
21
21
21
21
La funzione obiettivo è parallela allo spigolo BC
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
14
Con riferimento ad un problema dimixing ottimo di produzione, adaffermare che esistono infinitecombinazioni ottime delle risorseproduttive in grado di realizzare lostesso ricavo massimo.
Spostandosi lungo lo spigolo BC nelverso da B verso C, la riduzione diricavo generata dalla diminuzione dix1 viene completamente compensatadall'aumento di ricavo derivantedall'aumento di x2.
Una alterazione, anche minima, deicoefficienti della funzione obiettivoriporterebbe il sistema ad unasoluzione di vertice.
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
15
♦ Problema con soluzione ottima illimitata
≥≤≥
0 x, x 2x+0.5x- -1 x- x
a s.!Max 2x + 2x = z
21
21
21
21
La funzione obiettivo spostandosi nel verso di zcrescente ha sempre punti in comune con il dominiodi definizione. Entrambe le variabili possonocrescere indefinitamente e con esse la z.
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
16
♦ Problema con soluzione ottima illimitata
z = 3x1 + 2 x2 Max!s.a.
≥≤≤
0 x, x0 x- x3 x
21
21
1
x1 è limitata ma il valore di z può crescereindefinitamente in quanto può crescereindefinitamente x2.
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
17
♦ Massimo finito con variabili limitate o nonlimitate
z = -x1 + 2 x2 Max!s.a.
≥≤
≥
0 x, x 2x+0.5x- -1 x- x
21
21
21
ogni punto dello spigolo superiore del dominio dicompatibilità (sino all'infinito) conferisce lo stessovalore z = 4 alla funzione obiettivo
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
18
♦ Problema inconsistente.z = -x1 + 2 x2 Max!
s.a.
≥≥≤+
0 x, x 42x +2x
1 x x
21
21
21
Il sistema di disequazioni definisce un insiemevuoto in quanto i vincoli risultano in contrasto.
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
19
♦ Problema inconsistente.
z = -x1 + 2 x2 Max!s.a.
≥≤≥−
0 x, x 32x -3x 0 x x
21
21
21
Il primo ed il secondo vincolo sono in contrasto coni vincoli di non negatività.
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
20
♦ Problema con vincoli ridondanti
z = 2.5x1 + 2.0x2 Max!s. a
x1 + 2x2 ≤≤ 83x1 + 2x2 ≤≤ 9x1 ≤≤ 4 x2 ≤≤ 4x1, x2 ≥≥ 0
E' il problema di mixing con l'aggiunta dei dueulteriori vincoli x1 ≤≤ 4 e x2 ≤≤ 4 che risultanoridondanti
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
21
♦ Problema con vincoli ridondanti
z = 2.5x1 + 2.0x2 Max!s. a
x1 + 2x2 ≤≤ 83x1 + 2x2 ≤≤ 9
2x1 + 2x2 ≤≤ 8.5x1, x2 ≥≥ 0
E' il problema di mixing con l'ulteriore vincolo 2x1 +2x2 9.5 che non altera il dominio di ammissibilità,in quanto esso e una combinazione lineare (concoefficienti 0.5 e 0.5) dei due vincoli originari.
x1
x 2
8.0 3.0
4.5
4.0 D
4.25
4.25
C (0.5, 3.75)
B
z
O
grad (z)
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
22
TRASFORMAZIONE DI VINCOLI
♦ Trasformazione di disequazioni in equazioni.
Vincoli del tipo ≤Si consideri la generica disequazione:
a x b ij jj=1
n
i∑ ≤
Introducendo una variabile yi ≥ 0 detta slack (o discorrimento), si può trasformare la disequazione inuna equazione.
byxa ii
n
1=jjij =+∑
Se la soluzione del problema comportasse per ilvincolo il verificarsi del segno di eguaglianzasarebbe, evidentemente, yi = 0.
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
23
Vincoli del tipo ≥Si consideri la generica disequazione:
a x b ij jj=1
n
i∑ ≥
E' possibile definire, in modo del tutto analogo aquanto fatto per i vincoli del tipo ≤, una variabileslack yi ≥ 0 (detta, talvolta, di surplus) cheristabilisca il segno di eguaglianza:
byxa ii
n
1=jjij =−∑
Tale variabile viene a rappresentare la quantità:
b xay i
n
1=jjiji ∑ −=
di cui il primo membro supera il valore del terminenoto bi.
Anche in questo caso se la soluzione del problemacomportasse per il vincolo il verificarsi del segno dieguaglianza sarebbe yi = 0.
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
24
♦ Trasformazione di equazioni in disequazioni.
Si consideri la generica equazione vincolare:
bxa i
n
1=jjij =∑
Essa può essere espressa mediante duedisequazioni la prima del tipo ≤ la seconda del tipo ≥aventi primo membro e termine noto eguali a quellidell'equazione:
i
n
1jjij bxa ≤∑
=
bxa i
n
1jjij ≥∑
=
Dovendo esse sussistere contemporaneamenterisulta evidente la loro equivalenza all'equazionevincolare assegnata.
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
25
♦ Trasformazione da funzione obiettivo amassimizzare a funzione obiettivo a minimizzaree viceversa.
Un problema avente la funzione obiettivo amassimizzare [minimizzare] può esseretrasformato in un altro avente la funzione obiettivoa minimizzare [massimizzare] cambiando i segni deicoefficienti di costo:
cTx Max! = (-cTx) Min!
Una volta risolto il problema ed individuata lasoluzione ottima, qualora si sia fatto uso di taletrasformazione è, ovviamente, necessario cambiaresegno al valore ottenuto per la funzione obiettivo.
TRASFORMAZIONE DI VARIABILI
Variabili non positive
Qualora nel problema siano presenti variabili xj ≤ 0è possibile effettuare la seguente trasformazione:
xj = - x'j (xj ≤ 0; � x'j ≥ 0)
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
26
Variabili non vincolate nel segno
Qualora siano presenti variabili xj non vincolate nelsegno (n.v.s.) si può porre:
xj = x'j - x''j (xj n.v.s.; x'j, x''j ≥ 0)
Se dalla soluzione del problema risulta: x'j < x''jne deriva xj < 0; mentre per x'j = x''j risulta xj =0; e per x'j > x''j risulta xj > 0.
Qualora siano presenti nel problema molte variabilixj n.v.s. (siano k), per ridurre il numero di nuovevariabili da introdurre, si può ricorrere allatrasformazione:
xj = x'j - x'' (j = 1, 2, …, k; xj n.v.s.; x'j, x'' ≥ 0)
In tal modo, invece di introdurre k variabili x''j siintroduce solo una x”.
G. Improta - Trasparenti del Corso di Ricerca Operativa A.A. 2001/2002 - Vietata la riproduzione senza l'espresso assensodell'autore. - Generalità sulla Programmazione Lineare
27
FORMA STANDARD DI UN PROBLEMA DIPROGRAMMAZIONE LINEARE
Un generico problema di programmazione lineare èsempre riconducibile ad una forma particolare.
Spesso si introduce, per semplificare i necessariapprofondimenti, una forma standard di unproblema di programmazione lineare..
Una forma che appare connaturata, come si vedrà,con le caratteristiche dell’algoritmo del simplesso èquella in cui la funzione obiettivo è a minimizzare, ivincoli sono espressi da un sistema di equazionilineari e le variabili sono non negative:
≥ 0x b=Ax
s.a!Min xc= z T