La programmazione lineare E’ una tecnica matematica usata nella pianificazione amministrativa ed economica per trovare il massimo o il minimo di funzioni lineari soggette a “vincoli”
Il ricavo (o il costo) assume la forma di funzione, che viene indicata spesso con z e viene detta “funzione obiettivo”.
E s e m p i o: Un’ azienda produce quotidianamente una quantità x di divani e una quantità y di poltrone
y N° di poltrone prodotte x N° di divani prodotti
L’ azienda ricava € 600 per ogni divano venduto e € 400 per ogni poltrona venduta.
Il ricavo assume la forma di funzione: Z = 600 X + 400 y
Il ricavo assume la forma di funzione: Z = 600 X + 400 y Quanto vale il massimo ricavo per l’ azienda ?
Al variare di x e di y, ovvero del numero di articoli prodotti dell’ uno e dell’ altro tipo, varia il ricavo giornaliero.
La funzione z = 600 x + 400 y nello spazio viene rappresentata con un piano. Da un punto di vista matematico, questa funzione ricavo non ha limitazioni …
Da un punto di vista pratico ci rendiamo conto che x ed y non possono assumere valori qualsiasi, ma devono obbedire a dei “vincoli”
I vincoli (di produzione) possono essere dovuti a: Disponibilità di materiale Ore lavorative Capienza del magazzino
L’ obiettivo del problema è trovare il valore di produzione che rende massimo il ricavo, tenendo conto dei vincoli.
Aggiungiamo dei vincoli al problema … L’ obiettivo del problema è trovare il valore di produzione che rende massimo il ricavo, tenendo conto dei vincoli. Aggiungiamo dei vincoli al problema …
In azienda le ore lavorative sono 8 al giorno. 1° VINCOLO: Ogni divano richiede 2 ore di lavoro, mentre ogni poltrona richiede 1 ora. In azienda le ore lavorative sono 8 al giorno.
Il salottificio può produrre giornalmente al massimo 6 oggetti 2° VINCOLO: Il salottificio può produrre giornalmente al massimo 6 oggetti
I vincoli si traducono in DISEQUAZIONI
ore lavorative ≤ 8
Bisogna esprimere le ore lavorative in funzione di x e y
ore lavorative ≤ 8 2 x + y ≤ 8
n° di oggetti prodotti ≤ 6
Bisogna esprimere anche questo vincolo in funzione di x e y n° di oggetti prodotti ≤ 6 Bisogna esprimere anche questo vincolo in funzione di x e y
n° di oggetti prodotti ≤ 6 x + y ≤ 6
Oltre ai vincoli di produzione esistono i vincoli di segno: Le quantità prodotte x ed y non possono essere negative: x ≥ 0 y ≥ 0
Oltre ai vincoli di produzione esistono i vincoli di segno: Le quantità prodotte x ed y non possono essere negative: x ≥ 0 y ≥ 0 3° VINCOLO
R I E P I L O G A N D O: Il problema consiste nel trovare il massimo della funzione lineare:
R I E P I L O G A N D O: Il problema consiste nel trovare il massimo della funzione lineare: z = 600 x + 400 y
Il problema consiste nel trovare il massimo della funzione lineare: R I E P I L O G A N D O: Il problema consiste nel trovare il massimo della funzione lineare: z = 600 x + 400 y Soggetta al sistema di vincoli:
R I E P I L O G A N D O: Il problema consiste nel trovare il massimo della funzione lineare: z = 600 x + 400 y Soggetta al sistema di vincoli: x ≥ 0 y ≥ 0 2 x + y ≤ 8 x + y ≤ 6
Si parla di PROGRAMMAZIONE LINEARE quando si e' in presenza di: G E N E R A L I Z Z A N D O … Si parla di PROGRAMMAZIONE LINEARE quando si e' in presenza di:
Si parla di PROGRAMMAZIONE LINEARE quando si e' in presenza di: G E N E R A L I Z Z A N D O … Si parla di PROGRAMMAZIONE LINEARE quando si e' in presenza di: a) una FUNZIONE LINEARE di 2 o più VARIABILI INDIPENDENTI che si deve MASSIMIZZARE (se si tratta di FUNZIONE RICAVO o PROFITTO) oppure MINIMIZZARE (se si tratta di FUNZIONE COSTI);
Si parla di PROGRAMMAZIONE LINEARE quando si e' in presenza di: G E N E R A L I Z Z A N D O … Si parla di PROGRAMMAZIONE LINEARE quando si e' in presenza di: a) una FUNZIONE LINEARE di 2 o più VARIABILI INDIPENDENTI che si deve MASSIMIZZARE (se si tratta di FUNZIONE RICAVO o PROFITTO) oppure MINIMIZZARE (se si tratta di FUNZIONE COSTI); b) un INSIEME DI VINCOLI dati da EQUAZIONI o DISEQUAZIONI LINEARI A 2 O PIU' VARIABILI;
Si parla di PROGRAMMAZIONE LINEARE quando si e' in presenza di: G E N E R A L I Z Z A N D O … Si parla di PROGRAMMAZIONE LINEARE quando si e' in presenza di: a) una FUNZIONE LINEARE di 2 o più VARIABILI INDIPENDENTI che si deve MASSIMIZZARE (se si tratta di FUNZIONE RICAVO o PROFITTO) oppure MINIMIZZARE (se si tratta di FUNZIONE COSTI); b) un INSIEME DI VINCOLI dati da EQUAZIONI o DISEQUAZIONI LINEARI A 2 O PIU' VARIABILI; c) un INSIEME DI VINCOLI DI SEGNO, di norma POSITIVO, che esprimono la NON-NEGATIVITA' delle VARIABILI presenti, essendo esse GRANDEZZE ECONOMICHE.
Risoluzione del problema Si parte con la risoluzione per via grafica del sistema di disequazioni: x ≥ 0 y ≥ 0 2 x + y ≤ 8 x + y ≤ 6
Risoluzione del problema Si parte con la risoluzione per via grafica del sistema di disequazioni: x ≥ 0 y ≥ 0 2 x + y ≤ 8 x + y ≤ 6 y ≤ - 2 x + 8 y ≤ - x + 6 x ≥ 0 y ≥ 0
Risoluzione del problema Si rappresentano le rette corrispondenti alle equazioni associate: y ≤ - 2 x + 8 y = - 2 x + 8 y ≤ - x + 6 y = - x + 6 x ≥ 0 y ≥ 0 x = 0 y = 0
8 7 6 5 4 3 2 1 x y 0 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 x y y = - 2 x + 8 0 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 x y y = - 2 x + 8 y = - x + 6 0 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 x y x = 0 y = - 2 x + 8 y = - x + 6 0 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 x y x = 0 y = - 2 x + 8 y = - x + 6 y = 0 0 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 x y y ≤ - 2 x + 8 y ≤ - x + 6 y ≥ 0 x ≥ 0 0 1 2 3 4 5 6 7 8 9
REGIONE AMMISSIBILE y y ≤ - 2 x + 8 x x ≥ 0 8 7 6 5 4 3 2 1 x y REGIONE AMMISSIBILE y ≤ - 2 x + 8 y ≤ - x + 6 y ≥ 0 x ≥ 0 0 1 2 3 4 5 6 7 8 9
Il massimo della funzione z si trova su uno dei vertici del poligono 8 7 6 5 4 3 2 1 x y Il massimo della funzione z si trova su uno dei vertici del poligono y ≤ - 2 x + 8 y ≤ - x + 6 y ≥ 0 x ≥ 0 0 1 2 3 4 5 6 7 8 9
In questo caso il poligono è un quadrilatero 8 7 6 5 4 3 2 1 x y In questo caso il poligono è un quadrilatero A(0; 6) B(2; 4) O(0; 0) C(4; 0) 0 1 2 3 4 5 6 7 8 9
Teorema della programmazione lineare 8 7 6 5 4 3 2 1 x y Teorema della programmazione lineare A(0; 6) B(2; 4) O(0; 0) C(4; 0) 0 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 x y ZA = 600 * 0 + 400 * 6 = 2.400 A(0; 6) B(2; 4) O(0; 0) C(4; 0) 0 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 x y ZA = 600 * 0 + 400 * 6 = 2.400 ZB = 600 * 2 + 400 * 4 = 2.800 A(0; 6) B(2; 4) O(0; 0) C(4; 0) 0 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 x y ZA = 600 * 0 + 400 * 6 = 2.400 ZB = 600 * 2 + 400 * 4 = 2.800 A(0; 6) ZC = 600 * 4 + 400 * 0 = 2.400 B(2; 4) O(0; 0) C(4; 0) 0 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 x y ZA = 600 * 0 + 400 * 6 = 2.400 ZB = 600 * 2 + 400 * 4 = 2.800 A(0; 6) ZC = 600 * 4 + 400 * 0 = 2.400 ZO = 600 * 0 + 400 * 0 = 0 B(2; 4) O(0; 0) C(4; 0) 0 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 x y ZA = 600 * 0 + 400 * 6 = 2.400 ZB = 600 * 2 + 400 * 4 = 2.800 A(0; 6) ZC = 600 * 4 + 400 * 0 = 2.400 ZO = 600 * 0 + 400 * 0 = 0 B(2; 4) O(0; 0) C(4; 0) 0 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 x y ZA = 600 * 0 + 400 * 6 = 2.400 ZB = 600 * 2 + 400 * 4 = 2.800 A(0; 6) ZC = 600 * 4 + 400 * 0 = 2.400 ZO = 600 * 0 + 400 * 0 = 0 B(2; 4) Il massimo ricavo (€ 2.800) si ha con una produzione giornaliera di 2 divani e 4 poltrone. O(0; 0) C(4; 0) 0 1 2 3 4 5 6 7 8 9
Teorema della programmazione lineare Quando l’ insieme delle soluzioni ammissibili di un problema di programmazione lineare è un poligono convesso, allora la soluzione ottimale (ossia il punto di massimo o di minimo della funzione obiettivo), esiste sempre e si trova in uno dei vertici del poligono.