alberto caprara d.e.i.s. - università di bologna acaprara ... · a. caprara intro.24 iii. verifica...
TRANSCRIPT
Introduzione alla Ricerca Operativa
Alberto CapraraD.E.I.S. - Università di Bologna
Settembre 2003
Intro.2A. Caprara
Ricerca Operativa ?
• applicazione di metodi scientifici a problemi decisionali che si presentano in strutture organizzate complesse
Matematica Informatica
Ricerca Operativa (Operations Research)Scienza della Gestione (Management Sc.)
Scienza delle Decisioni (Decision Sc.)
Intro.3A. Caprara
Sistemi Organizzati
• Sistema: insieme di elementi legati da forme di interazione
Es. Reparto di produzione
Decisioni• layout impianto• tipo di macchine• sequenza lavorazioni
Prestazioni
Intro.4A. Caprara
Origini della Ricerca Operativa
• Seconda Guerra Mondiale in Inghilterra• Battaglia di Inghilterra:
• prevenzione degli attacchi di bombardieri tedeschi:⇒ radar (risorsa scarsa)raggio d’azione, definizione ...
• Dove localizzare i radar per massimizzare la probabilità di intercettazione ?
• Come coordinare le operazioni (radar, radio, pattuglie aeree …) per facilitare l’identificazione dei nemici e degli amici ?
Intro.5A. Caprara
Origini della Ricerca Operativa (2)
• Gruppi di lavoro misti (matematici, fisici, ingegneri, militari … )
• Research on military Operations• messa a punto di
• metodi quantitativi di analisi • metodologie di soluzione (algoritmi)
• notevole contributo nel miglioramento dell’efficacia dell’avvistamento radar
• numerose applicazioni in altri settori (logistica …)
Intro.6A. Caprara
Evoluzione
• Dopo la guerra: diffusione della disciplina in• Industria• Pubblica amministrazione• Università
• 1940-60: Sviluppo di modelli ed algoritmi di R.O.• programmazione lineare• teoria dei grafi• simulazione numerica …
• 1960-70: Diffusione degli elaboratori • grande impulso alla R.O. • teoria della complessità
Intro.7A. Caprara
Sistemi e Modelli
• Modello:rappresentazione semplificata di un sistema reale,progettata per rispondere, mediante analisi sperimentali, a domande specifiche (risposta agli ingressi/decisioni).
ModelloUscite
(Prestazioni)Ingressi
(Decisioni/Controlli)
Intro.8A. Caprara
Classificazione
• Modello Fisico:riproduzione in scala (similitudine o analogia)
• Modello Matematico:insieme di relazioni logico/matematiche che descrivono il comportamento del sistema
• Statico: sistema in equilibrio• Dinamico: sistema in evoluzione (nel tempo)• Analitico: descritto mediante equazioni/diseq.• Numerico: descritto mediante algoritmi di calcolo
Intro.9A. Caprara
Classificazione (2)Modelli Modelli MatematiciFisici analitici numerici
Mezzo Riproduzione in scala
Formule Teoria dei grafiOttimizz. LineareSimulazione ...
Campo ArchitetturaIdraulica
Fisica Scienze
Problemi decisionali e gestionali
Metodo di sol.
Esperimenti Matematica classica
Algoritmi e computer
Intro.10A. Caprara
Costruzione di un modello
• Sistema reale:
Magazzini ClientiFabbriche
Intro.11A. Caprara
Modello schematico (astratto)
F1
F2
Ma
Mb
Mc
C1
C2
C3
C4
C5
m1
m2
Capacità
c1a
c1b
Costi
ta1
Costi
d1
d2
d3
d4
d5
Domanda
Intro.12A. Caprara
Modello Matematico
• Variabili decisionali:x flussi tra fabbriche e magazzini
y flussi tra magazzini e negozi
F1
F2
Ma
Mb
Mc
C1
C2
C3
C4
C5
m1
m2
Capacità
c1a
c1b
Costi
ta1
Costi
d1
d2
d3
d4
d5
Domanda
Intro.13A. Caprara
Modello matematico (2)(obiettivo)
min c1a x1a + c1b x1b + … ta1 ya1 + ta2 ya2 + …
(vincoli di produzione)x1a + x1b + … ≤ m1
x2a + x2b + … ≤ m2
(vincoli sulla domanda)ya1 + y b1 + … ≥ d1
ya2 + y b2 + … ≥ d2F1
F2
Ma
Mb
Mc
C1
C2
C3
C4
C5
m1
m2
c1ac1b
ta1 d1
d2
d3
d4
d5
Intro.14A. Caprara
Modelli e realtà
• Proprietà di un modello: • astrazione• sintesi (solo le caratteristiche rilevanti)
• Un modello può migliorare il grado di comprensione della realtà:
• individuazione delle componenti importanti• relazioni di causa effetto
⇒Può migliorare le decisioni
Intro.15A. Caprara
I sette ponti di Königsberg
• Problema di Eulero (1707-1783)
Pregel
È possibile effettuare una passeggiata, ritornando al punto di partenza, dopo aver attraversato tutti i ponti una sola volta ?
Intro.16A. Caprara
Modello del problema dei ponti
• Rappresentazione astratta del problema:nascita della Teoria dei Grafi
• Grafo equivalente alla mappa:
Pregel B
A
C
D
Intro.17A. Caprara
Soluzione del problema
• Esiste un percorso chiuso che attraversa tutti gli archi del grafo una ed una sola volta ?(Circuito Euleriano)
B
A
C
D
Cond. necessaria e sufficiente(Eulero, 1736): Il circuito esiste se e solo se in ogni nodo ha un numero pari di lati incidenti
⇒ Il problema di Königsbergnon ha soluzione !!
Intro.18A. Caprara
Metodologia della R.O.
• Dimensionamento ottimale di una filiale di banca:• n. di sportelli per tipologia di servizio• n. di impiegati per tipo• layout …
• Obiettivi:a) contenimento dei costi (n. di sportelli)b)buon livello di servizio (tempi di servizio)⇒obiettivi a) e b) in contrasto tra loro !
• … formulazione vaga
Intro.19A. Caprara
I. Formulazione del Problema (1)
• Definizione degli obiettivi e dei vincoli:i) minimizzare il costo totale (n. di sportelli) con …
• tempo medio di attesa non superi i K minuti• non più del p% dei clienti aspetti oltre K minuti⇒ a) obiettivo, b) vincolo
ii)minimizzare il tempo di attesa con … • costo annuo non superiore a Q milioni (n. sportelli)⇒ b) obiettivo, a) vincolo
Intro.20A. Caprara
I. Formulazione del Problema (2)
• Raccolta di informazioni e dati sul sistema:a) tasso di arrivo dei clienti (λ)
• il ritmo varia nel corso della giornata ?
b) n. di clienti serviti in un’ora da uno sportello (µ )• il ritmo varia nel corso della giornata ?
c) scelta dello sportello • dipende dal n. di clienti in coda ? (es. coda più corta)• se una coda si accorcia, i clienti si spostano ?• meglio code separate o una unica ?
Indagini statistiche o analogie rispetto ad altri sistemi
Intro.21A. Caprara
II. Definizione del modello (1)
• Scelta del paradigma di rappresentazione del problema, in base a:• natura del sistema (statico, dinamico, …)• obiettivo/i e vincoli• tipo e qualita’ dei dati disponibili
• Es. Dati λ, µ, s (n. di sportelli), calcolare:W = tempo medio di attesa in codaP = probabilità che un cliente attenda più di K minuti
Intro.22A. Caprara
II. Definizione del modello (2)
• Definizione del problema di ottimizzazionesi esprimono obiettivo e vincoli mediante funzioni di:• s, … (variabili decisionali)• λ, µ, … (parametri)• W, P, … (prestazioni)
min f (s, λ, µ, W, P, …)
con s∈ S, tale che:g1 (s, λ, µ, W, P, …) ≥ a1
g2 (s, λ, µ, W, P, …) ≥ a2…
Intro.23A. Caprara
II. Definizione del modello (2)
• Modello Analiticose è possibile esprimere W, P, …
mediante funzioni di s,λ, µ, … (casi semplici)Es. (teoria delle code) se s = 1 ⇒ W = λ / µ (µ − λ)
• Modello di Simulazione Numerica (normalmente)se non è possibile esprimere W, P, … mediante funzioni di s,λ, µ, …
(sistema complesso, fenomeni di saturazione, code …)• Programma che riproduce il funzionam. del sistema• dati s,λ, µ … si “misurano” W, P …
Intro.24A. Caprara
III. Verifica del modello
• Calibrazione dei parametri del modello:• si determinano i valori dei parametri caratteristici in
modo che il modello fornisca risposte (valori misurati) aderenti alla realtà
• esperimenti sul modello e confronto dei risultati con valori osservati nella realtà
• Eventuale revisione del modello
127 1000 127 ~1000Modello
Intro.25A. Caprara
IV. Determinazione delle soluzioni
• Si generano soluzioni alternative (Es. diversi s) e si sceglie la “migliore” (miglior compromesso)
• Es. obiettivo: min W, P e costi (prop. ad s)s W P5 15’ 30%
10 1’ 2%⇐7 5’ 10%
Intro.26A. Caprara
V. Presentazione dei risultati
• Modello e risultati vengono sottoposti ai decisori:• verifica delle ipotesi sul modello• esame dell’obiettivo e delle soluzioni• se insoddisfacente:
revisione del modello e nuove soluzioni
• Implementazione della soluzione • Monitoraggio del sistema nel tempo
Intro.27A. Caprara
Metodologia della R.O.
I. Formulazione
II. Modello
III. Verifica
IV. Soluzione
V. Presentazione
Realizzazione
Intro.28A. Caprara
Applicazioni della R.O.
• Problemi decisonali• Scelta di investimenti• Localizzazione sul territorio (impianti, servizi…)• Dimensionamento (impianti, personale …)• Attivazione di rotte aeree (linee di autobus)• Attribuzione di compiti al personale• …
Intro.29A. Caprara
Applicazioni della R.O. (2)
• Problemi Gestionali• organizzazione della produzione• sequenziamento di lavori• pianificazione dei lavori• instradamento di veicoli• turnazione del personale• controllo del traffico aereo• caricamento di containers, pallets• taglio ed impaccamento di oggetti• …
Intro.30A. Caprara
Le tre dimensioni dei modelliGrado di incertezza
N. DecisoriN. Obiettivi
1
1Progr. Matematica
Progr. Stocastica
Teoria dei Giochi
Progr. Multicriteri
Intro.31A. Caprara
Ottimizzazione della Produzione
• 2 prodotti:• Sedia in Legno (SL)• Sedia in Alluminio (SA)
• 3 reparti:• Lavorazione parti in Legno (RL)• Lavorazione parti in Alluminio (RA)• Lavorazione parti in Tessuto (RT)
RTRL
RA
Intro.32A. Caprara
Ottimizzazione della Produzione (2)
• Tempi di Produzione (min. per pezzo)RTRL
RA• Ricavo netto (Lire per pezzo)• Disponibilità reparti (min. per periodo)
RL RA RTSL 10 - 30SA - 20 20
Ricavo3.0005.000
D. 40 120 180
Intro.33A. Caprara
Ottimizzazione della Produzione (3)
• Supponendo di poter vendere tutta la produzione quante sedie di ciascun tipo devono essere prodotte per massimizzare il ricavo ?
• Variabili decisionali:x1 = n. di sedie di legno prodotte in una settimanax2 = n. di sedie di alluminio prodotte in una settimana
x1 ed x2 possono essere frazionarie
Intro.34A. Caprara
Modello matematico (PL)
• Funzione obiettivo (max ricavo)max 3.000 x1 + 5.000 x2
• Vincoli di capacità dei reparti:RL) 10 x1 ≤ 40RA) 20 x2 ≤ 120RT) 30 x1 + 20 x2 ≤ 180
• Vincoli di non negatività:x1, x2 ≥ 0
Intro.35A. Caprara
Assegnazione di incarichi
• n persone ed n incarichi• aij = tempo/costo ass. incarico j alla pers. i
Determinare l’assegnamento delle persone agli incarichi di costo complessivo minimo
• Es. n= 2lavoro
pers. 1 21 20 402 30 20
Costo = 40
Intro.36A. Caprara
Assegnazione di incarichi (2)
• n = 3 lavoropers. 1 2 3
1 20 60 302 80 40 903 50 70 80
6 soluzioni
Costo = 120
• N. soluzioni = n (n-1) (n-2) … = n!• se n = 20 ⇒ n! ≈ 2.4 * 1018
• enumerazione su PC 486/33 (≈1 Mflop/sec.): 4.6M anni !
Intro.37A. Caprara
Variabili decisionali
{1 se la persona i esegue l’incarico j0 altrimenti
xij =
lavoropers. 1 2 3
1 20 60 302 80 40 903 50 70 80
variabili1 2 3
1 0 0 12 0 1 03 1 0 0
Matrice di permutazione: un solo 1 ∀ riga e colonna
Intro.38A. Caprara
Modello matematico (PLI)
• Funzione obiettivo (min. costo)
min Σi=1,n Σj=1,n cij xij
• Un solo lavoro per persona:
Σj=1,n xij = 1 (i = 1, …, n)• Una sola persona per lavoro:
Σi=1,n xij = 1 (j = 1, …, n)xij ∈ {0, 1} (i,j = 1, …, n)
variabili1 2 3
1 0 0 12 0 1 03 1 0 0
Intro.39A. Caprara
Sequenziamento di lavorazioni
• n lavorazioni• pj = tempo di processamento lavorazione j• no preemption = una volta iniziata la lavorazione
non può essere interrotta• m macchine identiche• una sola lavorazione alla volta per ogni macchina
assegnare le lavorazioni alle macchine in modo tale che il tempo totale di processamento sia minimo
Intro.40A. Caprara
Sequenziamento di lavorazioni (2)
• n = 5, m = 2, pj = {90, 50, 30, 40, 20}
m1
m2
t
J1
90
J5
11
0
J2
50
J4 J3
120
Intro.41A. Caprara
Variabili decisionali
{1 se la macchina i esegue lavorazione j0 altrimenti
xij =
lavorazionimacch. 1 2 3 4 5
1 1 0 0 0 12 0 1 1 1 0
z = massimo tempo di lavorazione (makespan)
Intro.42A. Caprara
Modello matematico (PL mista)
• Funzione obiettivo (min. makespan)min z
• definizione makespan:
Σj=1,n pj xij ≤ z (i = 1, …, m)• Ogni lavorazione su una sola macchina:
Σi=1,m xij = 1 (j = 1, …, n)
xij ∈ {0, 1} (i, j = 1, …, n)z ≥ 0
Intro.43A. Caprara
Commesso viaggiatore
• n luoghi da visitare• dij distanza tra i luoghi i e j
Determinare un percorso chiuso che visiti una ed una sola volta tutti i luoghi ed abbia lunghezza complessiva minima
• soluzione = permutazione di {1, 2, … , n}• Es. n = 5 1 → 3 → 2 → 4 → 5 → 1• n. di soluzioni = n. di permutazioni = (n-1)!
Intro.44A. Caprara
Modello di teoria dei grafi
• Grafo:
Intro.45A. Caprara
Altre applicazioni (1)
• Perforazione circuiti stampati:• nodi: fori da eseguire• distanza: tempo di spostamento utensile
• Sequenza di plotting di segmenti:• nodi: segmenti da disegnare• distanza: tempo di spostamento tra la fine di un
segmento e l’inizio di un altro• Sequenza di taglio di lastre:
• nodi: tagli da eseguire• distanza: tempo di spostamento tra la fine di un
taglio e l’inizio di un altro
Intro.46A. Caprara
Altre applicazioni (2)
• Sequenziamento dei movimenti per una pista:• nodi: movimenti (decollo, atterraggio)
dei diversi aerei• distanza: tempo che deve intercorrere tra due
movimenti • es. att. aereo piccolo dopo att. aereo grande: 5 miglia
att. aereo piccolo dopo att. aereo piccolo: 3 miglia