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

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

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

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

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

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

Algoritmi Euristici introduzione. Vittorio Maniezzo Università di Bologna

Algoritmi Euristici introduzione. Vittorio Maniezzo Università di Bologna 9 Algoritmi Euristici introduzione Vittorio Maniezzo Università di Bologna 1 Molti problemi reali richiedono soluzioni algoritmiche I camion devono essere instradati VRP, NP-hard I depositi o i punti di

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

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

Ricerca informata. Scelta dell euristica

Ricerca informata. Scelta dell euristica Ricerca informata Scelta dell euristica SMA* (Simplified Memory-Bounded A*) SMA* espande sempre la foglia migliore finché la memoria è piena A questo punto deve cancellare un nodo in memoria SMA* cancella

Dettagli

Ottimizzazione Multi Obiettivo

Ottimizzazione Multi Obiettivo Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali

Dettagli

Il Metodo Branch and Bound

Il Metodo Branch and Bound Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale

Dettagli

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore ITTS Vito Volterra Progetto ABACUS Ottimizzazione combinatoria Il problema del commesso viaggiatore Studente: Davide Talon Esame di stato 2013 Anno scolastico 2012-2013 Indice 1. Introduzione........................................

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

Ricerca Operativa 2. Introduzione al metodo del Simplesso

Ricerca Operativa 2. Introduzione al metodo del Simplesso Ricerca Operativa 2. Introduzione al metodo del Simplesso Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema di ottimizzazione vincolata è definito dalla massimizzazione

Dettagli

Algoritmi euristici per il caricamento e l instradamento di una flotta di bisarche

Algoritmi euristici per il caricamento e l instradamento di una flotta di bisarche Università degli Studi di Modena e Reggio Emilia Ingegneria di Reggio Emilia Estratto della Tesi di Laurea di Simone Falavigna Algoritmi euristici per il caricamento e l instradamento di una flotta di

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

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI PROBLEMA: un azienda deve scegliere fra due possibili investimenti al fine di massimizzare il profitto netto nel rispetto delle condizioni interne e di mercato

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

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

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

Iteration 2. Iteration 7. Iteration 1. Iteration 6

Iteration 2. Iteration 7. Iteration 1. Iteration 6 Iteration 2 Iteration Iteration 7 area Low quality area Iteration 4 Iteration 3 Iteration 5 Iteration 6 del Random restart Start Start ling Tabu search ALGORITMI METAEURISTICI Classificazione Euristici

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

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

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

Formulazioni PLI di problemi di decisione. 1 Introduzione: La formulazione dei problemi di ottimizzazione combinatoria

Formulazioni PLI di problemi di decisione. 1 Introduzione: La formulazione dei problemi di ottimizzazione combinatoria Formulazioni PLI di problemi di decisione Dispensa per il modulo di Analisi e Ottimizzazione dei Processi di Produzione Università di Roma Tor Vergata a cura di Andrea Pacifici, Claudio Cavalletti, Daniela

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

Ricerca Operativa Prima Parte

Ricerca Operativa Prima Parte 1 2 fasi Prima Parte 2 Testi didattici S. Martello, M.G. Speranza, Ricerca Operativa per l Economia e l Impresa, Ed. Esculapio, 2012. F.S. Hillier, G.J. Lieberman, Ricerca operativa - Fondamenti, 9/ed,

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: 7-8 9 7 9-8 79

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

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

Contenuto e scopo presentazione. Problemi di Zaino e di Caricamento. Gestione delle operazioni ai terminali. Motivazioni

Contenuto e scopo presentazione. Problemi di Zaino e di Caricamento. Gestione delle operazioni ai terminali. Motivazioni Contenuto e scopo presentazione Problemi di Zaino e di Caricamento Contenuto vengono introdotti dei modelli e degli algoritmi di soluzione per problemi di zaino e di caricamento 09/01/2006 8.00 Scopo fornire

Dettagli

Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo

Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo Evoluzione In ogni popolazione si verificano delle mutazioni. Intelligenza Artificiale In un ambiente che varia, le mutazioni possono generare individui che meglio si adattano alle nuove condizioni. Questi

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

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

Breve introduzione al Calcolo Evoluzionistico

Breve introduzione al Calcolo Evoluzionistico Breve introduzione al Calcolo Evoluzionistico Stefano Cagnoni Dipartimento di Ingegneria dell Informazione, Università di Parma cagnoni@ce.unipr.it 1 Introduzione Il mondo fisico ed i fenomeni naturali

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

1. Classificazione delle risorse

1. Classificazione delle risorse 1. Classificazione delle risorse Classificazione delle risorse in base alla disponibilità. - Risorse rinnovabili Sono risorse utilizzate per l esecuzione di una attività per tutta la sua durata, ma sono

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

- Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo)

- Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo) Se si ha un problema lineare e' possibile risolverlo in piu' modi (equivalenti ) - Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo) - Trovare soluzione ottima duale (con il simplesso

Dettagli

Algoritmi enumerativi

Algoritmi enumerativi Capitolo 7 Algoritmi enumerativi Come abbiamo visto, né gli algoritmi greedy né quelli basati sulla ricerca locale sono in grado, in molti casi, di garantire l ottimalità della soluzione trovata. Nel caso

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

Ottimizzazione non Vincolata

Ottimizzazione non Vincolata Dipartimento di Informatica e Sitemistica Università di Roma Corso Dottorato Ingegneria dei Sistemi 15/02/2010, Roma Outline Ottimizzazione Non Vincolata Introduzione Ottimizzazione Non Vincolata Algoritmi

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

Università del Salento

Università del Salento Università del Salento Dipartimento di Matematica DAI SISTEMI DI DISEQUAZIONI LINEARI.. ALLA PROGRAMMAZIONE LINEARE Chefi Triki La Ricerca Operativa Fornisce strumenti matematici di supporto alle attività

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito

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

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

5. Problemi di Ottimizzazione e Programmazione Matematica

5. Problemi di Ottimizzazione e Programmazione Matematica Dispense del corso di Ottimizzazione Combinatoria (IN440) 5. Problemi di Ottimizzazione e Programmazione Matematica Marco Liverani Università degli Studi Roma Tre Dipartimento di Matematica e Fisica Corso

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

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

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

Modelli di programmazione matematica Produzione Bin packing (Zaino) Trasporto Magazzino Assegnazione Commesso viaggiatore Scheduling Supply Chain

Modelli di programmazione matematica Produzione Bin packing (Zaino) Trasporto Magazzino Assegnazione Commesso viaggiatore Scheduling Supply Chain 1 PROGRAMMAZIONE LINEARE 1 1 Programmazione lineare 1.1 Modelli matematici Modelli di programmazione matematica Produzione Bin packing (Zaino) Trasporto Magazzino Assegnazione Commesso viaggiatore Scheduling

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

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

Introduzione ai problemi NP-completi

Introduzione ai problemi NP-completi Corso di Algoritmi e Strutture Dati Introduzione ai problemi NP-completi Nuova versione del capitolo 13 delle dispense (basata sui modelli non deterministici) Anno accademico 2007/2008 Corso di laurea

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

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

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Giuditta Franco Corso di Laurea in Bioinformatica - AA 2012/2013 Uno dei più grossi risultati nell informatica degli

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

Complessità computazionale

Complessità computazionale 1 Introduzione alla complessità computazionale Un problema spesso può essere risolto utilizzando algoritmi diversi Come scegliere il migliore? La bontà o efficienza di un algoritmo si misura in base alla

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 nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni CARLO MANNINO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica

Dettagli

Intelligenza Artificiale Ing. Tiziano Papini

Intelligenza Artificiale Ing. Tiziano Papini Intelligenza Artificiale Ing. Tiziano Papini Email: papinit@dii.unisi.it Web: http://www.dii.unisi.it/~papinit Constraint Satisfaction metodi riparativi Intelligenza Artificiale - CSP Tiziano Papini -

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

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

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

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

Lezioni di Ricerca Operativa

Lezioni di Ricerca Operativa Lezioni di Ricerca Operativa Massimo Paolucci Dipartimento di Informatica, Sistemistica e elematica (DIS) Università di Genova paolucci@dist.unige.it http://www.dattero.dist.unige.it Estratto per la parte

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

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

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

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,...

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... Entropia Motivazione Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... ) s,s 2,s 3,... ognuno dei quali appartiene ad un alfabeto A di M elementi.? Quant è l informazione portata

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

Problema del trasporto

Problema del trasporto p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. Nel deposito i è immagazzinata la quantità a i di prodotto. Nel

Dettagli

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006)

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006) Claudio Arbib Universitàdi L Aquila Ricerca Operativa Problemi combinatorici (Gennaio 2006) Sommario Problemi combinatorici Ottimizzazione combinatoria L algoritmo universale Il metodo greedy Problemi

Dettagli

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati Strumenti della Teoria dei Giochi per l Informatica AA 2009/10 Lecture 22: 1 Giugno 2010 Meccanismi Randomizzati Docente Vincenzo Auletta Note redatte da: Davide Armidoro Abstract In questa lezione descriveremo

Dettagli

4.1 Modelli di calcolo analisi asintotica e ricorrenze

4.1 Modelli di calcolo analisi asintotica e ricorrenze 4 Esercizi Prima Parte 4.1 Modelli di calcolo analisi asintotica e ricorrenze Esercizio 4 1 Rispondere alle seguenti domande: 1. Come misuriamo l efficienza di un algoritmo?. Quali sono gli algoritmi più

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

Problemi complessi : come trovare una soluzione soddisfacente?

Problemi complessi : come trovare una soluzione soddisfacente? Informatica nel futuro, sfide e prospettive - evento scientifico per i 40 anni di ated Manno, 7 ottobre 2011 Problemi complessi : come trovare una soluzione soddisfacente? Marino Widmer Università di Friburgo

Dettagli

Fondamenti di Economia Aziendale ed Impiantistica Industriale

Fondamenti di Economia Aziendale ed Impiantistica Industriale Politecnico di Milano IV Facoltà di Ingegneria Fondamenti di Economia Aziendale ed Impiantistica Industriale Impiego della programmazione lineare nella progettazione degli impianti Cosa significa progettare

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

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

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

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

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

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

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

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

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

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

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

Tecniche di riconoscimento statistico

Tecniche di riconoscimento statistico Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 8 Support Vector Machines Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com http://www.onairweb.com/corsopr

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

Dimensionamento dei lotti di produzione: il caso con variabilità nota

Dimensionamento dei lotti di produzione: il caso con variabilità nota Dimensionamento dei lotti di produzione: il caso con variabilità nota A. Agnetis In questi appunti studieremo alcuni modelli per il problema del lot sizing, vale a dire il problema di programmare la dimensione

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

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