Ingegneria Informatica e Ingegneria Matematica FONDAMENTI DI RICERCA OPERATIVA D / E Edoardo Amaldi DEI - Politecnico di Milano amaldi@elet.polimi.it Sito web: http://home.dei.polimi.it/amaldi/fro-de-08-09.html
INTRODUZIONE Ricerca Operativa ( Operations Research ): Uso di modelli matematici e metodi quantitativi avanzati per analizzare problemi decisionali complessi e fornire un supporto alla presa di decisioni Tra matematica, informatica, economia e ingegneria 1
Problemi decisionali Problemi di scelta tra diverse soluzioni alternative sulla base di uno (o più) criteri Esempi: 1) Assegnare m incarichi (jobs) a m persone (macchine) minimizzando il tempo necessario per completarli P 1 P 2 P 3 I 1 2 6 3 I 2 8 4 9 I 3 5 7 8 Tabella dei tempi (m = 3) Numero di soluzioni alternative? 2
Problemi decisionali Problemi di scelta tra diverse soluzioni alternative sulla base di uno (o più) criteri Esempi: 1) Assegnare m incarichi (jobs) a m persone (macchine) minimizzando il tempo necessario per completarli P 1 P 2 P 3 I 1 2 6 3 I 2 8 4 9 I 3 5 7 8 Tabella dei tempi (m = 3) Numero di soluzioni alternative: m! 3
2) Collegare n città (uffici) con una rete di comunicazione di costo minimo Numero di soluzioni alternative? 3) Organizzare i turni del personale rispettando le varie esigenze e minimizzando il numero di persone coinvolte 4) Determinare il numero di sportelli da aprire affinché il tempo medio di attesa non superi un certo valore 5) Decidere quale modello di PC portatile comperare, tenendo conto del prezzo, del peso, delle prestazioni Problemi complessi affrontati con l approccio modellistico (tecniche matematiche e strumenti informatici) 4
2) Collegare n città (uffici) con una rete di comunicazione di costo minimo Numero di soluzioni alternative: 2 n(n 1) 3) Organizzare i turni del personale rispettando le varie esigenze e minimizzando il numero di persone coinvolte 4) Determinare il numero di sportelli da aprire affinché il tempo medio di attesa non superi un certo valore 5) Decidere quale modello di PC portatile comperare, tenendo conto del prezzo, del peso, delle prestazioni Problemi complessi affrontati con l approccio modellistico (tecniche matematiche e strumenti informatici) 5
Cenni storici Origini militari (seconda guerra mondiale): Assegnare in modo efficace le risorse limitate alle diverse operazioni Esempi: posizionamento dei radar, approvigionamento dei convogli, logistica... Operations Research sta per la ricerca del modo più efficace di condurre le operazioni Nel dopoguerra, metodi analoghi applicati in ambito industriale Il boom economico, ingrandendo le imprese e organizzazioni, poneva problemi decisionali molto più complessi! 6
Circostanze favorevoli: Rapidi progressi teorici in Ricerca Operativa e in Calcolo Numerico Avvento e diffusione dei primi computer (potenza di calcolo disponibile e poi diffusione di software) Ricerca Operativa = Management Science 7
Caratteristiche dei problemi decisionali numero di decisori (chi decide?) numero degli obiettivi (in base a quali criteri decide?) grado di incertezza dei dati (con quali informazioni decide?) Più decisori Teoria dei giochi Più obiettivi Programmazione multi-obiettivo Grado di incertezza > 0 Programmazione stocastica 8
Esempio: Mix produttivo Una azienda produce tre tipi di apparecchiature elettroniche. Le fasi critiche del ciclo produttivo: assemblaggio, finitura e controllo di qualità. Ore-uomo per ogni fase e prodotto: A 1 A 2 A 3 Assemblaggio 80 70 120 Finitura 70 90 20 Controllo qualità 40 30 20 Disponibilità produttiva nell orizzonte di pianificazione espressa in ore-uomo: Margine lordo unitario espresso in KEuro: Assemblaggio Finitura Controllo qualità 1000 800 300 A 1 A 2 A 3 16 10 2 Si suppone che l azienda possa vendere tutto ciò che produce. Formulare in termini matematici il problema di determinare un piano di produzione che massimizzi il margine lordo complessivo. 9
Modello mix produttivo Variabili di decisione: x j = quantità di apparecchiatura A j prodotta (j = 1, 2, 3) Funzione obiettivo: max z = 16x 1 + 10x 2 + 2x 3 Vincoli: capacità produttiva per ogni fase 80x 1 + 70x 2 + 120x 3 1000 70x 1 + 90x 2 + 20x 3 800 40x 1 + 30x 2 + 20x 3 300 (assemblaggio) (finitura) (controllo qualità) Non negatività delle variabili: x 1, x 2, x 3 0 10
Schema generale di uno studio di R.O. Problema Modello Algoritmo Programma Modello: rappresentazione semplificata della realtà Per definirlo bisogna individuare gli elementi fondamentali e le principali relazioni 11
Esempio: Pianificazione di investimenti Una società di investimenti finanziari deve decidere la composizione di un portafoglio di titoli. Investimento Area Capitale [ c j ] (KEuro) Rendimento atteso [ r j ] A (settore auto) Germania 150 11% B (settore auto) Italia 150 9% C (settore informatica) U.S.A. 60 13% D (settore informatica) Italia 100 10% E (settore elettrodomestici) Italia 125 8% F (settore elettrodomestici) Francia 100 7% G (titoli di stato a breve) Italia 50 3% H (titoli di stato a lungo) Inghilterra 80 5% Capitale = 600 KEuro Al massimo 5 investimenti per non frammentare troppo la gestione Diversificazione per area geografica: 3 investimenti in Italia e 3 all estero Formulare in termini matematici il problema di selezione degli investimenti in modo tale da massimizzare il ritorno atteso rispettando i vincoli che mirano a ridurre il rischio. 12
Modello di pianificazione di investimenti Variabili di decisione: x j = 1 se j-esimo investimento viene effettuato e x j = 0 altrimenti (j = 1,..., 8) Funzione obiettivo: Vincoli: 8 max z = c j r j x j j=1 8 c j x j 600 (capitale) j=1 8 x j 5 (max 5 investimenti) j=1 x 2 + x 4 + x 5 + x 7 3 x 1 + x 3 + x 6 + x 8 3 (max 3 in Italia) (max 3 all estero) Variabili binarie (intere): x j {0, 1} j, 1 j 8 13
Per limitare il rischio: i) investimenti C e D sono mutuamente esclusivi, ii) se si sceglie un investimento nel settore informatico, bisogna anche selezionare titoli di stato. Modello: 8 max z = c j r j x j j=1 8 c j x j 600 (capitale) j=1 8 x j 5 (max 5 investimenti) j=1 x 2 + x 4 + x 5 + x 7 3 (max 3 in Italia) x 1 + x 3 + x 6 + x 8 3 (max 3 all estero) x 3 + x 4 1 (C e D esclusivi) x 3 + x 4 x 7 + x 8 (invest. in titoli di stato) x j {0, 1} j, 1 j 8 14
Esempio: Problema di assegnazione Il responsabile di un ufficio deve assegnare m = 3 incarichi a m persone sulla base delle seguenti stime dei tempi che ciascuno impiega ad eseguire ogni incarico: P 1 P 2 P 3 I 1 2 6 3 I 2 8 4 9 I 3 5 7 8 Tabella dei tempi t ij, 1 i, j 3 Formulare in termini matematici il problema di determinare quale incarico assegnare ad ogni persona in modo tale da minimizzare la somma dei tempi di completamento di tutti gli incarichi. 15
Modello di assegnazione Variabili di decisione: x ij = 1 se l incarico i viene assegnato alla persona j e x ij = 0 altrimenti i, j con 1 i, j 3 Funzione obiettivo: min z = 3 3 t ij x ij Vincoli: i=1 j=1 3 x ij = 1 i=1 3 x ij = 1 j=1 Variabili binarie (intere): j = 1, 2, 3 (ad ogni persona j un unico incarico) i = 1, 2, 3 (ogni incarico i ad un unica persona) x ij {0, 1} i, j, 1 i, j 3 16
Esempio: localizzazione di impianti Tre pozzi petroliferi, situati nei punti A, B e C, estraggono greggio. Dove localizzare una raffineria per minimizzare il costo degli oleodotti (proporzionale al quadrato della lunghezza)? È vietato costruirla nel raggio di 100 km attorno al punto D = (100, 200). Gli oleodotti possono invece attraversare la zona vietata. 17
Modello localizzazione di impianti Variabili di decisione: x 1, x 2 coordinate cartesiane della raffineria Funzione obiettivo: min z = [ (x 1 0) 2 + (x 2 0) 2] [ + (x 1 300) 2 + (x 2 0) 2] + [(x 1 240) 2 + (x 2 300) 2] Vincoli: (x 1 100) 2 + (x 2 200) 2 100 Natura variabili: x 1, x 2 reali 18
Programmazione matematica (PM) Problemi decisionali con un solo decisore, un solo criterio di scelta e ambiente certo opt f (x) con x X variabili di decisione x R n : grandezze numeriche il cui valore individua una soluzione del problema regione ammissibile X R n distingue le soluzioni ammissibili da quelle non ammissibili (mediante vincoli) funzione obiettivo f : X R esprime in modo quantitativo il gradimento o il costo di ciascuna soluzione ammissibile opt = min oppure opt = max NB: max{f(x) : x X} = min{ f(x) : x X} 19
Ottimi globali Risolvere un problema di PM consiste nell individuare una soluzione ammissibile globalmente ottima, ovvero un x X tale che f (x ) f (x) x X se opt = min f (x ) f (x) x X se opt = max Può avvenire che: 1. il problema sia inammissibile (X = ) 2. il problema sia illimitato ( c R, x c X tale che f (x c ) c oppure f (x c ) c) 3. vi sia un numero elevatissimo (anche infinito) di soluzioni ottime (con lo stesso valore ottimo!) 20
Ottimi locali Talvolta ci si deve accontentare di una soluzione ammissibile localmente ottima, ovvero un ˆx X tale che f (ˆx) f (x) x con x X e x ˆx ǫ se opt = min f (ˆx) f (x) x con x X e x ˆx ǫ se opt = max per ǫ > 0 opportuno Un problema può avere tanti ottimi locali! 21
Casi particolari di PM Programmazione Lineare (PL) f (x) lineare X = {x R n : g i (x) R 0, i = 1,..., m} con R {=,, } e g i (x) lineare per ogni i Esempio: Mix produttivo Programmazione Lineare Intera (PLI) f (x) lineare X = {x R n : g i (x) R 0, i = 1,..., m} Z n con R {=,, } e g i (x) lineare per ogni i Esempio: Pianificazione investimenti, assegnazione di incarichi PLI coincide con PL con in più il vincolo di interezza delle variabili di decisione Programmazione Non Lineare f (x) regolare X volume racchiuso fra superfici {x R n : g i (x) = 0} regolari (con g i (x) regolari) Esempio: Localizzazione di impianti 22
Programmazione a molti obiettivi Vi sono vari approcci per tenere conto di più obiettivi Se si desidera minimizzare f 1 (x) e massimizzare f 2 (x): 1. senza priorità: ricondursi al caso con un solo obiettivo convertendo i diversi obiettivi in unità di misura omogenee min λ 1 f 1 (x) λ 2 f 2 (x) per due scalari λ 1 e λ 2 opportuni 2. con priorità: ottimizzare l obiettivo prioritario e ridurre quelli secondari a vincoli di qualità min x X f 1 (x) con X = {x X : f 2 (x) c} per una costante c opportuna 23
Programmazione matematica e simulazione Entrambe richiedono la costruzione di un modello e lo sviluppo di un algoritmo Programmazione matematica Simulazione Problemi ben formalizzabili L algoritmo fornisce una soluzione I risultati sono certi Problemi difficili da formalizzare L algoritmo riproduce il sistema reale e permette di sperimentare le prestazioni di soluzioni diverse I risultati sono da interpretare 24
ESEMPI DI SUCCESSI DELLA R.O. anno azienda settore effetto 90 Taco Bell turni personale 7.6M$ risparmio (fast food) annuo 92 American Arlines nuovo sistema di tariffe, overbooking + 500M$ e coordinamento dei voli 92 Harris Corp. pianificazione 50% 95% ordini (semiconduttori) produzione on time 95 GM - car rental utilizzo parco +50M$ annui auto evitato fallimento 96 HP - stampanti riprogettata linea raddopiata produttiva produzione 97 Bosques Arauco logistica taglio 5M$ risparmio e trasporto annuo 99 IBM riorganizzata catena 750M$ risparmio logistica annuo 25
Praticamente nessun manager delle Fortune 500 gestisce la propria azienda senza il supporto di metodi quantitativi e della R.O. Notevoli vantaggi non solo per le grandi aziende/enti/organizzazioni R.O. utile ogniqualvolta si desidera razionalizzare l uso di risorse limitate! In contesti di rapida evoluzione, elevata complessità ed incertezza è indispensabile trovare e implementare solutioni efficaci Informatizzazione e disponibilità dei dati hanno aperto nuovi orizzonti... 26