1 / 37

Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA

Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA. Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD -. Dott.ssa Michela Lai mlai@unica.it Dott.ing. Alberto Pillai alberto.pillai@virgilio.it. http://sorsa.unica.it/. Esercitazione 1.

meena
Download Presentation

Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Università degli Studi di CagliariFACOLTA’ DI INGEGNERIA Laboratorio di Modelli Matematici per il Supporto alle Decisioni - LAB_MMSD - Dott.ssa Michela Lai mlai@unica.it Dott.ing. Alberto Pillai alberto.pillai@virgilio.it http://sorsa.unica.it/ Esercitazione 1

  2. Il processo decisionale La 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 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 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

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

  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. Il problema della fonderiaDefinizione del problema, analisi della realtà e raccolta dati • 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.5 • 0.04 xFA + 0.01 xFB + 0.006 xFC≤ 55

  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.5 • 0.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≥ 0 ESERCIZIO: 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 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

  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à • xjla 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 prodottoj

  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 dieta ESERCIZIO Definire variabili e vincoli. Scrivere l’istanza su Lindo Dati del problema:

  21. Il problema della dieta Su Lindo:

  22. Il problema della dieta Soluzione con Lindo: 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

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

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

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

  35. Esercizi per casa 1 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 `e 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`o 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.

  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

  37. Problema del call centerIndividuazione del problema, analisi della realtà e raccolta dati ESERCIZIO: Scrivere il relativo modello di ottimizzazione

More Related