Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA Ricerca Operativa - RO - Dott.ssa Michela Lai mlai@unica.it http://sorsa.unica.it/ Esercitazione 4
Esercizi per casa Scrivere il modello e risolverlo con dati a piacere L’agenzia matrimoniale Cuori Solitari deve organizzare il gran ballo di fine anno. L’agenzia ha n clienti maschi e n clienti femmine, ed ha prenotato n tavoli da due posti al famoso ristorante Cupido. Dai profili psicologici raccolti dai clienti, l’agenzia è in grado di calcolare, per ogni maschio i, l’insieme F(i) delle femmine con le quali potrebbe essere interessato ad intrecciare una relazione, e che potrebbero essere interessate ad intrecciare una relazione con lui; un analogo insieme M(j) può essere ottenuto per ogni femmina j. Dai profili dei clienti, l’agenzia è anche in grado di calcolare, per ogni coppia (i; j) “compatibile”, il costo cij della cena da offrire, che deve consistere di piatti graditi ad entrambi i commensali. L’agenzia vuole quindi decidere come formare le coppie per il gran ballo in modo da evitare coppie incompatibili e minimizzare il costo complessivo delle cene.
Esercizi per casa
Esercizio 1 Patata A B C P1 0.2 0.3 P2 0.1 La Fintus produce tre tipi di patatine surgelate, denominati A, B e C. La compagnia acquista patate di due tipi diversi, denominati P1 e P2. I diversi tipi di prodotto usano parti diverse della patata originaria, per cui 1 Kg di patate acquistato determina la produzione di una certa quantità di tutti e tre i prodotti. I rendimenti dei due tipi di patata sono diversi, come indicato nella seguente tabella: Il costo per la Fintus è di .03 € al Kg per le patate P1 e di .025 € al Kg per le patate P2 : la Fintus intende produrre almeno 6000 Kg di A, 4000 Kg di B e 8000 Kg di C, minimizzando il costo totale. Patata A B C P1 0.2 0.3 P2 0.1 4
Esercizio 1 Variabili: Vincoli: X1 (≥ 0) Kg patate tipo P1 Patatine tipo A almeno 6000 Kg: 0.2 X1 + 0.3 X2 ≥ 6000 Patatine tipo B almeno 4000 Kg: 0.2 X1 + 0.1 X2 ≥ 4000 Patatine tipo C almeno 8000 Kg: 0.3 X1 + 0.3 X2 ≥ 8000 5
Esercizio 1 Su Lindo: min 0.03 x1 + 0.025 x2 s.t. end gin 2
Esercizio 1 Soluzione: OBJECTIVE FUNCTION VALUE 1) 733.3400 1) 733.3400 VARIABLE VALUE REDUCED COST X1 13333.000000 0.030000 X2 13334.000000 0.025000 ROW SLACK OR SURPLUS DUAL PRICES 2) 666.800171 0.000000 3) 0.000060 0.000000 4) 0.100318 0.000000
Esercizio 2 V1 V2 N1 N2 N3 Costo 110 120 130 115 Densità 8,8 6,1 2,0 L’azienda Caramelli produce un olio speciale per cosmetici, ottenuto dalla raffinazione e miscelazione di oli. Gli oli si dividono in due categorie, oli vegetali ed oli non vegetali. Sono disponibili due diversi oli vegetali, che indichiamo con V1 e V2, e tre diversi oli non vegetali che indichiamo con N1, N2 e N3. I costi (Euro/tonnellata) e la densità degli oli sono i seguenti: Gli oli vegetali e quelli non vegetali richiedono differenti linee di produzione per la raffinazione. In ogni mese non è possibile raffinare più di 300 tonnellate di olio vegetale e 350 tonnellate di olio non vegetale. Non vi è perdita di peso nel processo di raffinamento ed il costo di tale processo può essere ignorato. La densità per l’olio di tipo vegetale dovrà essere compresa tra 1100 e 1900. La densità per l’olio di tipo non vegetale dovrà essere compresa tra 900 e 1600. Il prodotto finale sarà venduto a 150 Euro/tonnellata per l’olio vegetale 170 Euro/tonnellata per l’olio non vegetale. Formulare come PL il problema di produrre il bene massimizzando il profitto. V1 V2 N1 N2 N3 Costo 110 120 130 115 Densità 8,8 6,1 2,0 4,2 5,0
Esercizio 2 Variabili: Vincoli: Xv1 (≥ 0) T Olio vegetale tipo 1 Xn1 (≥ 0) T Olio non vegetale tipo 1 Xn2 (≥ 0) T Olio non vegetale tipo 2 Xn3 (≥ 0) T Olio non vegetale tipo 3 Vincoli: Sulle quantità da raffinare Xv1+ Xv2 ≤ 300 Xn1+Xn2+Xn3 ≤ 350 Sulla densità 1100 ≤ 8.8 Xv1 + 6.1 Xv2 ≤ 1900 900 ≤ 2 Xn1 + 4.2 Xn2 + 5Xn3 ≤ 1600 9
Esercizio 2 Su Lindo: max 150 xv1 + 150 xv2 + 170 xn1 + 170 xn2 + 170 xn3 - 110 xv1 - 120 xv2 - 130 xn1 - 110 xn2 - 115 xn3 s.t. maxOV) xv1 + xv2 < 300 maxONV) xn1 + xn2 + xn3 < 350 DMinV) 8.8 xv1 + 6.1 xv2 > 1100 DMaxV) 8.8 xv1 + 6.1 xv2 < 1900 DMinNV) 2 xn1 + 4.2 xn2 + xn3 > 900 DMaxNV) 2 xn1 + 4.2 xn2 + xn3 < 1600 end Nome seguito da “)” consente di assegnare un nome al vincolo facilitando la lettura della soluzione
Esercizio 2 Soluzione: OBJECTIVE FUNCTION VALUE 1) 30259.26 1) 30259.26 VARIABLE VALUE REDUCED COST XV1 25.925926 0.000000 XV2 274.074066 0.000000 XN1 0.000000 20.000000 XN2 350.000000 0.000000 XN3 0.000000 5.000000 ROW SLACK OR SURPLUS DUAL PRICES MAXOV) 0.000000 7.407407 MAXONV) 0.000000 60.000000 DMINV) 800.000000 0.000000 DMAXV) 0.000000 3.703704 DMINNV) 570.000000 0.000000 DMAXNV) 130.000000 0.000000
Esercizio 3 Un'industria dolciaria produce tre diversi tipi di dolci: A,B,C. Stabilire il piano di produzione giornaliero dell'industria, avente una capacità produttiva massima di 10000 dolci al giorno, in modo che: la produzione di A non ecceda il 50% della produzione globale giornaliera la produzione di C sia uguale al più al 25% della produzione di B Sapendo che il guadagno garantito dalla produzione di un dolce di tipo A, B e C è rispettivamente di 0.2 €, 0.1€, 0.4 €, si vuole individuare un piano di produzione che massimizzi il guadagno.
Esercizio 3 Variabili: Vincoli: XA(≥ 0) : quantità di dolci di tipo A XB(≥ 0) : quantità di dolci di tipo B XC(≥ 0) : quantità di dolci di tipo C Vincoli: Capacità produttiva massima di 10000 : XA + XB + XC ≤ 10000 Produzione di A ≤ 50% produzione globale : XA ≤ 50% (XA + XB + XC) → XA – XB – XC ≤ 0 Produzione di C ≤ 25% della produzione di B: XC ≤ 25% XB → XC – 0.25 XB ≤ 0
Esercizio 3 Su Lindo: max 0.2 XA + 0.1 XB + 0.4 XC s.t. XC - 0.25XB < 0 end gin 3
Esercizio 3 Soluzione : OBJECTIVE FUNCTION VALUE 1) 1800.000 1) 1800.000 VARIABLE VALUE REDUCED COST XA 5000.000000 -0.200000 XB 4000.000000 -0.100000 XC 1000.000000 -0.400000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 0.000000 3) 0.000000 0.000000 4) 0.000000 0.000000
Esercizio 4 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 devono sono complete (una macchina lavora per 0,1, 2,…,15 ore, non si tiene conto dei minuti). Determinare la produzione giornaliera di costo minimo.
Esercizio 4 Variabili: Vincoli: 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 ≤ 15 M2 ≤ 15 M3 ≤ 15 M4 ≤ 15 La quantità minima giornaliera richiesta per tipologia di pasta : 20 M2 + 25 M3 + 20 M4 ≥ 650 15 M1 + 15 M2 + 10 M4 ≥ 500 10 M1 + 25 M2 + 20 M3 ≥ 500
Esercizio 4 Su Lindo : min 90 M1 + 150 M2 + 140 M3 + 105 M4 s.t. PACCHIA)20 M2 + 25 M3 + 20M4 > 650 PACCHIB)15 M1+ 15 M2 + 10M4 > 500 PACCHIC)10 M1+ 25 M2 + 20M3 > 500 end gin 4
Esercizio 4 Soluzione su Lindo: OBJECTIVE FUNCTION VALUE 1) 4915.000 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
Esercizio 5 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. Si formuli il problema come PLI. 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
Esercizio 5 Variabili Vincoli: x1: numero di ostetriche nel turno 1 x1 + x2 ≥ 80 x2 + x3 ≥ 50 x3 + x4 ≥ 60 x4 + x5 ≥ 40 x5 + x6 ≥ 30
Esercizio 5 Su Lindo: min 8 x1 + 8 x2 + 8 x3 + 8 x4 + 8 x5 + 4 x6 s.t. 1T) x1 > 70 2T) x1+x2 > 80 3T) x2+x3 > 50 4T) x3+x4 > 60 5T) x4+x5 > 40 6T) x5+x6 > 30 end
Esercizio 5 Soluzione: OBJECTIVE FUNCTION VALUE 1) 1320.000 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