università degli studi di cagliari facolta di ingegneria laboratorio di modelli matematici per il...

37
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela Lai [email protected] Dott.ing. Alberto Pillai [email protected] http://sorsa.unica.it/ Esercitazione 1

Upload: celio-usai

Post on 01-May-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 2: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 3: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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.

Page 4: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 5: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 6: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 7: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 8: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 9: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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à

Page 10: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 11: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 12: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 13: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

13

Il problema della fonderiaDeterminazione delle soluzioni

Page 14: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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:

Page 15: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 16: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 17: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 18: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 19: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 20: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 21: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

21

Il problema della dietaSu Lindo:

Page 22: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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:

Page 23: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

23

Conclusione

Problemi con variabili quantitative Il problema della fonderia Il problema della dieta

Page 24: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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)

Page 25: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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)

Page 26: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 27: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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?)

Page 28: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 29: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 30: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

30

Problema dello zainoEsercizio

La stringa finale int 6 impone che le prime sei variabili dell’istanza siano binarie

Page 31: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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:

Page 32: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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 = +∞

Page 33: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 34: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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:

Page 35: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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.

Page 36: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

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

Page 37: Università degli Studi di Cagliari FACOLTA DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela

37

Problema del call centerIndividuazione del problema, analisi della realtà e raccolta dati

ESERCIZIO:Scrivere il relativo modello di ottimizzazione