Post on 01-May-2015
Economia Applicata all’Ingegneria
Dott.ing. Massimo Di Francesco mdifrance@unica.itDott.ssa Michela Lai
mlai@unica.it
http://sorsa.unica.it/
Esercitazione 2
22
La programmazione lineare per problemi decisionali di economia
Articolazione del processo decisionale: Definizione del problema Costruzione di un modello matematico di programmazione
lineare Risoluzione delle istanze del modello con il programma scelto
(ad esempio Lindo) Analisi dei risultati ottenuti
Tipicamente queste fasi non sono strettamente sequenziali
Modello matematico: descrizione con strumenti di tipo logico-matematico della porzione di realtà di interesse.
33
Non esistono metodologie formali per generare automaticamente modelli di programmazione lineare. La loro costruzione è lasciata fondamentalmente alla
fantasia, alla creatività e all’esperienza del singolo
La soluzione di un modello è sempre la soluzione della rappresentazione costruita del problema reale
La programmazione lineare per problemi decisionali di economia
44
Il problema della fonderiaDefinizione del problema, analisi della realtà e raccolta dati
Una fonderia deve produrre 1000 pezzi del peso ciascuno di 1kg. Il ferro con cui tali pezzi sono fatti dovrà contenere manganese e silicio nelle seguenti quantità:
manganese ≥ 0.45 % 3.25% ≤ silicio ≤ 5.5%
Sono disponibili tre tipi di materiale ferroso con le seguenti caratteristiche:
Inoltre si può acquistare il solo manganese a 10€/kg
TIPO A TIPO B TIPO C% di silicio 4.00 1.00 0.60
% di manganese 0.45 0.50 0.40
Costo (€/kg) 0.025 0.03 0.018
55
ESERCIZIO:Determinare il piano di produzione che minimizza il costo d’acquisto delle materie prime mediante un modello di Programmazione Lineare
Il problema della fonderiaDefinizione del problema, analisi della realtà e raccolta dati
66
Il problema della fonderiaDefinizione del problema, analisi della realtà e raccolta dati
Variabili: xFA (≥0): numero di kg di materiale ferroso A da acquistare xFB (≥ 0): numero di kg di materiale ferroso B da acquistare xFC (≥ 0): numero di kg di materiale ferroso C da acquistare xM (≥ 0): numero di kg di manganese da acquistare
La definizione di queste variabili ci consente di rispettare i vincoli di non negatività
77
Vincoli
Il numero totale di kg prodotti deve essere 1000:
xFA + xFB + xFC + xM = 1000
La quantità di silicio presente nel prodotto risultante è:
0.04 xFA + 0.01 xFB + 0.006 xFC
e dovrà essere compresa tra il 3.25% e il 5.5% del totale (1000 kg), quindi
0.04 xFA + 0.01 xFB + 0.006 xFC ≥ 32.50.04 xFA + 0.01 xFB + 0.006 xFC ≤ 55
Il problema della fonderiaDefinizione del problema, analisi della realtà e raccolta dati
88
Il problema della fonderiaDefinizione del problema, analisi della realtà e raccolta dati
La quantità di manganese presente nel prodotto risultante non dovrà essere inferiore al 0.45% del totale, quindi:
0.0045 xFA + 0.005 xFB + 0.004 xFC + xM ≥ 4.5
Dobbiamo determinare il piano di produzione che minimizza il costo di acquisto:
min 0.025 xFA + 0.03 xFB + 0.018 xFC + 10 xM
99
Il problema della fonderiaCostruzione del modello di ottimizzazione
Il problema può essere così formalizzato:
min 0.025 xFA + 0.03 xFB + 0.018 xFC + 10 xM
s.t.xFA + xFB + xFC + xM = 1000
0.04 xFA + 0.01 xFB + 0.006 xFC ≥ 32.50.04 xFA + 0.01 xFB + 0.006 xFC ≤ 55
0.0045 xFA + 0.005 xFB + 0.004 xFC + xM ≥ 4.5
xFA , xFB , xFC ,xM ≥ 0
10
Il problema della fonderiaDeterminazione delle soluzioni
Istanza su Lindo:
min 0.025 xfa + 0.03 xfb + 0.018 xfc + 10 xms.t.xfa + xfb + xfc + xm = 10000.04 xfa + 0.01 xfb + 0.006 xfc > 32.50.04 xfa + 0.01 xfb + 0.006 xfc < 550.0045 xfa + 0.005 xfb + 0.004 xfc + xm > 4.5end
11
Il problema della fonderiaAnalisi dei risultati
LP OPTIMUM FOUND AT STEP 4
OBJECTIVE FUNCTION VALUE 1) 24.56130
VARIABLE VALUE REDUCED COST XFA 779.431274 0.000000 XFB 0.000000 0.001744 XFC 220.457962 0.000000 XM 0.110727 0.000000
ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 0.022441 3) 0.000000 -0.058494 4) 22.500000 0.000000 5) 0.000000 -10.022441
Soluzione con Lindo:
1212
Dal problema della fonderia a una notazione più generale
La struttura modellistica del problema della fonderia può essere applicata a numerosi problemi decisionali:Si deve definire quante unità acquistare tra un dato insieme di prodotti (ad esempio tre tipologie di materiali ferrosi)Spesso non si può acquistare una quantità di un dato prodotto che sia superiore a un limite predefinitoQuesti prodotti presentano delle proprietà (ad esempio la quantità di silicio e manganese)Il mix di beni acquistati deve garantire dei requisiti rispetto a tali proprietà (ad esempio la quantità minima di silicio e manganese)Occorre minimizzare il costo di acquisto dei prodotti
1313
Dal problema della fonderia a una notazione più generale
Notazione
j l’indice dei prodotti tra cui poter scegliere
i l’indice delle proprietà
xj la quantità (non negativa) da acquistare del prodotto j
cj il costo unitario di acquisto del prodotto j
uj la quantità massima acquistabile del prodotto j
bi la quantità minima della proprietà i richiesta nel mix di prodotti da acquistare
aij la quantità di proprietà i presente in una unità del prodotto j
1414
Dal problema della fonderia a una notazione più generale
• Il precedente problema può essere così formalizzato:
s.t.
Possibile applicazione: il problema della dieta
1515
Il problema della dieta
Una mensa scolastica deve pianificare gli acquisti degli alimenti per la sua attività
La dieta deve rispettare alcuni requisiti nutrizionali minimi e le porzioni massime di ogni alimento
Noti i costi unitari dei vari alimenti, determinare la composizione di alimenti in modo da minimizzare il costo complessivo d’acquisto degli alimenti
1616
Il problema della dietaDati del problema:
Alimento Quantità massima (in hg)
Prezzo di vendita (in €/hg)
Pane 4 0.1
Latte 3 0.5
Uova 1 0.12
Carne 2 0.9
Dolce 2 1.3
Valori nutrizionali per hg Pane Latte Uova Carne Dolce
Calorie 30 50 150 180 400
Proteine 5 g 15 g 30 g 90 g 70 g
Calcio 0.02 g 0.15 g 0.05 g 0.08 g 0.01 g
Valori nutrizionali minimi
Calorie 600 cal.
Proteine 50 g
Calcio 0.7 g
ESERCIZIODefinire variabili e vincoli.
1717
Il problema della dieta
min 0.1 x_pane + 0.5 x_latte + 0.12 x_uova + 0.9 x_carne + 1.3 x_dolce30 x_pane + 50 x_latte + 150 x_uova + 180 x_carne + 400 x_dolce ≥ 6005 x_pane + 15 x_latte + 30 x_uova + 90 x_carne + 70 x_dolce ≥ 500.02 x_pane + 0.15 x_latte + 0.05 x_uova + 0.08 x_carne + 0.01 x_dolce ≥ 0.7x_pane ≤ 4x_latte ≤ 3x_uova ≤ 1x_carne ≤ 2x_dolce ≤ 2
18
Il problema della dieta
LP OPTIMUM FOUND AT STEP 6
OBJECTIVE FUNCTION VALUE 1) 3.370000
VARIABLE VALUE REDUCED COST X_PANE 4.000000 0.000000 X_LATTE 3.000000 0.000000 X_UOVA 1.000000 0.000000 X_CARNE 1.500000 0.000000 X_DOLCE 0.000000 1.187500
Soluzione con Lindo:
1919
Un’impresa produce 3 tipi di pasta: Tipo A, Tipo B e Tipo C. Per produrre la pasta utilizza 4 diverse macchine (M1, M2, M3, M4) le cui produzioni orarie sono: M1: 15 pacchi di pasta tipo B e 10 tipo C M2: 20 pacchi di pasta tipo A, 15 tipo B e 25 tipo C M3: 25 pacchi di pasta tipo A e 20 tipo C M4: 20 pacchi di pasta tipo A 10 tipo B
Il mercato giornalmente richiede almeno: 650 pacchi di pasta di tipo A, 500 di tipo B e 500 di tipo C.
I costi di produzione orari sono: M1: 90 euro M2: 150 euro M3: 140 euro M4: 105 euro
Ogni macchina non può superare 15ore di produzione giornaliere. Inoltre, le ore di produzione sono complete (una macchina lavora per 0,1, 2,…,15 ore, non si tiene conto dei minuti).
Determinare la produzione giornaliera di costo minimo.
Pasta
2020
Variabili: M1: numero di ore giornaliere di impiego della macchina 1 M2: numero di ore giornaliere di impiego della macchina 2 M3: numero di ore giornaliere di impiego della macchina 3 M4: numero di ore giornaliere di impiego della macchina 4
Vincoli: Il numero massimo delle ore nelle quali può lavorare ogni macchina è 15
M1 ≤ 15M2 ≤ 15M3 ≤ 15M4 ≤ 15
La quantità minima giornaliera richiesta per tipologia di pasta:20 M2 + 25 M3 + 20 M4 ≥ 65015 M1 + 15 M2 + 10 M4 ≥ 50010 M1 + 25 M2 + 20 M3 ≥ 500
Pasta
21
Su Lindo :min 90 M1 + 150 M2 + 140 M3 + 105 M4s.t.M1) M1 < 15M2) M2 < 15M3) M3 < 15M4) M4 < 15PACCHIA)20 M2 + 25 M3 + 20M4 > 650PACCHIB)15 M1+ 15 M2 + 10M4 > 500PACCHIC)10 M1+ 25 M2 + 20M3 > 500endgin 4
Pasta
Nome seguito da “)”
consente di assegnare un nome al vincolo facilitando la lettura della soluzione
22
Soluzione su Lindo: OBJECTIVE FUNCTION VALUE
1) 4915.000 VARIABLE VALUE REDUCED COST
M1 9.000000 90.000000 M2 15.000000 150.000000 M3 2.000000 140.000000 M4 15.000000 105.000000
ROW SLACK OR SURPLUS DUAL PRICES M1) 6.000000 0.000000 M2) 0.000000 0.000000 M3) 13.000000 0.000000 M4) 0.000000 0.000000
PACCHIA) 0.000000 0.000000 PACCHIB) 10.000000 0.000000 PACCHIC) 5.000000 0.000000
Pasta
2323
Il direttore amministrativo dell’ospedale Santa Cara deve stabilire i turni ospedalieri delle ostetriche, in modo da garantire un minimo numero di ostetriche presenti in ogni turno (indicato nella tabella). Il direttore vuole utilizzare il minor numero totale di ostetriche, tenendo conto che le ostetriche che si recano in reparto per uno dei primi cinque turni sono obbligate a lavorare per 8 ore consecutive (due turni consecutivi), mentre quelle impiegate nell’ultimo turno (turno 6) lavorano solo 4 ore.
TURNI 1 2 3 4 5 6
ORARIO 6-10 10-14 14-18 18-22 22-2 2-6
N.OSTETRICHE 70 80 50 60 40 30
Turni Ospedalieri
2424
Variabili x1: numero di ostetriche nel turno 1 x2: numero di ostetriche nel turno 2 x3: numero di ostetriche nel turno 3 x4: numero di ostetriche nel turno 4 x5: numero di ostetriche nel turno 5 x6: numero di ostetriche nel turno 6
Vincoli: x1 ≥ 70 x1 + x2 ≥ 80 x2 + x3 ≥ 50 x3 + x4 ≥ 60 x4 + x5 ≥ 40 x5 + x6 ≥ 30
Turni Ospedalieri
25
Su Lindo:min 8 x1 + 8 x2 + 8 x3 + 8 x4 + 8 x5 + 4 x6s.t.1T) x1 > 702T) x1+x2 > 803T) x2+x3 > 504T) x3+x4 > 605T) x4+x5 > 406T) x5+x6 > 30end
Turni Ospedalieri
26
Soluzione: OBJECTIVE FUNCTION VALUE 1) 1320.000 VARIABLE VALUE REDUCED COST X1 70.000000 0.000000 X2 10.000000 0.000000 X3 40.000000 0.000000 X4 20.000000 0.000000 X5 20.000000 0.000000 X6 10.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 1T) 0.000000 -4.000000 2T) 0.000000 -4.000000 3T) 0.000000 -4.000000 4T) 0.000000 -4.000000 5T) 0.000000 -4.000000 6T) 0.000000 -4.000000
Turni Ospedalieri