Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il...
-
Upload
celio-usai -
Category
Documents
-
view
217 -
download
0
Transcript of Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il...
Università degli Studi di CagliariFACOLTA’ DI INGEGNERIA
Laboratorio diModelli Matematici per il Supporto alle Decisioni
- LAB_MMSD -
Dott.ssa Michela [email protected]
Dott.ing. Alberto [email protected]
http://sorsa.unica.it/
Esercitazione 1
2
Il processo decisionaleLa Teoria delle decisioni 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 decisionaleModello: 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 ottimizzazioneIn 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 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
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 fonderiaDefinizione del problema, analisi della realtà e raccolta dati
9
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à
10
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
11
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
12
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 ≥ 0ESERCIZIO:
Scrivere l’istanza su lindo
13
Il problema della fonderiaDeterminazione delle soluzioni
14
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:
15
Pianificazione della produzione 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
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
17
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
18
Dal problema della fonderia a una notazione più generale
• Il precedente problema può essere così formalizzato:
s.t.
Possibile applicazione: il problema della dieta
19
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
20
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. Scrivere
l’istanza su Lindo
21
Il problema della dietaSu Lindo:
22
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:
23
Conclusione
Problemi con variabili quantitative Il problema della fonderia Il problema della dieta
24
Variabili logiche
In altri problemi le variabili rappresentano scelte di tipo logico e possono assumere uno solo dei valori
0 (Falso) e 1 (Vero) Esempio: la variabile xi vale 1 se è vero che l’elemento i fa parte di un certo insieme e vale 0 altrimenti
I problemi di ottimizzazione con logiche variabili sono detti problemi di
Programmazione Lineare Intera (o mista)
25
Variabili logiche
Nei problemi di Programmazione Lineare Intera
funzione obiettivo e vincoli sono lineari e
tutte le variabili possono assumere solo valori interi Quando solo alcune variabili devono essere intere, si parla
di programmazione lineare misto-intera
Esempio: il Problema dello Zaino (o Knapsack problem)
26
Problema dello zainoIndividuazione del problema, analisi della realtà e raccolta dati
Dato un insieme di E = (1,2,…n) elementi, a ciascuno dei quali è associato un peso e un beneficio, determinare un sottoinsieme di elementi tale che
produca beneficio totale massimo il peso totale non superi la capacità dello zaino
Possibili applicazioni: Scegliere tra n alternative progettuali nel rispetto del budget finanziario (capacità) a disposizione Scegliere come impiegare un capitale finanziario (capacità) tra n possibili investimenti
27
Problema dello zainoCostruzione del modello matematico
Notazione aj = peso dell’elemento j, j = 1......n
cj = beneficio dell’elemento j, j = 1……n b = peso massimo sostenibile dallo zaino
Ipotesi
(Cosa succede se ?)
aj < b per j = 1……n (Cosa succede nel caso contrario?)
28
Problema dello zainoCostruzione del modello matematico
Introduciamo per ogni elemento j є E una variabile logica xj:
xj = 1 se l’elemento j è inserito nello zaino
xj = 0 se l’elemento j non è inserito nello zaino
La condizione sulla capacità dello zaino è pertanto:
La funzione obiettivo è:
29
Problema dello zainoCostruzione del modello matematico
Formulazione del 0-1 Knapsack problem:
s.t.
Esercizio. Un ladro entra in un magazzino e trova i seguenti oggetti:
Scrivere su Lindo l’istanza del problema dello zaino, in modo da aiutare il ladro a realizzare il furto di maggior valore, compatibilmente con la capacità del suo zaino
Elemento A B C D E F
Peso 9 12 6 5 3 2
Valore 30 36 15 11 5 3
Capacità zaino = 19
30
Problema dello zainoEsercizio
La stringa finale int 6 impone che le prime sei variabili dell’istanza siano binarie
31
Problema dello zainoSoluzione del problema con Lindo
OBJECTIVE FUNCTION VALUE
1) 51.00000
VARIABLE VALUE REDUCED COST XA 0.000000 -30.000000 XB 1.000000 -36.000000 XC 1.000000 -15.000000 XD 0.000000 -11.000000 XE 0.000000 -5.000000 XF 0.000000 -3.000000
ROW SLACK OR SURPLUS DUAL PRICES 2) 1.000000 0.000000
NO. ITERATIONS= 2
Soluzione con Lindo:
32
Problema dello zainoVarianti
Bounded Knapsack Problem: rispetto alla formulazione precedente, le variabili del problema sono intere e limitate superiormente:
xj = nr. di volte che l’elemento j è inserito nello zaino
Unbounded Knapsack Problem: rispetto alla formulazione bounded, l’unica differenza è che xj = +∞
33
Problema dello zainoEsercizio
Risolvere su Lindo il problema del ladro utilizzando la variante Unbounded Knapsack Problem
La stringa finale gin 6 impone che le prime sei variabili dell’istanza siano intere
34
Problema dello zainoSoluzione del problema con Lindo
OBJECTIVE FUNCTION VALUE
1) 60.00000
VARIABLE VALUE REDUCED COST XA 2.000000 -30.000000 XB 0.000000 -36.000000 XC 0.000000 -15.000000 XD 0.000000 -11.000000 XE 0.000000 -5.000000 XF 0.000000 -3.000000
ROW SLACK OR SURPLUS DUAL PRICES 2) 1.000000 0.000000
NO. ITERATIONS= 1
Soluzione con Lindo:
35
Esercizi per casa 1Scrivere il modello e risolverlo con dati a piacere
L’agenzia matrimoniale Cuori Solitari deve organizzare il gran ballo di fineanno. L’agenzia ha n clienti maschi e n clienti femmine, ed ha prenotaton tavoli da due posti al famoso ristorante Cupido. Dai profili psicologiciraccolti dai clienti, l’agenzia `e in grado di calcolare, per ogni maschioi, l’insieme F(i) delle femmine con le quali potrebbe essere interessato adintrecciare una relazione, e che potrebbero essere interessate ad intrecciareuna relazione con lui; un analogo insieme M(j) pu`o essere ottenuto per ognifemmina 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, chedeve consistere di piatti graditi ad entrambi i commensali. L’agenzia vuolequindi decidere come formare le coppie per il gran ballo in modo da evitarecoppie incompatibili e minimizzare il costo complessivo delle cene.
36
Esercizi per casa 2Individuazione del problema, analisi della realtà e raccolta dati
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 30
D.N.S. 10 20
U.S. 10 15
U.N.S. 40 5
37
Problema del call centerIndividuazione del problema, analisi della realtà e raccolta dati
ESERCIZIO:Scrivere il relativo modello di ottimizzazione