La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA Ricerca Operativa - RO - Dott.ssa Michela Lai Esercitazione.

Presentazioni simili


Presentazione sul tema: "Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA Ricerca Operativa - RO - Dott.ssa Michela Lai Esercitazione."— Transcript della presentazione:

1 Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA Ricerca Operativa - RO - Dott.ssa Michela Lai mlai@unica.it http://sorsa.unica.it/ Esercitazione 1

2 2 Il processo decisionale La ricerca operativa si occupa dello studio di metodologie per la soluzione di problemi decisionali. Articolazione del processo decisionale in tale disciplina:  Individuazione del problema fisico  Analisi del problema e raccolta dati  Costruzione di un modello matematico  Implementazione di un algoritmo risolutivo per quel modello  Determinazione di una o più soluzioni  Analisi dei risultati ottenuti Tipicamente queste fasi non sono strettamente sequenziali

3 3 Il processo decisionale Modello: descrizione della porzione di realtà di interesse ai fini del processo decisionale. I modelli di supporto alle decisioni possono essere fisici (esempio: la galleria del vento) o matematici. Modello matematico: descrizione con strumenti di tipo logico- matematico della porzione di realtà di interesse. I modelli matematici possono essere suddivisi in modelli di simulazione, di teoria dei giochi e di ottimizzazione. In questo corso ci occupiamo di modelli di ottimizzazione impiegati per descrivere e risolvere problemi di ottimizzazione.

4 4 Problemi di ottimizzazione In un problema di ottimizzazione occorre prendere decisioni sull’uso di risorse disponibili in quantità limitata, in modo da minimizzare il “costo” da esse prodotto e rispettare un dato insieme di condizioni. Un problema di ottimizzazione può essere interpretato come una domanda inviata dal detentore del problema a colui/colei che può risolverlo Dato un insieme F di possibili risposte (o soluzioni ammissibili), un problema di ottimizzazione può essere così formalizzato: min c(x): x є F dove c: F -> R è una funzione che misura il costo associato ad ogni soluzione ammissibile

5 5 Problemi di ottimizzazione Un problema di ottimizzazione presenta dei parametri, in generale lasciati indeterminati, e delle proprietà che devono caratterizzare la risposta (o soluzione) desiderata Un’istanza di un dato problema di ottimizzazione è la domanda che si ottiene specificando particolari valori per tutti i parametri del problema La formalizzazione di un problema di ottimizzazione a partire da un problema fisico avviene attraverso un processo di “modellazione” del problema

6 6 Modelli di ottimizzazione Non esistono metodologie formali per generare automaticamente modelli di ottimizzazione  . La loro costruzione è lasciata fondamentalmente alla fantasia, alla creatività e all’esperienza del singolo In queste esercitazioni vedremo una carrellata di tecniche di modellazione, che possono essere utilizzate come blocchi per modelli più complessi La soluzione di un modello è sempre la soluzione della rappresentazione costruita del problema reale

7 7 Il problema della fonderia Definizione 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 ATIPO BTIPO C % di silicio4.001.000.60 % di manganese0.450.500.40 Costo (€/kg)0.0250.030.018

8 8 ESERCIZIO: Determinare il piano di produzione che minimizza il costo d’acquisto delle materie prime mediante un modello di Programmazione Lineare Il problema della fonderia Definizione del problema, analisi della realtà e raccolta dati

9 9 Variabili:  x FA (≥0): numero di kg di materiale ferroso A da acquistare  x FB (≥ 0): numero di kg di materiale ferroso B da acquistare  x FC (≥ 0): numero di kg di materiale ferroso C da acquistare  x M (≥ 0): numero di kg di manganese da acquistare La definizione di queste variabili ci consente di rispettare i vincoli di non negatività

10 10 Vincoli  Il numero totale di kg prodotti deve essere 1000: x FA + x FB + x FC + x M = 1000  La quantità di silicio presente nel prodotto risultante è: 0.04 x FA + 0.01 x FB + 0.006 x FC e dovrà essere compresa tra il 3.25% e il 5.5% del totale (1000 kg), quindi 0.04 x FA + 0.01 x FB + 0.006 x FC ≥ 32.5 0.04 x FA + 0.01 x FB + 0.006 x FC ≤ 55 Il problema della fonderia Definizione del problema, analisi della realtà e raccolta dati

11 11 Il problema della fonderia Definizione 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 x FA + 0.005 x FB + 0.004 x FC + x M ≥ 4.5  Dobbiamo determinare il piano di produzione che minimizza il costo di acquisto: min 0.025 x FA + 0.03 x FB + 0.018 x FC + 10 x M

12 12 Il problema della fonderia Costruzione del modello di ottimizzazione Il problema può essere così formalizzato: min 0.025 x FA + 0.03 x FB + 0.018 x FC + 10 x M s.t. x FA + x FB + x FC + x M = 1000 0.04 x FA + 0.01 x FB + 0.006 x FC ≥ 32.5 0.04 x FA + 0.01 x FB + 0.006 x FC ≤ 55 0.0045 x FA + 0.005 x FB + 0.004 x FC + x M ≥ 4.5 x FA, x FB, x FC,x M ≥ 0 ESERCIZIO: Scrivere l’istanza su Lindo

13 13 Il problema della fonderia Determinazione delle soluzioni Istanza su Lindo: 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.5 0.04 xfa + 0.01 xfb + 0.006 xfc < 55 0.0045 xfa + 0.005 xfb + 0.004 xfc + xm > 4.5 end

14 14 Il problema della fonderia Analisi 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:

15 15 Il problema della fonderia Individuazione del problema, analisi della realtà e raccolta dati  Variable value  E’ il vettore delle variabili in condizioni di ottimo  Reduced cost (di una variabile)  Quantità di cui deve migliorare il coefficiente di quella variabile nella f.o. in modo che questa entri in base  Peggioramento della f.o. se quella variabile fuori base fosse forzata ad entrare in base con una variazione unitaria  Dual prices (di un vincolo)  E’ l’incremento che subirebbe la f.o. in conseguenza di un incremento unitario del RHS del vincolo considerato  Slack or Surplus (di un vincolo)  Indica lo scarto tra primo e secondo membro

16 16 Pianificazione della produzione Individuazione del problema, analisi della realtà e raccolta dati La società Alfa produce 2 linee di microprocessori destinate a 2 diverse tipologie di mercato:  Processori A, più potenti e destinati ad un mercato “server”  Processori B, meno potenti e destinato ad un mercato “home” La società è in grado di produrre al massimo 3000 wafer a settimana. Da ogni wafer si possono ottenere: 300 processori di tipo A con una resa media del 50% 500 processori di tipo B con una resa media del 60% (i processori B sono meno grandi e meno soggetti a difetti)

17 17 Prezzi di vendita:  500$ per ogni processore di tipo A  200$ per ogni processore di tipo B La divisione commerciale della società ha stabilito che la massima quantità di processori che possono essere immessi settimanalmente sul mercato, senza causare una riduzione dei prezzi, è:  400.000 processori di tipo A  700.000 processori di tipo B Pianificazione della produzione Individuazione del problema, analisi della realtà e raccolta dati

18 18 Determinare con un modello di programmazione lineare quanti processori di tipo A e B occorre produrre settimanalmente, in modo da massimizzare l’utile atteso per la società Processori A Ricavo: 500 $/processore Processori immettibili sul mercato in una settimana: 400.000 Capacità produttiva: 300 processori ottenibili da 1 wafer (resa 50%) Processori B Ricavo: 200 $/processore Processori immettibili sul mercato in una settimana: 700.000 Capacità produttiva: 500 processori ottenibili da 1 wafer (resa 60%) L’impianto è in grado di produrre 3000 wafer alla settimana Pianificazione della produzione Individuazione del problema, analisi della realtà e raccolta dati

19 19 Variabili  x A : numero di processori di tipo A da produrre in una settimana  x B : numero di processori di tipo B da produrre in una settimana Poiché non è possibile produrre quantità negative di processori ed esistono delle limitazioni superiori imposte dalla divisione commerciale, si ha che: 0 ≤ x A ≤ 400.000 0 ≤ x B ≤ 700.000 Pianificazione della produzione Costruzione del modello di ottimizzazione

20 20 Vincoli dovuti al processo produttivo:  w A : numero di wafer impiegati per produrre processori di tipo A  w B : numero di wafer impiegati per produrre processori di tipo B w A + w B ≤ 3000 Da ogni wafer si possono ricavare in una settimana:  300 · 0.5 = 150 processori di tipo A  x A = w A · 150  500 · 0.6 = 300 processori di tipo B  x B = w B · 300 Pianificazione della produzione Costruzione del modello di ottimizzazione

21 21 Ipotizzando che i costi di produzione, pubblicità e distribuzione siano indipendenti dalla tipologia di processore, massimizzare tale ricavo è equivalente a massimizzare l’utile atteso dalla vostra società Il ricavo è dato dalla seguente funzione lineare: max 500 · x A + 200 · x B Pianificazione della produzione Costruzione del modello di ottimizzazione

22 22 Modello di ottimizzazione: max 500 x A + 200 x B s.t. x A ≤ 400.000 x B ≤ 700.000 2 x A + x B ≤ 900.000 x A ≥ 0 x B ≥ 0 Pianificazione della produzione Costruzione del modello di ottimizzazione e determinazione delle soluzioni ESERCIZIO: Ricavare graficamente 3 soluzioni ammissibili e i relativi ricavi

23 23 Spazio ammissibile: Pianificazione della produzione Costruzione del modello di ottimizzazione e determinazione delle soluzioni Modello di ottimizzazione: max 500 x A + 200 x B s.t. x A ≤ 400.000 x B ≤ 700.000 2 x A + x B ≤ 900.000 x A ≥ 0 x B ≥ 0

24 24 Quanti wafer occorre utilizzare all’ottimo per i due tipi di processori? Questi valori di w A e w B non sono accettabili. Un wafer può essere impiegato solo per una tipologia di processori. Tuttavia, spesso le stime commerciali hanno un rilevante margine di incertezza. Una buone soluzione ammissibile intera è: w A = 2.666 w B = 333 Pianificazione della produzione Costruzione del modello di ottimizzazione e determinazione delle soluzioni

25 25 Pianificazione della produzione Costruzione del modello di ottimizzazione e determinazione delle soluzioni ESERCIZIO: Scrivere l’istanza su Lindo Modello di ottimizzazione: max 500 x A + 200 x B s.t. x A ≤ 400.000 x B ≤ 700.000 2 x A + x B ≤ 900.000 x A ≥ 0 x B ≥ 0

26 26 Istanza su Lindo: max 500 xa + 200 xb s.t. xa < 400000 xb < 700000 2 xa + xb < 900000 end Pianificazione della produzione Costruzione del modello di ottimizzazione e determinazione delle soluzioni Modello di ottimizzazione: max 500 x A + 200 x B s.t. x A ≤ 400.000 x B ≤ 700.000 2 x A + x B ≤ 900.000 x A ≥ 0 x B ≥ 0

27 27 LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1) 0.2200000E+09 VARIABLE VALUE REDUCED COST XA 400000.000000 0.000000 XB 100000.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 100.000000 3) 600000.000000 0.000000 4) 0.000000 200.000000 NO. ITERATIONS= 2 Pianificazione della produzione Costruzione del modello di ottimizzazione e determinazione delle soluzioni Soluzione con Lindo:

28 28 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 predefinito  Questi 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

29 29 Dal problema della fonderia a una notazione più generale Notazione  j l’indice dei prodotti tra cui poter scegliere  i l’indice delle proprietà  x j la quantità (non negativa) da acquistare del prodotto j  c j il costo unitario di acquisto del prodotto j  u j la quantità massima acquistabile del prodotto j  b i la quantità minima della proprietà i richiesta nel mix di prodotti da acquistare  a ij la quantità di proprietà i presente in una unità del prodotto j

30 30 Dal problema della fonderia a una notazione più generale Il precedente problema può essere così formalizzato: s.t. Possibile applicazione: il problema della dieta

31 31 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

32 32 Il problema della dieta Dati del problema: AlimentoQuantità massima (in hg) Prezzo di vendita (in €/hg) Pane40.1 Latte30.5 Uova10.12 Carne20.9 Dolce21.3 Valori nutrizionali per hgPaneLatteUovaCarneDolce Calorie3050150180400 Proteine5 g15 g30 g90 g70 g Calcio0.02 g0.15 g0.05 g0.08 g0.01 g Valori nutrizionali minimi Calorie 600 cal. Proteine50 g Calcio0.7 g ESERCIZIO Definire variabili e vincoli. Scrivere l’istanza su Lindo

33 33 Il problema della dieta Istanza su Lindo: min 0.1 x_pane + 0.5 x_latte + 0.12 x_uova + 0.9 x_carne + 1.3 x_dolce s.t. 30 x_pane + 50 x_latte + 150 x_uova + 180 x_carne + 400 x_dolce > 600 5 x_pane + 15 x_latte + 30 x_uova + 90 x_carne + 70 x_dolce > 50 0.02 x_pane + 0.15 x_latte + 0.05 x_uova + 0.08 x_carne + 0.01 x_dolce > 0.7 x_pane < 4 x_latte < 3 x_uova < 1 x_carne < 2 x_dolce < 2 end

34 34 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:

35 35  Per un’indagine conoscitiva si vogliono contattare rispettivamente almeno: –150 donne sposate –110 donne non sposate –120 uomini sposati –100 uomini non sposati  Dati: Costo telefonate al mattino (prima delle 14:00) = 0.2€ Costo telefonate alla sera (dopo le 14:00) = 0.1€ Probabilità di risposta: Quante telefonate effettuare nei due periodi? Si richiede che almeno metà delle telefonate sia effettuata al mattino RISP% Mattina% Sera D.S.30 D.N.S.1020 U.S.1015 U.N.S.405 Problema del call center Individuazione del problema, analisi della realtà e raccolta dati ESERCIZIO: Scrivere il relativo modello di ottimizzazione

36 36 Problema del call center Costruzione del modello di ottimizzazione Variabili t m : numero di telefonate da compiere al mattino di costo unitario t p : numero di telefonate da compiere al pomeriggio di costo unitario Parametri i: indice delle categorie di persone a cui telefonare a im : probabilità di trovare una persona della categoria i al mattino a ip : probabilità di trovare una persona della categoria i al pomeriggio b i : numero minimo di persone di categoria i a cui telefonare

37 37 Problema del call center Costruzione del modello di ottimizzazione Funzione obiettivo: min c m ∙ t m + c p ∙ t p Soddisfacimento del numero minimo di chiamate per la categoria i: a im ∙ t m + a ip ∙ t p ≥ b i Almeno la metà delle telefonate devono essere effettuate al mattino: t m - t p ≥ 0 Vincoli di non-negatività: t m ≥0 t p ≥0 ESERCIZIO: Scrivere l’istanza su lindo

38 38 Problema del call center Determinazione delle soluzioni Modello di ottimizzazione: min c m ∙ t m + c p ∙ t p a im ∙ t m + a ip ∙ t p ≥ b i t m - t p ≥ 0 t m ≥0 t p ≥0 Istanza su Lindo: min 2 tm + 1 tp s.t. 30 tm + 30 tp > 15000 10 tm + 20 tp > 11000 10 tm + 15 tp > 12000 40 tm + 5 tp > 10000 tm - tp > 0 end

39 39 Problema del call center Analisi dei risultati Soluzione con Lindo LP OPTIMUM FOUND AT STEP 5 OBJECTIVE FUNCTION VALUE 1) 1440.000 VARIABLE VALUE REDUCED COST TM 480.000000 0.000000 TP 480.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 13800.000000 0.000000 3) 3400.000000 0.000000 4) 0.000000 -0.120000 5) 11600.000000 0.000000 6) 0.000000 -0.800000 NO. ITERATIONS= 5

40 40 Esercizi per casa 1 Scrivere il modello 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 `e 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.


Scaricare ppt "Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA Ricerca Operativa - RO - Dott.ssa Michela Lai Esercitazione."

Presentazioni simili


Annunci Google