Università degli Studi di Cagliari FACOLTA’ DI SCIENZE MM.FF.NN. C.L. Specialistica in Tecnologie Informatiche Teoria delle Decisioni - TD - Dott.ssa Michela Lai Esercitazione 1
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 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 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 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 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 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 silicio % di manganese Costo (€/kg)
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 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 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 x FB x FC e dovrà essere compresa tra il 3.25% e il 5.5% del totale (1000 kg), quindi 0.04 x FA x FB x FC ≥ x FA x FB x FC ≤ 55 Il problema della fonderia Definizione del problema, analisi della realtà e raccolta dati
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: x FA x FB x FC + x M ≥ 4.5 Dobbiamo determinare il piano di produzione che minimizza il costo di acquisto: min x FA x FB x FC + 10 x M
12 Il problema della fonderia Costruzione del modello di ottimizzazione Il problema può essere così formalizzato: min x FA x FB x FC + 10 x M s.t. x FA + x FB + x FC + x M = x FA x FB x FC ≥ x FA x FB x FC ≤ x FA x FB x FC + x M ≥ 4.5 x FA, x FB, x FC,x M ≥ 0
13 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)
14 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, è: processori di tipo A processori di tipo B Pianificazione della produzione Individuazione del problema, analisi della realtà e raccolta dati
15 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: Capacità produttiva: 300 processori ottenibili da 1 wafer (resa 50%) Processori B Ricavo: 200 $/processore Processori immettibili sul mercato in una settimana: 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
16 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 ≤ ≤ x B ≤ Pianificazione della produzione Costruzione del modello di ottimizzazione
17 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
18 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 · x B Pianificazione della produzione Costruzione del modello di ottimizzazione
19 Modello di ottimizzazione: max 500 x A x B s.t. x A ≤ x B ≤ x A + x B ≤ 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
20 Spazio ammissibile: Pianificazione della produzione Costruzione del modello di ottimizzazione e determinazione delle soluzioni Modello di ottimizzazione: max 500 x A x B s.t. x A ≤ x B ≤ x A + x B ≤ x A ≥ 0 x B ≥ 0
21 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 = w B = 333 Pianificazione della produzione Costruzione del modello di ottimizzazione e determinazione delle soluzioni
22 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
23 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
24 Dal problema della fonderia a una notazione più generale Il precedente problema può essere così formalizzato: s.t. Possibile applicazione: il problema della dieta
25 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
26 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 Calorie 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.
27 Il problema della dieta min 0.1 x_pane x_latte x_uova x_carne x_dolce 30 x_pane + 50 x_latte x_uova x_carne x_dolce ≥ x_pane + 15 x_latte + 30 x_uova + 90 x_carne + 70 x_dolce ≥ x_pane x_latte x_uova x_carne x_dolce ≥ 0.7 x_pane ≤ 4 x_latte ≤ 3 x_uova ≤ 1 x_carne ≤ 2 x_dolce ≤ 2
28 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
29 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
30 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
31 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
32 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 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. Impresa dolciaria
33 Variabili: 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 : XA + XB + XC ≤ 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 Impresa dolciaria
34 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. Pasta
35 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 ≤ 15 M2 ≤ 15 M3 ≤ 15 M4 ≤ 15 La quantità minima giornaliera richiesta per tipologia di pasta : 20 M M M4 ≥ M M M4 ≥ M M M3 ≥ 500 Pasta
36 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 ORARIO N.OSTETRICHE Turni Ospedalieri