LA PROGRAMMAZIONE LINEARE (p.l.)



Documenti analoghi
Il modello duale. Capitolo settimo. Introduzione

Prerequisiti didattici

Problemi di Flusso: Il modello del Trasporto

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0

L ANALISI POST-OTTIMALE

PROBLEMI DI SCELTA dipendenti da due variabili d azione

LA PROGRAMMAZIONE MATEMATICA (p.m.)

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

Soluzione dei Problemi di Programmazione Lineare

Programmazione Matematica: III.1 - Programmazione Lineare

Introduzione alla programmazione lineare

La programmazione lineare

Appendice A: un esempio di scelta del mix ottimo di produzione in presenza di vincoli 19

Programmazione Lineare

ESERCIZI SVOLTI DI PROGRAMMAZIONE LINEARE TOMO G PAG 417 E SEGUENTI. Esercizio n. 1 pag 417. vincoli

IL METODO DEL SIMPLESSO

Geometria analitica di base (seconda parte)

Lezioni di Ricerca Operativa 2 Dott. F. Carrabs

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

Sistemi di equazioni di secondo grado

Esercizi svolti di Programmazione Lineare. a cura di Laura Scrimali Dipartimento di Matematica e Informatica Università di Catania

PROGRAMMAZIONE LINEARE E DUALITA'

Soluzione grafica di problemi PM in 2 variabili

Risolvere lo stesso problema ipotizzando che le scarpe siano vendute a 40 il paio e che gli scarponi siano venduti a 90 il paio.

ESERCIZI SVOLTI DI PROGRAMMAZIONE LINEARE TOMO G PAG 421 E SEGUENTI

COMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3.

Ottimizzazione marginale

Programma di matematica classe Prima

Programmazione Non Lineare

ALCUNI ESEMPI DI PROBLEMI TIPICI DI RICERCA OPERATIVA

4.5 Metodo del simplesso

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

(i punti frontiera del dominio appartengono al dominio stesso). Esempio. Determina i massimi e i minimi della funzione y x 2x

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina

Introduzione alla Ricerca Operativa. Cos è la Ricerca Operativa? Modellazione di problemi decisionali Fasi di uno studio di RO Applicazioni della RO

La dualità nella Programmazione Lineare

Ore annue: 132 MODULO 1

Il piano cartesiano e la retta

Si consideri il seguente tableau ottimo di un problema di programmazione lineare

quindi, applicando la legge di annullamento del prodotto, si ottiene l insieme delle soluzioni: x x da cui:

Modelli di Ottimizzazione: definizione formale

valore di a: verso l alto (ordinate crescenti) se a>0, verso il basso (ordinate decrescenti) se a<0;

MATEMATICA GENERALE Prova d esame del 4 giugno FILA A

Transcript:

LA PROGRAMMAZIONE LINEARE (p.l.) La programmazione lineare è quella parte della programmazione matematica che concerne l impostazione e la soluzione di problemi di ottimo vincolato riconducibili alla ricerca del massimo o del minimo di una funzione lineare definita su un dominio descritto mediante un sistema di equazioni e/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 della programmazione lineare furono sviluppati nel decennio 935-945 da F. L. Hitchcock, L. Kantorovich, T. C. Koopmans e G. B. Dantzig, traendo spunto dalle teorie economiche sviluppate nel corso degli anni trenta da J. Von Neumann e W. Leontief.

Tra il 947 ed il 948 Dantzig, operando in un gruppo di ricerca, costituito dalla U.S. Air Force su problemi di allocazione ottima di risorse [SCOP - Scientific Computation of Optimum Programs], pervenne ad una formulazione generale del modello in 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 la risoluzione di problemi p.l., detto dell ellissoide caratterizzato, dal punto di vista teorico (ma solo dal punto di vista teorico), da una migliore efficienza computazionale. Un algoritmo polinomiale, in alcuni casi competitivo con il simplesso, fondato su concetti tipici della programmazione non lineare è stato proposto, verso la metà degli anni 80, da N. Karmarkar. Nel corpo della p.l. può essere utile evidenziare due classi di problemi: i problemi di miing i problemi di flusso su rete

3 UN PROBLEMA DI MIXING DI PRODUZIONE Una fabbrica vuole mettere in produzione due articoli, P e P. I due prodotti richiedono lavorazioni su due differenti tipi di macchine, MA ed MB, senza vincoli di sequenza. Prodotto P Prodotto P Macchina MA ' ' Macchina MB 3' ' Tempi unitari medi di lavorazione prezzo P : E = Euro.5 prezzo P : E = Euro.0 Prezzi di vendita unitari praticabili Si vuole determinare quanto produrre, mensilmente, di P e P per ottenere un ricavo totale massimo (miing ottimo di produzione).

4 Si indichi con: = numero di unità del prodotto P = numero di unità del prodotto P z = valore del ricavo totale [ ed sono le "variabili di decisione"] La funzione obiettivo la vendita di unità di P assicura un ricavo pari a.5 Euro la vendita di unità di P assicura un ricavo pari a.0 Euro Ricavo complessivo: z =.5 +.0 funzione obiettivo del problema. z =.5 +.0 Ma!

5 I vincoli I valori massimi dei tempi macchina fissano le risorse disponibili per il processo di lavorazione e limitano, di conseguenza, le quantità complessive dei due prodotti che è possibile realizzare. Per le macchine MA: + 8000 Per le macchine MB: 3 + 9000 Vincoli di fisica realizzabilità: 0 0

6 Modello p.l. del miing ottimo di produzione: z =.5 +.0 Ma! s. a + 8000 3 + 9000 0 0 EVENTUALI ALTRI VINCOLI sulla domanda: D D [D e D domande ma dei due prodotti] di magazzino: 0.05 + 0.03 000 [V = ingombro unitario di P, con V = ingombro unitario di P; V = volume disponibile in magazzino]

7 ALCUNE DEFINIZIONI Modello generale p.l. b vettore dei termini noti del sistema dei vincoli A matrice dei coefficienti aij del sistema c vettore dei coefficienti della funzione obiettivo vettore delle variabili decisionali z = c T Ma! [Min] s.a A [::] b 0 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] A :: b vincoli del problema 0 vincoli di non negatività [fisica realizzabilità]

8 IPOTESI ALLA BASE DEL MODELLO p.l. Proporzionalità: se aij [cj] è il contributo al primo membro della i-esima relazione vincolare [alla funzione obiettivo] da parte dell'impiego j assunto unitario, tale contributo dovrà essere aijj [cjj] se l'impiego j assume il valore j. Additività: i diversi impieghi non interferiscano tra loro. Se ai,..., ainn [c,..., cnn] sono i contributi nella i-esima relazione vincolare [nella funzione obiettivo] degli impieghi considerati separatamente, il contributo complessivo deve risultare pari alla somma dei singoli contributi. Divisibilità: le componenti del vettore possono assumere qualsiasi valore reale purché nel rispetto dei vincoli. Se le variabili, tutte o in parte, sono vincolate ad assumere valori interi, l'ipotesi di divisibilità non sussiste ed il problema non è, quindi, di programmazione lineare. Mancanza di aleatorietà nel fenomeno. Questa ipotesi è comune a tutti i modelli deterministici

9 ANALISI GRAFICA Modello del problema di miing [i termini noti delle relazioni vincolari sono divisi per 000]: z =.5 +.0 Ma! s. a + 8 3 + 9, 0 Riportando le relazioni sul piano cartesiano di coordinate ed si ottiene:

0 L'area scurita (frontiera inclusa) è l'insieme delle soluzioni 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) sono rappresentativi di situazioni per le quali nessuno dei due vincoli viene saturato [cioè soddisfatto all'eguaglianza]. I punti della frontiera, con esclusione degli assi, si riferiscono a combinazioni produttive per le quali uno (spigoli DC, CB) o entrambi i vincoli (vertice C) vengono saturati. Le soluzioni corrispondenti a punti del dominio appartenenti agli assi implicano che il livello di uno dei due impieghi sia nullo. La funzione obiettivo: z =.5 +.0 esprime un fascio di rette parallele. Ogni retta rappresenta una situazione di isoricavo.

Alla traslazione della retta generica del fascio nel senso indicato dalla freccia corrisponde un aumento di valore per la z. L'ottimo del problema può essere individuato nell'ultimo punto (o negli ultimi punti) dell'insieme di ammissibilità che la retta rappresentativa della funzione obiettivo tocca prima di abbandonarlo. Il miing ottimo è quindi individuata nel vertice C [massima distanza della retta rappresentativa della funzione obiettivo dall'origine degli assi]

Il valore della soluzione (variabili e funzione obiettivo), oltre che per lettura diretta sul grafico, può essere ricavato risolvendo il sistema costituito dai due vincoli saturi: da cui si ottiene: + = 8 3 + = 9 = 0.5 = 3.75 cui corrisponde il valore della funzione obiettivo: z = 8750 Euro [ e sono stati moltiplicati per 000]

3 ALCUNI CASI PARTICOLARI Problema con infinite soluzioni ottime z =.5 s. a 3 + + +, Ma! 8000 9000 0 La funzione obiettivo è parallela allo spigolo BC

4 Con riferimento ad un problema di miing ottimo di produzione, ad affermare che esistono infinite combinazioni ottime delle risorse produttive in grado di realizzare lo stesso ricavo massimo. Spostandosi lungo lo spigolo BC nel verso da B verso C, la riduzione di ricavo generata dalla diminuzione di viene completamente compensata dall'aumento di ricavo derivante dall'aumento di. Una alterazione, anche minima, dei coefficienti della funzione obiettivo riporterebbe il sistema ad una soluzione di vertice.

5 Problema con soluzione ottima illimitata z s. a = - 0.5 +, - + 0 Ma! - La funzione obiettivo spostandosi nel verso di z crescente ha sempre punti in comune con il dominio di definizione. Entrambe le variabili possono crescere indefinitamente e con esse la z.

6 Problema con soluzione ottima illimitata z = 3 + Ma! s.a. 3-0, 0 è limitata ma il valore di z può crescere indefinitamente in quanto può crescere indefinitamente.

7 Massimo finito con variabili limitate o non limitate z = - + Ma! s.a. - 0.5, - + 0 - ogni punto dello spigolo superiore del dominio di compatibilità (sino all'infinito) conferisce lo stesso valore z = 4 alla funzione obiettivo

8 Problema inconsistente. z = - + Ma! s.a., + + 0 4 Il sistema di disequazioni definisce un insieme vuoto in quanto i vincoli risultano in contrasto.

9 Problema inconsistente. z = - + Ma! s.a. 0 3-3, 0 Il primo ed il secondo vincolo sono in contrasto con i vincoli di non negatività.

0 Problema con vincoli ridondanti z =.5 +.0 Ma! s. a + 8 3 + 9 4 4, 0 E' il problema di miing con l'aggiunta dei due ulteriori vincoli 4 e 4 che risultano ridondanti

Problema con vincoli ridondanti z =.5 +.0 Ma! s. a + 8 3 + 9 + 8.5, 0 4.5 4.5 4.0 D C (0.5, 3.75) grad (z) B O 3.0 4.5 8.0 z E' il problema di miing con l'ulteriore vincolo + 9.5 che non altera il dominio di ammissibilità, in quanto esso e una combinazione lineare (con coefficienti 0.5 e 0.5) dei due vincoli originari.

TRASFORMAZIONE DI VINCOLI Trasformazione di disequazioni in equazioni. Vincoli del tipo Si consideri la generica disequazione: n j= a ij j b i Introducendo una variabile yi 0 detta slack (o di scorrimento), si può trasformare la disequazione in una equazione. n a ij j + yi = j= b i Se la soluzione del problema comportasse per il vincolo il verificarsi del segno di eguaglianza sarebbe, evidentemente, yi = 0.

3 Vincoli del tipo Si consideri la generica disequazione: n j= a ij j b i E' possibile definire, in modo del tutto analogo a quanto fatto per i vincoli del tipo, una variabile slack yi 0 (detta, talvolta, di surplus) che ristabilisca il segno di eguaglianza: n aij j yi = j= Tale variabile viene a rappresentare la quantità: n yi = aij j j= di cui il primo membro supera il valore del termine noto bi. Anche in questo caso se la soluzione del problema comportasse per il vincolo il verificarsi del segno di eguaglianza sarebbe yi = 0. b i b i

4 Trasformazione di equazioni in disequazioni. Si consideri la generica equazione vincolare: n aij j = j= b i Essa può essere espressa mediante due disequazioni la prima del tipo la seconda del tipo aventi primo membro e termine noto eguali a quelli dell'equazione: n a j= ij j b i n a j= ij j b i Dovendo esse sussistere contemporaneamente risulta evidente la loro equivalenza all'equazione vincolare assegnata.

5 Trasformazione da funzione obiettivo a massimizzare a funzione obiettivo a minimizzare e viceversa. Un problema avente la funzione obiettivo a massimizzare [minimizzare] può essere trasformato in un altro avente la funzione obiettivo a minimizzare [massimizzare] cambiando i segni dei coefficienti di costo: ct Ma! = (-ct) Min! Una volta risolto il problema ed individuata la soluzione ottima, qualora si sia fatto uso di tale trasformazione è, ovviamente, necessario cambiare segno al valore ottenuto per la funzione obiettivo. TRASFORMAZIONE DI VARIABILI Variabili non positive Qualora nel problema siano presenti variabili j 0 è possibile effettuare la seguente trasformazione: j = - 'j (j 0; 'j 0)

6 Variabili non vincolate nel segno Qualora siano presenti variabili j non vincolate nel segno (n.v.s.) si può porre: j = 'j - ''j (j n.v.s.; 'j, ''j 0) Se dalla soluzione del problema risulta: 'j < ''j ne deriva j < 0; mentre per 'j = ''j risulta j = 0; e per 'j > ''j risulta j > 0. Qualora siano presenti nel problema molte variabili j n.v.s. (siano k), per ridurre il numero di nuove variabili da introdurre, si può ricorrere alla trasformazione: j = 'j - '' (j =,,, k; j n.v.s.; 'j, '' 0) In tal modo, invece di introdurre k variabili ''j si introduce solo una.

7 FORMA STANDARD DI UN PROBLEMA DI PROGRAMMAZIONE LINEARE Un generico problema di programmazione lineare è sempre riconducibile ad una forma particolare. Spesso si introduce, per semplificare i necessari approfondimenti, una forma standard di un problema 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, i vincoli sono espressi da un sistema di equazioni lineari e le variabili sono non negative: z s.a = c T A = b 0 Min!