Ingegneria Informatica FONDAMENTI DI RICERCA OPERATIVA Edoardo Amaldi DEI - Politecnico di Milano amaldi@elet.polimi.it Pagina web del corso: http://home.dei.polimi.it/amaldi/fro-11-12.html
INTRODUZIONE La Ricerca Operativa ( Operations Research ) è la branca della matematica applicata in cui vengono usati modelli matematici e metodi quantitativi avanzati, come gli algoritmi di ottimizzazione, per analizzare e risolvere problemi decisionali complessi Scopo: fornire un supporto alla presa di decisioni A l intersezione tra matematica applicata, informatica, economia e ingegneria 1
Problemi decisionali Problemi di scelta tra diverse soluzioni alternative (ammissibili) sulla base di uno (o più) criteri Esempi: 1) Dati m progetti(jobs) e m ingegneri(macchine), supponiamo che ogni progetto possa essere eseguito da qualsiasi ingegnere e che t ij sia una stima del tempo che l ingegnere I j impiega ad eseguire il progetto P i. I 1 I 2 I 3 P 1 2 6 3 P 2 8 4 9 P 3 5 7 8 Tabella dei tempi di esecuzione (m = 3) Decidere quale progetto assegnare ad ogni ingegnere in modo da minimizzare il tempo necessario per completarli tutti. Ogni progetto deve essere assegnato esattamente ad un ingegnere e ogni ingegnere deve vedersi assegnare esattamente un progetto. Numero di soluzioni alternative? 2
Problemi decisionali Problemi di scelta tra diverse soluzioni alternative (ammissibili) sulla base di uno (o più) criteri Esempi: 1) Dati m progetti(jobs) e m ingegneri(macchine), supponiamo che ogni progetto possa essere eseguito da qualsiasi ingegnere e che t ij sia una stima del tempo che l ingegnere I j impiega ad eseguire il progetto P i. I 1 I 2 I 3 P 1 2 6 3 P 2 8 4 9 P 3 5 7 8 Tabella dei tempi di esecuzione (m = 3) Decidere quale progetto assegnare ad ogni ingegnere in modo da minimizzare il tempo necessario per completarli tutti. Ogni progetto deve essere assegnato esattamente ad un ingegnere e ogni ingegnere deve vedersi assegnare esattamente un progetto. Numero di soluzioni alternative? m! 3
2) Decidere come collegare n città (uffici) tramite un insieme di collegamenti possibili in modo da minimizzare il costo totale di collegamento. DatoungrafoG = (V,E)conunnodoperognicittàeunlato[i,j]dicostoc ij perognicollegamento, selezionare un sottoinsieme di lati di costo totale minimo che permetta il collegamento tra tutte le coppie di nodi. Numero di soluzioni alternative? 4
2) Decidere come collegare n città (uffici) tramite un insieme di collegamenti possibili in modo da minimizzare il costo totale di collegamento. DatoungrafoG = (V,E)conunnodoperognicittàeunlato[i,j]dicostoc ij perognicollegamento, selezionare un sottoinsieme di lati di costo totale minimo che permetta il collegamento tra tutte le coppie di nodi. Numero di soluzioni alternative: 2 n(n 1) 5
2) Decidere come collegare n città (uffici) tramite un insieme di collegamenti possibili in modo da minimizzare il costo totale di collegamento. DatoungrafoG = (V,E)conunnodoperognicittàeunlato[i,j]dicostoc ij perognicollegamento, selezionare un sottoinsieme di lati di costo totale minimo che permetta il collegamento tra tutte le coppie di nodi. 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) 6
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! 7
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 8
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 9
Esempio: Mix produttivo Una azienda produce tre tipi di apparecchiature elettroniche. Le fasi critiche del ciclo produttivo: assemblaggio, finitura e controllo di qualità. Minuti-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à 30000 25000 18000 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. 10
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 30000 (assemblaggio) 70x 1 +90x 2 +20x 3 25000 (finitura) 40x 1 +30x 2 +20x 3 18000 (controllo qualità) Non negatività delle variabili: x 1,x 2,x 3 0 (anche valori frazionari) 11
Schema generale di uno studio di R.O. Fasi principali: definizione del problema costruzione del modello sviluppo dell algoritmo realizzazione del programma analisi dei risultati rimettendo anche in questione le fasi precedenti Modello: rappresentazione semplificata della realtà Per definirlo bisogna individuare gli elementi fondamentali e le principali relazioni 12
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. 13
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 14
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 x 1 +x 3 +x 6 +x 8 3 x 3 +x 4 1 (max 3 in Italia) (max 3 all estero) (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 15
Esempio: Problema di assegnazione Il responsabile di un azienda di consulenza deve assegnare m = 3 progetti a m ingegneri sulla base delle seguenti stime dei tempi che ciascuno impiega ad eseguire ogni progetto: I 1 I 2 I 3 P 1 2 6 3 P 2 8 4 9 P 3 5 7 8 Tabella dei tempi di esecuzione t ij, 1 i,j 3 Formulare in termini matematici il problema di determinare quale progetto assegnare ad ogni ingegnere in modo tale da minimizzare la somma dei tempi di completamento di tutti i progetti. 16
Modello di assegnazione Variabili di decisione: x ij = 1 se i-esimo progetto viene assegnato al j-esimo ingegnere 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 ingegnere j un unico progetto) i = 1,2,3 (ogni progetto i ad un unico ingegnere) x ij {0,1} i,j, 1 i,j 3 17
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. 18
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 19
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} 20
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!) 21
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! 22
Casi particolari di PM Programmazione Lineare (PL) f (x) lineare X = {x R n : g i (x) R0,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) R0,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 23
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 24
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 25
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 26
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... 27