x 2 (20, 60) z = 200 (40, 30) z = 100 z = 0 x 1 40

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "x 2 (20, 60) z = 200 (40, 30) z = 100 z = 0 x 1 40"

Transcript

1 Mauro Dell Amico Dipartimento di Scienze e Metodi dell Ingegneria (DISMI) Università degli studi di Modena e Reggio Emilia Via Amendola 2, Pad. Morselli, Reggio Emilia web: tel:

2 INDICE 1. Programmazione Lineare in Pillole 2. Miscellanea di problemi di ottimizzazione combinatoria 3. Programmazione Lineare Intera 4. Teoria della Complessitá 5. Algoritmi euristici 6. Algoritmi Metaeuristici 7. Distribuzione e trasporti 8. VRP: modelli esatti 9. VRP: metodi euristici

3 x 2 60 (20, 60) z = 200 z = 100 (40, 30) z = 0 x 1 40

4 Programmazione Lineare Continua - in pillole 1 Programmazione Lineare Un modello di Programmazione Lineare chiede di massimizzare o minimizzare una funzione lineare, soggetta a ua serie di restrizioni descritte da vincoli lineari. Un modello lineare é costituito dai seguenti componenti: - Un insieme di variabili decisionali - Una funzione obiettivo - Un insieme di vincoli L importanza della programmazione lineare deriva da: Molti problemi reali sono per loro natura lineari Molti problemi reali possono essere approssimati efficentemente da funzioni lineari Ci sono diverse applicazioni consolidate negli ambiti del - Produzione - Distribuzione - Marketing - Finanza (investment) - Pubblicitá - Agricoltura -... Inoltre esistono algoritmi effcienti per risolvere problemi lineari anche di grandissime dimensioni.

5 Programmazione Lineare Continua - in pillole 2 Un semplice esempio Una ditta realizza due prodotti che hanno un guadagno unitario di 3 e 5 euro, rispettivamente. Il sistema produttivo é costituito da due reparti di lavorazione ed uno di assemblaggio. Rep. Prod. 1 40/ora Rep. Prod. 2 60/ora Reparto Assemblaggio P1=60s P2=40s Il reparto 1 lavora solo il prodotto 1 e ne produce al massimo 40 all ora Il reparto 2 lavora solo il prodotto 2 e ne produce al massino 60 all ora Nel reparto di assemblaggio sono necessari un minuto per ogni prodotto di tipo 1 e 40 secondi per ogni prodotto 2. Si vuole determinare il mix ottimale che massimizza il guadagno.

6 Programmazione Lineare Continua - in pillole 3 x 1,x 2 = numero di prodotti di ogni tipo realizzatio in un ora (P) maxz = 3x 1 + 5x 2 s.t. x 1 40 x x x (3x 1 +2x 2 180) x 1, x 2 0 x 2 z = (20, 60) z = 3x 1 +5x 2 fascio di rette parallele z = 100 (40, 30) z = 0 x 1 40 Soluzione ottima x 1 = 20,x 2 = 60, z = 360 Teorema Se l insieme P delle soluzioni ammissibili di un problema di Programmazione Lineare Continua è limitato, allora esiste almeno un vertice di P ottimo.

7 Programmazione Lineare Continua - in pillole 4 Non sempre abbiamo una soluzione... maxz = x 1 + x 2 s.t. x 1 x 2 3 (I) 3x 1 + x 2 3 (II) 4x 1 + x 2 2 (III) x 1, x 2 0 II III Problema illimitato I Attenzione! se la f.o. fosse minx 1 + x 2 la soluzione ottima sarebbe x = (1,0) minz = 2x 1 x 2 s.t. x 1 + x 2 4 (I) 2x 1 + 3x 2 6 (II) x 1 2 (III) x 2 4 (IV) x 1, x 2 0 II IV III problema I vuoto

8 Programmazione Lineare Continua - in pillole 5 Forma standard (P) maxz = 3x 1 + 5x 2 s.t. x 1 40 x x 1 + 2x x 1, x 2 0 Forma STANDARD = solo equazioni, variabili non-negative aggiungo tre variabili dummy o slack (P ) maxz = 3x 1 + 5x 2 s.t. x 1 + x 3 = 40 x 2 + x 4 = 60 3x 1 + 2x 2 + x 5 = 180 x 1, x 2, x 3, x 4, x sistema di m = 3 equazioni in n = 5 incognite = 2 soluzioni; - fisso i valori di due variabili a piacere e ottengo un sistema In generale abbiamo (n m) gradi di libertá: a n m variabili possiamo assegnare un valore qualunque; poi si risolve il sistema m m rimanente. - a 2 variabili possiamo assegnare un valore qualunque, poi si risolve il sistema 3 3 il sistema in base alle altre variabili

9 Programmazione Lineare Continua - in pillole 6 (P ) maxz = 3x 1 + 5x 2 s.t. x 1 + x 3 = 40 x 2 + x 4 = 60 3x 1 + 2x 2 + x 5 = 180 x 1, x 2, x 3, x 4, x 5 0 x 2 (0,60) (0,60,40,0,60) (20,60) (20,60,20,0,0) 60 (40,30) (40,30,0,30,0) (0,0) (0,0,40,60,180) x 1 40 (40,0) (40,0,0,60,60) Ogni vertice é l itersezione di due vincoli in ogni vertice due variabili (slack o originali) hanno valore zero I vertici sono un sottoinsieme dei punti che si ottengono fissando due variabli a zero e risolvendo il sistema rispetto alle rimanenti In altre parole scelte m (3 nell esempio) variabili ed azzerate le rimanenti n m (2 nell esempio) si ottengono tutti i vertici... ed altri punti

10 Programmazione Lineare Continua - in pillole 7 Vincoli Rappresentazione matriciale x 1 + x 3 = 40 x 2 + x 4 = 60 3x 1 + 2x 2 + x 5 = x 1 = x 2 = x 3 = 180 A x 4 b x 5 x Funzione obiettivo Ax = b maxz = 3x 1 + 5x x 1 x 2 c T x x 3 x 4 x 5 maxz = c T x Ax = b x 0 max{c T x : Ax = b,x 0}

11 Programmazione Lineare Continua - in pillole 8 Vertici e soluzioni di base Selezioniamo tante variabili quante sono le equazioni (m) e diamo valore zero alle altre. Risolviamo rispetto alle variabili di base. Es. selezioniamo x 3,x 4,x 5 x 1 = x 2 = 0 x 1 +x 3 = 40 x 2 +x 4 = 60 3x 1 +2x 2 +x 5 = 180 Sia A una matrice (m n) x T = (0,0,40,60,180) x 3 = 40 x 4 = 60 x 5 = 180 Una base é una sottomatrice B ottenuta selezionando m colonne linearmente indipendenti; variabili in base (x B ): variabili associate alle colonne di B variabili fuori base (x F ): variabili associate ad A\B A = B = x B = (x 3,x 4,x 5 ) x F = (x 1,x 2 ) x 2 60 (20, 60) la soluzione x = (0,0,40,60,180) corrisponde al punto origine degli assi z = 200 z = 100 (40, 30) z = 0 x 1 40

12 Programmazione Lineare Continua - in pillole 9 x 2 60 V 1 (0,60,40,0,60) V 2 (20,60,20,0,0) Ogni vertice ha una base associata V 3 (40,30,0,30,0) x 1 40 V 4 (40,0,0,60,60) O (0,0,40,60,180) x 1 x 2 x 3 x 4 x x B = (x 2,x 3,x 5 ): x 3 = 40 B = x 2 = x 2 +x 5 = 180 x 3 = 40 x 2 = 60 x 5 = 60 x B = (x 1,x 2,x 3 ): x 1 +x 3 = 40 B = x 2 = x 1 +2x 2 = 180 x = (0,60,40,0,60), vertice V 1 x 1 = 20 x 2 = 60 x 3 = 20 x B = (x 1,x 2,x 4 ): x 1 = 40 B = x 2 +x 4 = x 1 +2x 2 = 180 x = (20,60,20,0,0), vertice V 2 x 1 = 40 x 2 = 30 x 4 = 30 x = (40,30,0,30,0), vertice V 3

13 Programmazione Lineare Continua - in pillole 10 Soluzione del sistema in a forma matriciale x x 2 40 Ax = b x 3 = x x x 1 x 2 x 3 Risolvendo rispetto a x B [ x4 x 5 ] = B x b F x F b Ax = b Bx B +Fx F = b x B = B 1 b B 1 Fx F Soluzione di base: x F = 0, x B = B 1 b ammissibile: se x B = B 1 b 0 degenere se x B ha una o più componenti nulle Ogni soluzione di base ammissibile del sistema Ax = b corrisponde ad un vertice Ogni vertice corrisponde a una o piú soluzioni di base, ammissibili (sono dette degeneri se ve ne é piú di una)

14 Programmazione Lineare Continua - in pillole 11 Soluzioni degeneri x 1 2 x 2 2 x 1 + x 2 4 x 1 2 x 2 2 x 1 + x B 1 B 2 B x 1 +x 3 = 2 x 2 +x 4 = 2 x 1 +x 2 +x 5 = 4 A = B 1 = B 2 = B 3 = x 1 +x 3 = 2 x 2 = 2 x 1 +x 2 = 4 x 1 = 2 x 2 +x 4 = 2 x 1 +x 2 = 4 x 1 = 2 x 2 = 2 x 1 +x 2 +x 5 = 4 x 1 = 2 x 2 = 2 x 3 = 0 x 1 = 2 x 2 = 2 x 4 = 0 x 1 = 2 x 2 = 2 x 5 = 0

15 Programmazione Lineare Continua - in pillole 12 Il metodo del simplesso Algoritmo del simplesso: (prima versione ) Identifica una soluzione di base ammissibile. while ( la soluzione non e ottima ne illimitata) begin trasforma la base corrente in una base vicina con valore della funzione obiettivo minore end L algoritmo termina in tempo finito : ( n m ) = n! m!(n m)! basi x 2 V 1 (0,60,40,0,60) B 1 = V 2 (20,60,20,0,0) B 2 = B 0 = x 1 O (0,0,40,60,180)

16 Programmazione Lineare Continua - in pillole 13 Test di ottimalità Quando risolviamo il sistema Ax = b rispetto a una base anche la funzione obiettivo puó essere riscritta [ ] xb A = [B F] x = c T = [c T B ct F ] x F Bx B +Fx F = b x B = B 1 b B 1 Fx F, B 1 b 0 z = c T x c T B B 1 b+(c T F ct B B 1 F)x F = c T B B 1 b+c T F x F c T = c T c T B B 1 A costi ridotti rispetto alla base B I costi ridotti delle variabili in base sono zero c T B = c T B c T BB 1 B = c T B c T BI = 0 I costi ridotti delle variabili fuori base sono liberi c T F = c T F c T BB 1 F In una soluzione di base x B = B 1 b, x F = 0 z B = c T x = c T BB 1 b+c T Fx F = c T BB 1 b valore soluzione Se x F passa dal valore zero a un valore positivo, la funzione obiettivo cresce o cala a seconda del segno dei costi ridotti Teorema: una soluzione di base di un problema di PLC in forma di minimo è ottima se i costi ridotti sono non negativi (c T 0) (Per un problema di PLC in forma di massimo una soluzione di base è ottima se i costi ridotti sono non positivi)

17 Programmazione Lineare Continua - in pillole 14 Dieta Esercizio: Una dieta per dimagrire prevede giornalmente Kilo calorie, 55 g di proteine e 800 mg di calcio In una prima ipotesi selezioniamo 6 alimenti, con le caratteristiche della tabella Energia Proteine Calcio Prezzo Quantitá Alimento Quantitá (Kcal) (g) (mg) (Euro) massima Cerali 28 g ,30 60 g Pollo 100 g , g Uovo ,20 2 Latte intero 250 ml ,40 2 l Torta di mele 170 g , g Maiale e piselli 260 g , g Quale é la dieta giornaliera di costo minimo, che rispetta i requisiti relativi ad energia, calcio e proteine?

18

19 Miscellanea di problemi 15 Il problema dei trasporti n sorgenti caratterizzate da una capacità massima a i,i = 1,...,n m destinazioni (pozzi) con richiesta b j,j = 1,...,m c ij = costo di trasposto unitario dalla sorgente i alla destinazione j Problema: Determinare l insieme dei trasporti che fornisce ad ogni destinazione la quantità di merce desiderata, senza eccedere le capacità delle sorgenti e minimizzando il costo totale. a n a n 1 a 2 a 1 c ij 3 b m b 2 b 1 Modello matematico x ij = quantità trasportata da i a j min n i=1 m c ij x ij j=1 m x ij a i, i = 1,...,n j=1 n x ij b j, j = 1,...,m i=1 x ij 0, (intera) i = 1,...,n, j = 1,...,m

20 Miscellanea di problemi 16 Assegnamento lineare Data una matrice quadrata C = [c ij ] di n righe e colonne, assegnare ogni riga ad una colonna minimizzando la somma degli elementi di C selezionati e in modo tale che ogni colonna sia assegnata ad una ed una sola riga (Dati n lavoratori, n lavori ed il costo c ij del lavoro j se eseguito dal lavoratore i, assegnare ogni lavoratore ad uno ed un solo lavoro, minimizzando il costo totale) Modello matematico x ij = { 1 la riga i è assegnata alla colonna j 0 altrimenti min n i=1 n c ij x ij j=1 n x ij = 1, i = 1,...,n j=1 n x ij = 1, j = 1,...,n i=1 x ij {0,1} Caso particolare del problema dei trasporti in cui il numero delle sorgenti è uguale al numero delle destinazioni, le capacità e le richieste sono tutte uguali ad uno ( n = m, a i = 1(i = 1,...,n), b j = 1(j = 1,...,n) )

21 Miscellanea di problemi 17 Localizzazione di servizi N = {1,...,n} insieme delle potenziali localizzazioni del servizio I = {1,...,m} insieme dei clienti La località j N ha capacità u j e costo di attivazione c j Il cliente i I ha una richiesta pari a b i h ij è il costo da sostenere per servire il cliente i dalla località j Ogni cliente deve essere servito da una sola località Modello matematico x j = y ij = { 1 se viene posto un servizio nella località j 0 altrimenti { 1 se il cliente i viene servito dalla località j 0 altrimenti min c j x j + h ij y ij j N i I j N y ij = 1 i I (1) j N b i y ij u j x j j N (2) i I x j {0,1} j N y ij {0,1} i I,j N (1) Ogni cliente è servito da una sola località (2) La capacità del servizio attivo deve essere sufficiente per soddisfare tutti suoi clienti; un cliente può essere servito solo da un servizio attivato

22 Miscellanea di problemi 18 Il problema Knapsack Sono dati n possibili investimenti Il j-esimo investimento, j = 1,...,n ha una rendita p j e un impegno di capitale w j Il budget disponibile è pari a b (b w j j, n j=1 w j > b) Problema: determinare l insieme di investimenti che dà il massimo rendimento impegnando al massimo un capitale pari al budget Modello matematico x j = { 1 se l investimento j-esimo è scelto 0 altrimenti n max p j x j j=1 n w j x j b j=1 x j {0,1} j = 1,...,n

23 Miscellanea di problemi 19 Il Bin Packing Sono dati n oggetti L oggetto j-esimo (j = 1,...,n) è caratterizzato da un volume w j Si hanno a disposizione contenitori identici di capacità c Problema: assegnare tutti gli oggetti ai contenitori in modo tale che: il volume totale degli oggetti in ogni contenitore non superi c il numero dei contenitori usati sia minimizzato Modello matematico x ij = z i = { 1 se l oggetto j-esimo è assegnato al contenitore i-esimo 0 altrimenti { 1 se il contenitore i-esimo è usato 0 altrimenti n min i=1 z i n w j x ij cz i, i = 1,...,n j=1 n x ij = 1, j = 1,...,n i=1 x ij {0,1} i,j = 1,...,n z i {0,1} i = 1,...,n

24 Miscellanea di problemi 20 Parallel Processor Scheduling Problem Definizione: Dati n lavori j, ognuno richiedente un tempo di lavorazione p j (j = 1,...,n), e date m macchine identiche in parallelo, ognuna in grado di svolgere un lavoro alla volta, il parallel processor scheduling problem (noto come P C max nella letteratura scientifica) richiede di assegnare i lavori alle macchine in modo che sia minimo l istante di fine dell ultima lavorazione (makespan). Il P C max ha applicazioni soprattutto nell ambito dello scheduling e dell ottimizzazione della produzione. Modello Matematico: Definiamo una variabile binaria: { 1 se assegno il lavoro j alla macchina i, x ij = 0 altrimenti per i = 1,...,m e j = 1,...,n; e una variabile lineare non negativa z = makespan. Il P C max può essere modellato come: z(p C max ) = min z (3) m x ij = 1 j = 1,...,n (4) i=1 n p j x ij z i = 1,...,m (5) j=1 x ij {0,1} i = 1,...,m;j = 1,...,n (6)

25 Miscellanea di problemi 21 Traveling Salesman Problem Datop un grafo G = (V,E) con costi c e sui lati, trovare un circuito elementare (che passa per ogni vertice una sola volta) che tocca tutti i vertici e ha costo totale minimo. Le applicazioni sono molteplici e vanno dal sequenziamento del genoma, al piazzamento dei dispositivi sulle schede elettroniche, alla pianificazione di giri di raccolta/distribuzione. Recentemente UBER ha lanciato un app basata sulla soluzione del TSP

26 Miscellanea di problemi 22 x e = { 1 se il lato e E e scelto 0 altrimenti min c e x e (7) e E s.t. x e = 2 i V (8) e δ(i) e E(S) x e S 1 0 S V (9) x e {0,1} e E (10) δ(i) = insieme dei lati incidenti nel vertice i E(S) = insieme dei lati contenuti nell insieme di vertici S

27 Miscellanea di problemi 23 Modello TSP con numero polinomiale di variabili (Millet, Tucker e Zemlin, 1960) Grafo G = (V,A) con insieme dei vertici V = {1,2,...,n}, insieme degli archi A = {(i,j) : i,j V} e costi c ij (i,j) A. { 1 se arco (i,j) e scelto x ij = 0 altrimenti s.t. min n i=1 n c ij x ij j=1 y j = ordine di visita del vertice j (11) n x ij = 1 j = 1,...,n (12) i=1 n x ij = 1 i = 1,...,n (13) j=1 y j y i +n(1 x ij ) 1 i = 1,...,n;j = 2,...,n (14) x ii = 0 i = 1,...,n (15) y 1 = 1 (16) 2 y i n i = 2,...,n (17) x ij {0,1} i,j = 1,...,n (18) y i 0 i = 1,...,n (19)

28 Miscellanea di problemi 24 Miscelazione Ottimale (Blending) due benzine (B1,B2) ottenute miscelando tre petroli (P1, P2, P3) Le percentuali dei petroli nelle benzine sono limitate come in tabella B1 B2 min max min max P P P ricavi: (B1,B2) (20,15) cent/litro costi: (P1,P2,P3) (5,8,7) cent/litro disponibilità giornaliere (P1,P2,P3) ( ,70.000, ) Modello matematico Variabili immediate: B1,B2 = litri delle due benzine ottenuti P1,P2,P3 = litri dei tre petroli utilizzati p i,j = percentuale del petrolio i nella benzina j I vincoli di blending sono: 0,2 p 11 0,3; 0,1 p 21 0,2 etc. Il legame tra litri di benzine e di petroli è: P1 = p 11 B1+p 12 B2 non lineare!

29 Miscellanea di problemi 25 Un alternativa: x ij = litri del petrolio i esimo nella benzina j-esima i {1,2,3}; j {1,2} Funzione obiettivo max 20(x 11 +x 21 +x 31 )+15(x 12 +x 22 +x 32 ) 5(x 11 +x 12 ) 8(x 21 +x 22 ) 7(x 31 +x 32 ) = 15x x x x 12 +7x 22 +8x 32 Vincoli disponibilità prodotti primi Vincoli di miscelazione x 11 +x x 21 +x x 31 +x x (x 11 +x 21 +x 31 ) 0.8x x x 31 0 x (x 11 +x 21 +x 31 ) 0.7x x x 31 0 x (x 11 +x 21 +x 31 ) 0.1x x x 31 0 x (x 11 +x 21 +x 31 ) 0.2x x x 31 0 x (x 11 +x 21 +x 31 ) 0.5x x x 31 0 x (x 11 +x 21 +x 31 ) 0.7x x x 31 0 Idem per la seconda benzina... Vincoli di non negatività x ij 0 i = 1,2,3;j = 1,2

30 Miscellanea di problemi 26 Fixed Charge n prodotti che potrebbero essere realizzati k j > 0 costo fisso (charge) di inizio j-esima produzione c j costo unitario prodotto j-esimo ulteriori vincoli lineari di produzione: Ax b Problema: quali e quanti prodotti si devono realizzare (rispettando i vincoli Ax b) per minimizzare i costi? Modello matematico x j = quantità del j-esimo prodotto funzione obiettivo (j-esimo prodotto): f(x j ) = { kj +c j x j se x j > 0 0 se x j = 0 f(x j ) k j x j Funzione obiettivo non lineare!

31 Miscellanea di problemi 27 y j = { 1 se xj > 0 0 altrimenti Le variabili y j sono definite da una condizione logica implemento la condizione logica con vincoli: y j {0,1} x j My j,j = 1,...,n M costante positiva grande x j > 0 y j = 1 x j = 0 nessun vincolo su y j Se la funzione obiettivo minimizza il valore delle y j allora nella soluzione ottima: se x j = 0 allora anche y j = 0 min n c j x j + j=1 n k j y j j=1 Ax b x j My j, y j {0,1} x j 0, j = 1,...,n j = 1,...,n

32 Miscellanea di problemi 28 Schedulazione su singolo processore (con deadlines e release times) n lavori ognuno caratterizzato da: p j = tempo di processamento r j = istante minimo di inizio release time d j = istante massimo di completamento deadline Problema: assegnare i lavori ad un singolo processore che può eseguire una sola lavorazione alla volta, rispettando i release times e le deadlines e minimizzando la somma dei tempi di completamento delle lavorazioni. Modello matematico C j = istante di completamento del lavoro j Data una coppia di lavori j,k allora C j C k p k j k oppure C k C j p j k j x jk = { 1 se il lavoro j è schedulato prima del lavoro k 0 altrimenti 1 j < k n n min j=1 C j C j C k p k +M(1 x jk ) 0 j < k n C k C j p j +Mx jk 0 j < k n p j +r j C j d j j = 1,...,n x jk {0,1} 0 j < k n

33 P convex hull

34 Programmazione Lineare Intera 29 Programmazione Lineare Intera (PLI) minc T x Ax = b x 0 x intero Se non c è il vincolo di interezza il problema è facile: PLC Si possono risolvere problemi di PLI rimuovendo il vincolo di interezza e arrotondando la soluzione del corrispondente problema di PLC? ottimo PLI 2 ottimo PLC arrotondamento PLC Si ottengono soluzioni: A) utili B) inutili C) non ammissibili

35 Programmazione Lineare Intera 30 Caso A, soluzioni utili problemi in cui i valori delle variabili nella soluzione ottima sono molto elevati. Es. pezzi da produrre (elevata quantità): PLC PLI (arrotondamento) x 1 = x 2 = x 3 = Poca differenza dal punto di vista pratico Caso B, soluzioni inutili Problemi in cui i valori delle variabili decisionali ottime sono molto piccoli numero di edifici da realizzare numero di veicoli da assegnare ad un servizio opportunità di una scelta (variabili booleane)... Caso C, soluzioni non ammissibili ottimo PLC ottimo PLI Nessuno dei quattro punti interi più vicini all ottimo della PLC è ammissibile per il problema di PLI

36 Programmazione Lineare Intera 31 Rilassamento continuo: problema di PLC ottenuto da un problema di PLI eliminando il vincolo di interezza z PLI = min{c T x : x X}, X = P Z n X P z PL z PLI z PL = min{c T x : x P} Il valore della soluzione ottima del rilassamento continuo è un lower bound del valore ottimo del problema di PLI (upper bound se il problema è di massimo) se lasoluzione ottimax del problema rilassatocontinuo ha tutte le componenti intere allora è ottima anche per il problema di PLI Si definisce chiusura convessa di un insieme S (conv(s)) il piú piccolo insieme convesso che contiene S. Se sapessimo individuare la chiusura convessa (conv(x)) di X z PLI = min{c T x : x X} = min{c T x : x conv(x)} e si potrebbe risolvere il problema di PLI con un algoritmo per la PLC. P convex hull

37 Programmazione Lineare Intera 32 Algoritmo Cutting Plane X = P Z n insieme soluzioni problema di PLI PL = problema di PLC ottenuto rimuovendo i vincoli di interezza dal problema di PLI x = soluzione ottima di PL una disuguaglianza α T x α 0 si dice taglio (cutting plane) se: (1) α T x α 0 x X (nessuna soluzione (intera) del problema originale diventa inammissibile ) (2) α T x > α 0 (x non è più ammissibile) convex hull x (ottimo per PL) piano di taglio valido (supporto)

38 Programmazione Lineare Intera 33 Algoritmo Cutting Plane begin 1. risolvi il rilassamento continuo del problema; if (il problema è vuoto o illimitato) then stop; else sia x la soluzione ottima del problema rilassato; 2. while x non intero do 3. individua un taglio valido α T x α 0 4. aggiungi ai vincoli α T x+x n+1 = α 0 ; 5. risolvi il nuovo problema di PLC e chiama x la nuova soluzione; if (il problema non ha soluzione) then stop; end while end. La procedura determina la soluzione ottima: P contiene tutte e sole le soluzioni intere di X (più altre non intere) i tagli aggiunti non eliminano soluzioni intere PL e PLI hanno la stessa funzione obiettivo La procedura è molto buona quanto la soluzione ottima del problema PL non è troppo diversa da quella del problema PLI Svantaggi il numero delle iterazioni del ciclo while non è polinomiale il problema di PLC da risolvere diventa sempre più grande lunghi tempi di calcolo

39 Programmazione Lineare Intera 34 Si consideri il problema P 0 Branch and Bound min{z(x) : x S(P 0 )}. Branch-and-bound: consiste di due fasi 1) suddivisione di P 0 in sottoproblemi la cui unione equivale a P 0, cioè: P 1,P 2,...,P q (a) tutti i problemi hanno la stessa f.o. z q (b) S(P k ) = S(P 0 ) k=1 z(p 0 ) = min{z(p 1 ),z(p 2 ),...,z(p q )}. È preferibile che S(P i ) S(P j ) = P i,p j : i j. 2) applicare una tecnica di bounding per risolvere in maniera implicita P k (k = 1,...,q) Risolvere P k 1. determinare la soluzione ottima di P k (modo esplicito), oppure 2. dimostrare che S(P k ) = (modo esplicito), oppure 3. (modo implicito) dimostrare che z(p k ) ẑ = miglior soluzione ammissibile ottenuta in precedenza. Ad ogni problema non risolto con (1-3) viene applicato lo stesso procedimento di separazione in sottoproblemi.

40 Programmazione Lineare Intera 35 Albero decisionale P 0 P 1 P 2... P q... Per descrivere teoricamente l intero albero decisionale basta definire il criterio di separazione (branching) Per risolvere un problema con tecnica branch-and-bound occorre anche definire: 1. La strategia di esplorazione dell albero; 2. il metodo di calcolo dei lower bound, per ogni nodo; 3. eventuali criteri di dominanza; 4....

41 Programmazione Lineare Intera 36 z = max{ Branch-and-bound per problemi knapsack n p j x j : j=1 n w j x j c,x j {0,1},j = 1,...,n} j=1 regola di separazione: fissare x j a 0 oppure 1 struttura dell albero: - n livelli - il livello j è associato alla variabile x j x 1 = 1 x 1 = 0 x 2 = 1 x 2 = x n = 1 x n = 0 x n = 1 x n = 0 Vi sono 2 n foglie e 2 n+1 1 nodi in totale Upper bound: rilassamento continuo (si puó risolvere im maniera efficente con un metodo polinomiale )

42 Programmazione Lineare Intera 37 Esempio p j = (25,30,35,19,10), w j = (3,4,5,3,2), c = 11 0 UB = 83 x 1 = 1 x 1 = 0 c = UB = 77 x 2 = 1 x 2 = 0 c = UB = 79 soluzione intera x = (1,0,1,1,0),z = 79 x 3 = 0 3 UB = 79 x 4 = 1 x 4 = 0 4 soluzione intera x = (1,1,0,1,0),z = 74 5 soluzione intera x = (1,1,0,0,1),z = 65

43 Programmazione Lineare Intera 38 Branch and Bound Standard per problemi di PLI Problema rilassato: rilassamento continuo Regola di branch: scegli x j = α, con α = valore frazionario e genera due figli con: (1) x j α (2) x j α Esempio max x 1 +x 2 4x 1 2x 2 1 4x 1 +2x x 2 1 x 1,x 2 0 intere P 0 P 0 : UB(P 0 ) = 4, x = (1.5,2.5); Variabile x 1 = 1.5, frazionaria. P 1 : x 1 1 P 2 : x 1 2

44 Programmazione Lineare Intera 39 P 1 : x 1 1 P 2 : x 1 2 P 1 P 2 P 1 : UB(P 1 ) = 2.5, x = (1,1.5); P 2 : UB(P 2 ) = 3.5, x = (2,1.5); Variabile x 2 = 1.5, frazionaria Variabile x 2 = 1.5, frazionaria P 3 P 3 : x 2 1 P 4 : x 2 2 P 4 inammissibile P 3 : UB(P 1 ) = 3.25, x = (2.25,1); Variabile x 1 = 2.25, frazionaria P 4 : inammissibile P 5 : x 1 2 P 6 : x 1 3 regione ammissibile = inammissibile segmento [(2,0.5),(2,1)], soluzione ottima UB(P 5 ) = 3, x = (2,1). P 1 : eliminato da upper bound

45 Programmazione Lineare Intera 40 L albero delle decisioni (tecnica Highest-First) UB=4 P 0 x 1 1 x 1 2 UB=2.5 UB=3.5 P 1 P 2 P 5 z=3 x 2 1 x 2 2 UB=3.25 vuoto P 3 P 4 x 1 2 x 1 3 vuoto P 6

46 Programmazione Lineare Intera 41 Branch and Cut Si divide il problema in sottoproblemi in cui una o più variabili hanno un valore fissato. Come in un Branch and Bound classico, per ogni sottoproblema si calcolano i lower bound proposti e si effettua una delle seguenti decisioni: 1. Si taglia il nodo perchè non promettente; 2. Si torna indietro perchè si è trovato una soluzione ammissibile; 3. Si ramifica ulteriormente. Ad ogni nodo si possono aggiungere piani di taglio per ridurre lo spazio delle soluzioni ammissibili. La tecnica risultante è di tipo Branch and Bound con l aggiunta di tali piani di taglio. Il modo utilizzato per ramificare è definito strategia di branching.

47

48 Teoria della complessita 42 Definiamo: Definizioni e Obiettivi P un problema di ottimizzazione o di decisione. Dato un insieme di soluzioni possibili, determinare quella di costo minimo (o profitto massimo). Esempi: Knapsack Problem (KP01), Bin Packing Problem (BPP), Cammino minimo(spp), minimo albero ricoprente(sst), Traveling Salesman Problem (TSP), Vehicle Routing Problem (VRP),... A un particolare algoritmo per la risoluzione di P. Ovvero una particolare sequenza di operazioni che ci permetta di determinare la soluzione ottima del problema P. I un istanza di P. Ovvero un caso numerico associato al problema P. L obiettivo della teoria della complessità è duplice: 1. Determinare l efficienza di uno specifico algoritmo A per la risoluzione di un problema P. In tal modo, qualora si abbiano a disposizione più algoritmi, si potrà scegliere quello più efficiente. 2. Determinare la complessità di un problema P come la complessità dell algoritmo A più efficiente per P. In questo modo si può valutare la difficoltà intrinseca di un problema. Per problemi facili andremo sempre alla ricerca della soluzione ottima, mentre per problemi difficili ci accontentermo, eventualmente, di soluzioni approssimate.

49 Teoria della complessita 43 Complessità di un algoritmo La compessità di un algoritmo A può essere vista come la misura del tempo necessario per la sua esecuzione su una data istanza. Con questo criterio la complessità risulterebbe strettamente dipendente dalla macchina risolutrice utilizzata. Più veloce è il computer utilizzato, più veloce risulta la ricerca dell ottimo. Vogliamo esprimere la complessità come misura indipendente dal processore utilizzato. Definiamo un operazione elementare come: un assegnamento; un confronto; un operazione aritmetica. Definiamo infine la compessità di un algoritmo A come il numero di operazioni elementari necessarie per portare a termine A su una determinata istanza I.

50 Teoria della complessita 44 Stima della complessità E importante notare come il numero di operazioni sia dipendente da quella che è la grandezza dell istanza I presa in considerazione. In linea generale, più l istanza è grande, più sarà elevato il numero di operazioni richieste per A. La dimensione dell istanza I, ovvero dell input del nostro algoritmo A, corrisponde al numero di bit necessari a codificare l input stesso. Di solito si considera il numero di valori numerici (in seguito definito n) che appaiono in I, che è proporzionale al numero di bit. Notiamo inoltre come sia difficile determinare in modo esatto il numero di operazioni elementari richieste da un algoritmo. Inoltre non è necessario arrivare ad un tale livello di precisione. Ciò che conta è avere una stima del numero di operazioni. Al fine di ottenere una tale stima, introduciamo alcune funzioni di interesse.

51 Teoria della complessita 45 Ordine di... Date due funzioni f,g : N N, si ha: f(n) = O(g(n)) se esiste una costante c 0 > 0 e un valore n, tale che f(n) c 0 g(n) per ogni n n. In altre parole, per n sufficentemente grande, g(n) è un limite superiore o upper bound di f(n) a meno di una costante moltiplicativa. Esempio: f(n) = 5n 3 +3n 2 +2n+6 avremo che g(n) = n 3 e f(n) = O(g(n)) = O(n 3 ), in quanto per k 16 ho f(n) kg(n). Esempio: f(n) = 2 n +n 2 avremo che g(n) = 2 n e f(n) = O(g(n)) = O(2 n ), in quanto per k 3 ho f(n) kg(n). Il nostro obiettivo è quello di stimare la complessità di un algoritmo con una data funzione O(g(n)), dove tipicamente n rappresenterà la grandezza di I.

52 Teoria della complessita 46 Dimensione di un istanza In un istanza I di un BPP con n oggetti, abbiamo come input gli n valori dei pesi degli oggetti e un valore aggiuntivo che esprime la capacità del bin, per un totale di n+1 valori. Stimeremo la dimensione dell istanza I con il valore n. La stima è ragionevole, in quanto esprimeremo la complessità con un O( ), dove le costanti saranno tutte trascurate. In un istanza I di un KP01 con n oggetti, abbiamo come input 2n valori (n profitti e n pesi) più un valore per la capacità del contenitore. Con ragionamento analogo al precedente, stimeremo la dimensione dell istanza I con il valore n. Dato un grafo di n vertici, diremo che la dimensione dell istanza è n (a volte può anche essere utile considerare il numero di lati m). Questo grafo potrà essere input di problemi di vario tipo, quali: SPP; SST; TSP; VRP;...

Ricerca Operativa A.A. 2007/2008

Ricerca Operativa A.A. 2007/2008 Ricerca Operativa A.A. 2007/2008 9. Cenni su euristiche e metaeuristiche per ottimizzazione combinatoria Motivazioni L applicazione di metodi esatti non è sempre possibile a causa della complessità del

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano Capitolo 3: Ottimizzazione Discreta E. Amaldi DEIB, Politecnico di Milano 3.1 Modelli di PLI e PLMI Moltissimi problemi decisionali complessi possono essere formulati o approssimati come problemi di Programmazione

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi euristici di ottimizzazione combinatoria

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi euristici di ottimizzazione combinatoria Metodi e Modelli per l Ottimizzazione Combinatoria Metodi euristici di ottimizzazione combinatoria L. De Giovanni 1 Introduzione I metodi visti finora garantiscono, almeno in linea teorica, di risolvere

Dettagli

1. Considerazioni generali

1. Considerazioni generali 1. Considerazioni generali Modelli di shop scheduling In molti ambienti produttivi l esecuzione di un job richiede l esecuzione non simultanea di un certo numero di operazioni su macchine dedicate. Ogni

Dettagli

Parte 3: Gestione dei progetti, Shop scheduling

Parte 3: Gestione dei progetti, Shop scheduling Parte : Gestione dei progetti, Shop scheduling Rappresentazione reticolare di un progetto Insieme di attività {,...,n} p i durata (nota e deterministica dell attività i) relazione di precedenza fra attività:

Dettagli

Modelli di Sistemi di Produzione:

Modelli di Sistemi di Produzione: Modelli di Sistemi di Produzione: programma dettagliato - giugno 2007 1. Algoritmi Metaeuristici 1.1 Algoritmi costruttivi ed algoritmi di ricerca locale/metaeuristici 1.2 Algoritmo di ricerca locale 1.3

Dettagli

Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano

Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano Capitolo 5: Ottimizzazione Discreta E. Amaldi DEI, Politecnico di Milano 5.1 Modelli di PLI, formulazioni equivalenti ed ideali Il modello matematico di un problema di Ottimizzazione Discreta è molto spesso

Dettagli

Contenuto e scopo presentazione. Vehicle Scheduling. Motivazioni VSP

Contenuto e scopo presentazione. Vehicle Scheduling. Motivazioni VSP Contenuto e scopo presentazione Vehicle Scheduling 08/03/2005 18.00 Contenuto vengono introdotti modelli e metodi per problemi di Vehicle Scheduling Problem (VSP) Scopo fornire strumenti di supporto alle

Dettagli

3. Gli algoritmi di ottimizzazione.

3. Gli algoritmi di ottimizzazione. Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-3. Gli algoritmi di ottimizzazione. I grafi. La teoria dei grafi è un comodo strumento per la definizione e la formalizzazione

Dettagli

Quadratic assignment Problem: The Hospital Layout

Quadratic assignment Problem: The Hospital Layout Università degli Studi di Modena e Reggio Emilia Corso di Laurea Magistrale in Ingegneria Gestionale Metodi di ottimizzazione per la logistica e la produzione Quadratic assignment Problem: The Hospital

Dettagli

Politecnico di Milano. Reti Wireless. Seminari didattici. Dalla teoria alla soluzione. Ilario Filippini

Politecnico di Milano. Reti Wireless. Seminari didattici. Dalla teoria alla soluzione. Ilario Filippini Politecnico di Milano Reti Wireless Seminari didattici Dalla teoria alla soluzione Ilario Filippini 2 Approccio euristico 3 Obiettivo dell approccio euristico 4 Tipi di euristiche Dalla teoria alla soluzione

Dettagli

Problemi di Programmazione Lineare Intera

Problemi di Programmazione Lineare Intera Capitolo 4 Problemi di Programmazione Lineare Intera La Programmazione Lineare Intera (PLI) tratta il problema della massimizzazione (minimizzazione) di una funzione di più variabili, soggetta a vincoli

Dettagli

Esempi di modelli di programmazione lineare (intera) 2014

Esempi di modelli di programmazione lineare (intera) 2014 Esempi di modelli di programmazione lineare (intera) 2014 1) Combinando risorse Una ditta produce due tipi di prodotto, A e B, combinando e lavorando opportunamente tre risorse, R, S e T. In dettaglio:

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare Luigi De Giovanni 1 Modelli di programmazione lineare I modelli di programmazione lineare sono una

Dettagli

APPLICAZIONI DELLA RICERCA OPERATIVA

APPLICAZIONI DELLA RICERCA OPERATIVA Università degli Studi della Calabria Laurea in Informatica A.A. 2004/2005 Appunti di supporto didattico al corso di APPLICAZIONI DELLA RICERCA OPERATIVA Indice 1 Introduzione alla teoria dello Scheduling

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57

Dettagli

Modelli di Programmazione Lineare Intera

Modelli di Programmazione Lineare Intera 8 Modelli di Programmazione Lineare Intera Come è stato già osservato in precedenza, quando tutte le variabili di un problema di Programmazione Lineare sono vincolate ad assumere valori interi, si parla

Dettagli

Ricerca Operativa Dualità e programmazione lineare

Ricerca Operativa Dualità e programmazione lineare Ricerca Operativa Dualità e programmazione lineare L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi alle spiegazioni del

Dettagli

Approcci esatti per il job shop

Approcci esatti per il job shop Approcci esatti per il job shop Riferimenti lezione: Carlier, J. (1982) The one-machine sequencing problem, European Journal of Operational Research, Vol. 11, No. 1, pp. 42-47 Carlier, J. & Pinson, E.

Dettagli

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Dipartimento di Ingegneria della Informazione Via Diotisalvi, 2 56122 PISA ALGORITMI GENETICI (GA) Sono usati per risolvere problemi di ricerca

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Modellazione in Programmazione Lineare Luigi De Giovanni 1 Modelli di programmazione lineare I modelli di programmazione lineare sono una

Dettagli

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di

Dettagli

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Problemi di Distribuzione: Il problema del Vehicle Rou:ng

Dettagli

Fondamenti di Ricerca Operativa

Fondamenti di Ricerca Operativa Politecnico di Milano Anno Accademico 2010/2011 Fondamenti di Ricerca Operativa Corso del Prof. Edoardo Amaldi Stefano Invernizzi Facoltà di Ingegneria dell Informazione Corso di Laurea Magistrale in Ingegneria

Dettagli

Appunti di Ricerca Operativa

Appunti di Ricerca Operativa Appunti di Ricerca Operativa 0/0 Prefazione La Ricerca Operativa è un campo in continua evoluzione, il cui impatto sulle realtà aziendali ed organizzative è in costante crescita. L insegnamento di questa

Dettagli

SCHEDULING SCHEDULING

SCHEDULING SCHEDULING Corso di Laurea Triennale in INGEGNERIA GESTIONALE Anno Accademico 2012/13 Prof. Davide GIGLIO 1 INDICE Esempio Introduttivo Generalità sui problemi di scheduling SINGLE MACHINE SPT (shortest processing

Dettagli

ALGORITMI EURISTICI PER PROBLEMI DI TAGLIO BIDIMENSIONALE

ALGORITMI EURISTICI PER PROBLEMI DI TAGLIO BIDIMENSIONALE ALMA MATER STUDIORUM - UNIVERSITA DI BOLOGNA FACOLTA DI INGEGNERIA Corso di Laurea in INGEGNERIA INFORMATICA Insegnamento: OTTIMIZZAZIONE COMBINATORIA ALGORITMI EURISTICI PER PROBLEMI DI TAGLIO BIDIMENSIONALE

Dettagli

Metodi diretti per la soluzione di sistemi lineari

Metodi diretti per la soluzione di sistemi lineari Metodi diretti per la soluzione di sistemi lineari N Del Buono 1 Introduzione Consideriamo un sistema di n equazioni in n incognite a 11 x 1 + a 12 x 2 + a 13 x 3 + + a 1n x n = b 1, a 21 x 1 + a 22 x

Dettagli

Indirizzo Giuridico Economico Aziendale

Indirizzo Giuridico Economico Aziendale Premessa Questa breve trattazione non vuole costituire una guida completa ed esauriente sull argomento, ma vuole fornire solamente i concetti fondamentali necessari per il raggiungimento degli obiettivi

Dettagli

METODI MATEMATICI PER LE DECISIONI ECONOMICHE E AZIENDALI 12 CANDIDATO.. VOTO

METODI MATEMATICI PER LE DECISIONI ECONOMICHE E AZIENDALI 12 CANDIDATO.. VOTO METODI MATEMATICI PER LE DECISIONI ECONOMICHE E AZIENDALI 12 1) In un problema multiattributo i pesi assegnati ai vari obiettivi ed i risultati che essi assumono in corrispondenza alle varie alternative

Dettagli

Corso di Analisi Numerica - AN1. Parte 2: metodi diretti per sistemi lineari. Roberto Ferretti

Corso di Analisi Numerica - AN1. Parte 2: metodi diretti per sistemi lineari. Roberto Ferretti Corso di Analisi Numerica - AN1 Parte 2: metodi diretti per sistemi lineari Roberto Ferretti Richiami sulle norme e sui sistemi lineari Il Metodo di Eliminazione di Gauss Il Metodo di Eliminazione con

Dettagli

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un

Dettagli

SVILUPPO DI UN SISTEMA DI SORVEGLIANZA MEDIANTE ROBOT MOBILI.

SVILUPPO DI UN SISTEMA DI SORVEGLIANZA MEDIANTE ROBOT MOBILI. SVILUPPO DI UN SISTEMA DI SORVEGLIANZA MEDIANTE ROBOT MOBILI. 1. ABSTRACT In questo progetto si intende costruire un sistema di sorveglianza mediante l uso di robot mobili. L idea base è quella di usare

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

Complessità e Approssimazione

Complessità e Approssimazione 1 Complessità e Approssimazione Corso di Laurea in Scienze dell'informazione Corso di Laurea Specialistica in Matematica Docente: Mauro Leoncini 2 Aspetti organizzativi Sito web: http://algo.ing.unimo.it/people/mauro

Dettagli

I Modelli della Ricerca Operativa

I Modelli della Ricerca Operativa Capitolo 1 I Modelli della Ricerca Operativa 1.1 L approccio modellistico Il termine modello è di solito usato per indicare una costruzione artificiale realizzata per evidenziare proprietà specifiche di

Dettagli

Barriere assorbenti nelle catene di Markov e una loro applicazione al web

Barriere assorbenti nelle catene di Markov e una loro applicazione al web Università Roma Tre Facoltà di Scienze M.F.N Corso di Laurea in Matematica a.a. 2001/2002 Barriere assorbenti nelle catene di Markov e una loro applicazione al web Giulio Simeone 1 Sommario Descrizione

Dettagli

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort Due algoritmi di ordinamento basati sulla tecnica Divide et Impera: Mergesort e Quicksort (13 ottobre 2009, 2 novembre 2010) Ordinamento INPUT: un insieme di n oggetti a 1, a 2,, a n presi da un dominio

Dettagli

Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici

Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici C. Vergara 3. Metodo della fattorizzazione LU per la risoluzione di un sistema lineare Errori di arrotondamento. Prima di affrontare la

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

La programmazione con vincoli in breve. La programmazione con vincoli in breve

La programmazione con vincoli in breve. La programmazione con vincoli in breve Obbiettivi Introdurre la nozione di equivalenza di CSP. Dare una introduzione intuitiva dei metodi generali per la programmazione con vincoli. Introdurre il framework di base per la programmazione con

Dettagli

Modelli di scheduling su macchina singola. relazione alle macchine che devono eseguire le varie operazioni, allora ogni singola macchina nello shop è

Modelli di scheduling su macchina singola. relazione alle macchine che devono eseguire le varie operazioni, allora ogni singola macchina nello shop è . Modello base Consideriamo il caso in cui ogni job consiste di una sola operazione. Poiché un insieme di job è partizionato in relazione alle macchine che devono eseguire le varie operazioni, allora ogni

Dettagli

Algoritmi euristici ed evolutivi per l ottimizzazione

Algoritmi euristici ed evolutivi per l ottimizzazione Algoritmi euristici ed evolutivi per l ottimizzazione Dipartimento di Matematica e Informatica Università degli Studi di Perugia Via Vanvitelli, Perugia 17 febbraio 2009 / GALN 2009 Sommario Introduzione

Dettagli

Modelli di Ottimizzazione

Modelli di Ottimizzazione Capitolo 2 Modelli di Ottimizzazione 2.1 Introduzione In questo capitolo ci occuperemo più nel dettaglio di quei particolari modelli matematici noti come Modelli di Ottimizzazione che rivestono un ruolo

Dettagli

Algoritmi per la Visualizzazione. Disegno 2D ortogonale. Disegno ortogonale 2D (1) Disegno ortogonale 2D (2)

Algoritmi per la Visualizzazione. Disegno 2D ortogonale. Disegno ortogonale 2D (1) Disegno ortogonale 2D (2) Algoritmi per la visualizzazione DISEGNO DI GRAFI: ALCUNI CASI PARTICOLARI Disegno 2D ortogonale Disegno ortogonale 2D () Disegno ortogonale 2D (2) Punto di vista umano: primo criterio per giudicare la

Dettagli

Ricerca Operativa e Logistica

Ricerca Operativa e Logistica Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 20/202 Lezione 6-8 Rappresentazione di funzioni non lineari: - Costi fissi - Funzioni lineari a tratti Funzioni obiettivo non lineari:

Dettagli

Sommario della lezione

Sommario della lezione Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/36 Sommario della lezione Ulteriori esempi di applicazione della Programmazione Dinamica Esempio di applicazione

Dettagli

Selezione di un portafoglio di titoli in presenza di rischio. Testo

Selezione di un portafoglio di titoli in presenza di rischio. Testo Selezione di un portafoglio di titoli in presenza di rischio Testo E ormai pratica comune per gli operatori finanziari usare modelli e metodi basati sulla programmazione non lineare come guida nella gestione

Dettagli

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12 A / A / Seconda Prova di Ricerca Operativa Cognome Nome Numero Matricola Nota: LA RISOLUZIONE CORRETTA DEGLI ESERCIZI CONTRADDISTINTI DA UN ASTERISCO È CONDIZIONE NECESSARIA PER IL RAGGIUNGIMENTO DELLA

Dettagli

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Introduzione Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Il problema del massimo flusso è uno dei fondamentali problemi nell ottimizzazione su rete. Esso è presente

Dettagli

METODI ITERATIVI PER SISTEMI LINEARI

METODI ITERATIVI PER SISTEMI LINEARI METODI ITERATIVI PER SISTEMI LINEARI LUCIA GASTALDI 1. Metodi iterativi classici Sia A R n n una matrice non singolare e sia b R n. Consideriamo il sistema (1) Ax = b. Un metodo iterativo per la soluzione

Dettagli

Esercizi e complementi di Ottimizzazione nella Gestione dei Progetti

Esercizi e complementi di Ottimizzazione nella Gestione dei Progetti Esercizi e complementi di Ottimizzazione nella Gestione dei Progetti Marco Pranzo 16 Aprile 009 1 Organizzazione concerto rock I promotori di un evento rock devono svolgere le attività (Tabella 1) per

Dettagli

La pianificazione della produzione

La pianificazione della produzione Manufacturing Planning and Control 1 La pianificazione della produzione La pianificazione della produzione è un processo complesso che coinvolge larga parte dell azienda (funzioni e risorse) e deve ragionare

Dettagli

2 Formulazione dello shortest path come problema di flusso

2 Formulazione dello shortest path come problema di flusso Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10 Lecture 20: 28 Maggio 2010 Cycle Monotonicity Docente: Vincenzo Auletta Note redatte da: Annibale Panichella Abstract In questa lezione

Dettagli

Appunti delle esercitazioni di Ricerca Operativa

Appunti delle esercitazioni di Ricerca Operativa Appunti delle esercitazioni di Ricerca Operativa a cura di P. Detti e G. Ciaschetti 1 Esercizi sulle condizioni di ottimalità per problemi di ottimizzazione non vincolata Esempio 1 Sia data la funzione

Dettagli

Bibliografia. Gestione operativa della produzione. Terminologia. Schedulazione. Schedulazione operativa della produzione

Bibliografia. Gestione operativa della produzione. Terminologia. Schedulazione. Schedulazione operativa della produzione Bibliografia Gestione operativa della produzione Schedulazione operativa della produzione 14/12/2001 11.54 E.L. Lawler, J.K. Lenstra, A.G.H. Rinnoy Kan, D.B. Shmoys, Sequencing and Scheduling: Algorithms

Dettagli

Contenuto e scopo presentazione. Crew Scheduling e Crew Rostering. Gestione del personale. Motivazioni

Contenuto e scopo presentazione. Crew Scheduling e Crew Rostering. Gestione del personale. Motivazioni Contenuto e scopo presentazione Crew Scheduling e Crew Rostering Contenuto vengono introdotti modelli e metodi per problemi di turnazione del personale Raffaele Pesenti 07/02/2002 14.41 Scopo fornire strumenti

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

Un Algoritmo parallelo per l Equazione delle Onde nelle Applicazioni Geofisiche

Un Algoritmo parallelo per l Equazione delle Onde nelle Applicazioni Geofisiche UNIVERSITÀ DEGLI STUDI DI ROMA TRE FACOLTÀ DI SCIENZE M.F.N. Un Algoritmo parallelo per l Equazione delle Onde nelle Applicazioni Geofisiche Sintesi della tesi di Laurea in Matematica di Riccardo Alessandrini

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

Ottimizzazione topologica di reti di tipo Internet Protocol con il metodo del Local Branching

Ottimizzazione topologica di reti di tipo Internet Protocol con il metodo del Local Branching POLITECNICO DI TORINO I Facoltà di Ingegneria Corso di Laurea in Matematica per le Scienze dell Ingegneria Tesi di Laurea Ottimizzazione topologica di reti di tipo Internet Protocol con il metodo del Local

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Esame di Ricerca Operativa del 20/12/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 20/12/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 0// (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x + x x +x x x x x x x 0 x x

Dettagli

Matematica B - a.a 2006/07 p. 1

Matematica B - a.a 2006/07 p. 1 Matematica B - a.a 2006/07 p. 1 Definizione 1. Un sistema lineare di m equazioni in n incognite, in forma normale, è del tipo a 11 x 1 + + a 1n x n = b 1 a 21 x 1 + + a 2n x n = b 2 (1) = a m1 x 1 + +

Dettagli

Lezione 10. La classificazione dell Intelligenza Artificiale

Lezione 10. La classificazione dell Intelligenza Artificiale Lezione 10 Intelligenza Artificiale Cosa è l Intelligenza Artificiale Elaborazione del linguaggio naturale La visione artificiale L apprendimento nelle macchine La classificazione dell Intelligenza Artificiale

Dettagli

Schedulazione: più macchine. Schedulazione: più macchine. Modello. Modello. job composti di un unico task da schedulare su una tra più macchine;

Schedulazione: più macchine. Schedulazione: più macchine. Modello. Modello. job composti di un unico task da schedulare su una tra più macchine; Schedulazione: più macchine Schedulazione: più macchine casi: job composti di un unico task da schedulare su una tra più macchine; open shop (tutti i job hanno task su tutte le macchine, ma non le stesse

Dettagli

Funzioni. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Funzioni. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Funzioni Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)

Dettagli

Decisioni in condizioni di incertezza

Decisioni in condizioni di incertezza Decisioni in condizioni di incertezza Paolo Arcaini Roberto Cordone Programmazione in condizioni di incertezza La programmazione in condizioni di incertezza affronta problemi di decisione nei quali occorre

Dettagli

Introduzione alla teoria dello scheduling

Introduzione alla teoria dello scheduling 1. Generalità I problemi di scheduling riguardano l allocazione di risorse limitate ad attività nel tempo. In generale il processo di decisione associato richiede la determinazione dell ordine in cui l

Dettagli

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU 9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A LU 9.1 Il metodo di Gauss Come si è visto nella sezione 3.3, per la risoluzione di un sistema lineare si può considerare al posto

Dettagli

5.4 Solo titoli rischiosi

5.4 Solo titoli rischiosi 56 Capitolo 5. Teoria matematica del portafoglio finanziario II: analisi media-varianza 5.4 Solo titoli rischiosi Suppongo che sul mercato siano presenti n titoli rischiosi i cui rendimenti aleatori sono

Dettagli

Management Sanitario. Modulo di Ricerca Operativa

Management Sanitario. Modulo di Ricerca Operativa Management Sanitario per il corso di Laurea Magistrale SCIENZE RIABILITATIVE DELLE PROFESSIONI SANITARIE Modulo di Ricerca Operativa Prof. Laura Palagi http://www.dis.uniroma1.it/ palagi Dipartimento di

Dettagli

Algoritmi Genetici. e programmazione genetica

Algoritmi Genetici. e programmazione genetica Algoritmi Genetici e programmazione genetica Algoritmi Genetici Algoritmi motivati dall analogia con l evoluzione biologica Lamarck: le specie trasmutano nel tempo Darwin e Wallace: variazioni consistenti

Dettagli

Modelli di Programmazione Lineare. PRTLC - Modelli

Modelli di Programmazione Lineare. PRTLC - Modelli Modelli di Programmazione Lineare PRTLC - Modelli Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo Rilassamento continuo - generazione

Dettagli

Introduzione alla Programmazione Lineare

Introduzione alla Programmazione Lineare Introduzione alla Programmazione Lineare. Proprietà geometriche Si definiscono come problemi di Programmazione Lineare (PL) tutti quei problemi di ottimizzazione in cui la funzione obiettivo è lineare

Dettagli

SPERIMENTAZIONE CON LINDO SU UN PROBLEMA DI SCHEDULING

SPERIMENTAZIONE CON LINDO SU UN PROBLEMA DI SCHEDULING UNIVERSITA DEGLI STUDI DI PADOVA FACOLTA DI SCIENZE STATISTICHE CORSO DI LAUREA IN SCIENZE STATISTICHE ED ECONOMICHE TESI DI LAUREA SPERIMENTAZIONE CON LINDO SU UN PROBLEMA DI SCHEDULING Relatore: Ch.mo

Dettagli

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso 1 Introduzione all informatica: algoritmi, linguaggi e programmi Indice 1. Introduzione 2. Risoluzione automatica di problemi - Algoritmi

Dettagli

Laboratory for innovation MUSP. Macchine utensili e sistemi di produzione. Laboratorio MUSP www.musp.it

Laboratory for innovation MUSP. Macchine utensili e sistemi di produzione. Laboratorio MUSP www.musp.it Laboratory for innovation MUSP Macchine utensili e sistemi di produzione www.musp.it Sommario La schedulazione della produzione Gli obiettivi nella schedulazione Le problematiche legate alla schedulazione

Dettagli

Programmazione dinamica

Programmazione dinamica Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)

Dettagli

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi Problemi di soddisfacimento di vincoli Maria Simi a.a. 2014/2015 Problemi di soddisfacimento di vincoli (CSP) Sono problemi con una struttura particolare, per cui conviene pensare ad algoritmi specializzati

Dettagli

Esercizi di Gestione della Produzione Industriale. Tabella 1: tempi di lavorazione di un set di job.

Esercizi di Gestione della Produzione Industriale. Tabella 1: tempi di lavorazione di un set di job. Esercizio 1: schedulazione con il modello di Johnson...2 Soluzione dell esercizio 1 (schedulazione con il modello di Johnson)...2 Esercizio 2: schedulazione con il modello di Hodgson...3 Soluzione dell

Dettagli

Esame di Ricerca Operativa del 18/12/12. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 18/12/12. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 8// (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x x x x x + x x x + x 8 x Base

Dettagli

SISTEMI LINEARI QUADRATI: METODI ITERATIVI

SISTEMI LINEARI QUADRATI: METODI ITERATIVI SISTEMI LINEARI QUADRATI: METODI ITERATIVI CALCOLO NUMERICO e PROGRAMMAZIONE SISTEMI LINEARI QUADRATI:METODI ITERATIVI p./54 RICHIAMI di ALGEBRA LINEARE DEFINIZIONI A R n n simmetrica se A = A T ; A C

Dettagli

Introduzione alla tecnica di Programmazione Dinamica

Introduzione alla tecnica di Programmazione Dinamica Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/37 Sommario della lezione Introduzione alla tecnica di Programmazione Dinamica Esempio di applicazione n. 1:

Dettagli

Cenno sui metodi Monte Carlo

Cenno sui metodi Monte Carlo Cenno sui metodi Monte Carlo I metodi probabilistici hanno una lunga storia ma solo dopo il 1944 è iniziato un loro studio sistematico che ha portato a notevoli sviluppi. Attualmente è stato valutato che

Dettagli

CAPITOLO 6 La programmazione operativa (operations scheduling)

CAPITOLO 6 La programmazione operativa (operations scheduling) CAPITOLO 6 La programmazione operativa (operations scheduling) Contenuti Le funzioni della PO Gli obiettivi della PO Il job loading Il metodo dell assegnazione Il job sequencing Regole e tecniche di priorità

Dettagli

Ricerca Operativa Prima Parte

Ricerca Operativa Prima Parte 1 Prima Parte 2 Testi didattici M. Caramia, S. Giordani, F. Guerriero, R. Musmanno, D. Pacciarelli, Ricerca Operativa, ISEDI, 2014. S. Martello, M.G. Speranza, Ricerca Operativa per l Economia e l Impresa,

Dettagli

Ant Colony Optimization (ACO) e Swarm Intelligence

Ant Colony Optimization (ACO) e Swarm Intelligence Università degli Studi di Milano Facoltà di scienze Matematiche, Fisiche e Naturali Ant Colony Optimization (ACO) e Swarm Intelligence Seminario per il corso di Sistemi Intelligenti Prof. N. Alberto BORGHESE

Dettagli

Ottimizzazione Combinatoria

Ottimizzazione Combinatoria Ottimizzazione Combinatoria Esercitazione AMPL A.A. 2009-2010 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma1.it Università di Roma La Sapienza Dipartimento di Informatica e

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete Funzioni in due variabili Raccolta di FAQ by Andrea Prevete 1) Cosa intendiamo, esattamente, quando parliamo di funzione reale di due variabili reali? Quando esiste una relazione fra tre variabili reali

Dettagli

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani Ricerca Operativa Esercizi sul metodo del simplesso Luigi De Giovanni, Laura Brentegani 1 1) Risolvere il seguente problema di programmazione lineare. ma + + 3 s.t. 2 + + 2 + 2 + 3 5 2 + 2 + 6,, 0 Soluzione.

Dettagli

Lezioni di Ricerca Operativa. Corso di Laurea in Informatica Università di Salerno. Lezione n 4

Lezioni di Ricerca Operativa. Corso di Laurea in Informatica Università di Salerno. Lezione n 4 Lezioni di Ricerca Operativa Lezione n 4 - Problemi di Programmazione Matematica - Problemi Lineari e Problemi Lineari Interi - Forma Canonica. Forma Standard Corso di Laurea in Informatica Università

Dettagli

Tesi di Laurea Specialistica. Un approccio metaeuristico per il Multi Depot Vehicle Routing Problem with Time Windows

Tesi di Laurea Specialistica. Un approccio metaeuristico per il Multi Depot Vehicle Routing Problem with Time Windows UNIVERSITÀ DEGLI STUDI DI GENOVA Facoltà di Ingegneria Corso di laurea in Ingegneria Informatica Tesi di Laurea Specialistica Un approccio metaeuristico per il Multi Depot Vehicle Routing Problem with

Dettagli

LE FIBRE DI UNA APPLICAZIONE LINEARE

LE FIBRE DI UNA APPLICAZIONE LINEARE LE FIBRE DI UNA APPLICAZIONE LINEARE Sia f:a B una funzione tra due insiemi. Se y appartiene all immagine di f si chiama fibra di f sopra y l insieme f -1 y) ossia l insieme di tutte le controimmagini

Dettagli

PROGRAMMAZIONE LINEARE IN DUE VARIABILI

PROGRAMMAZIONE LINEARE IN DUE VARIABILI 1 PROGRAMMAZIONE LINEARE IN DUE VARIABILI La ricerca operativa nata durante la seconda guerra mondiale ed utilizzata in ambito militare, oggi viene applicata all industria, nel settore pubblico e nell

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it 18 marzo 2011 Problema basato su 10.5 del libro di testo La CINA (Compagnia Italiana per il Noleggio di Automobili) dispone di

Dettagli