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 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

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

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

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

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

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

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

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

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

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

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

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

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

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

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

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

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE Il problema Un computer è usato per risolvere dei problemi Prenotazione di un viaggio Compilazione e stampa di un certificato in un ufficio comunale Preparazione

Dettagli

ALGEBRA I: CARDINALITÀ DI INSIEMI

ALGEBRA I: CARDINALITÀ DI INSIEMI ALGEBRA I: CARDINALITÀ DI INSIEMI 1. CONFRONTO DI CARDINALITÀ E chiaro a tutti che esistono insiemi finiti cioè con un numero finito di elementi) ed insiemi infiniti. E anche chiaro che ogni insieme infinito

Dettagli

Indice generale. Modulo 1 Algebra 2

Indice generale. Modulo 1 Algebra 2 Indice generale Modulo 1 Algebra 2 Capitolo 1 Scomposizione in fattori. Equazioni di grado superiore al primo 1.1 La scomposizione in fattori 2 1.2 Raccoglimento a fattor comune 3 1.3 Raccoglimenti successivi

Dettagli

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti Project Management Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Project Management 2 Metodi per supportare le decisioni relative alla gestione di progetti esempi sono progetti nell

Dettagli

VC-dimension: Esempio

VC-dimension: Esempio VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

Dettagli

Funzioni di più variabili. Ottimizzazione libera e vincolata

Funzioni di più variabili. Ottimizzazione libera e vincolata libera e vincolata Generalità. Limiti e continuità per funzioni di 2 o Piano tangente. Derivate successive Formula di Taylor libera vincolata Lo ordinario è in corrispondenza biunivoca con i vettori di

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

DESMATRON TEORIA DEI GRAFI

DESMATRON TEORIA DEI GRAFI DESMATRON TEORIA DEI GRAFI 0 Teoria dei Grafi Author: Desmatron Release 1.0.0 Date of Release: October 28, 2004 Author website: http://desmatron.altervista.org Book website: http://desmatron.altervista.org/teoria_dei_grafi/index.php

Dettagli

Ricerca non informata in uno spazio di stati

Ricerca non informata in uno spazio di stati Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_2 V2.4 Ricerca non informata in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli

Dettagli

Approssimazione polinomiale di funzioni e dati

Approssimazione polinomiale di funzioni e dati Approssimazione polinomiale di funzioni e dati Approssimare una funzione f significa trovare una funzione f di forma più semplice che possa essere usata al posto di f. Questa strategia è utilizzata nell

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Programmazione Non Lineare Ottimizzazione vincolata

Programmazione Non Lineare Ottimizzazione vincolata DINFO-Università di Palermo Programmazione Non Lineare Ottimizzazione vincolata D. Bauso, R. Pesenti Dipartimento di Ingegneria Informatica Università di Palermo DINFO-Università di Palermo 1 Sommario

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Prolog: aritmetica e ricorsione

Prolog: aritmetica e ricorsione Capitolo 13 Prolog: aritmetica e ricorsione Slide: Aritmetica e ricorsione 13.1 Operatori aritmetici In logica non vi è alcun meccanismo per la valutazione di funzioni, che è fondamentale in un linguaggio

Dettagli

EQUAZIONI non LINEARI

EQUAZIONI non LINEARI EQUAZIONI non LINEARI Francesca Pelosi Dipartimento di Matematica, Università di Roma Tor Vergata CALCOLO NUMERICO e PROGRAMMAZIONE http://www.mat.uniroma2.it/ pelosi/ EQUAZIONI non LINEARI p.1/44 EQUAZIONI

Dettagli

Capitolo 9: PROPAGAZIONE DEGLI ERRORI

Capitolo 9: PROPAGAZIONE DEGLI ERRORI Capitolo 9: PROPAGAZIOE DEGLI ERRORI 9.1 Propagazione degli errori massimi ella maggior parte dei casi le grandezze fisiche vengono misurate per via indiretta. Il valore della grandezza viene cioè dedotto

Dettagli

4. Operazioni elementari per righe e colonne

4. Operazioni elementari per righe e colonne 4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:

Dettagli

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE 1. EQUAZIONI Definizione: un equazione è un uguaglianza tra due espressioni letterali (cioè in cui compaiono numeri, lettere

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Dispense del Corso di Algoritmi e Strutture Dati

Dispense del Corso di Algoritmi e Strutture Dati Dispense del Corso di Algoritmi e Strutture Dati Marco Bernardo Edoardo Bontà Università degli Studi di Urbino Carlo Bo Facoltà di Scienze e Tecnologie Corso di Laurea in Informatica Applicata Versione

Dettagli

Alberto Montresor Università di Trento

Alberto Montresor Università di Trento !! Algoritmi e Strutture Dati! Capitolo 1 - Greedy!!! Alberto Montresor Università di Trento!! This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

IL PROBLEMA DELLO SHORTEST SPANNING TREE

IL PROBLEMA DELLO SHORTEST SPANNING TREE IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

(accuratezza) ovvero (esattezza)

(accuratezza) ovvero (esattezza) Capitolo n 2 2.1 - Misure ed errori In un analisi chimica si misurano dei valori chimico-fisici di svariate grandezze; tuttavia ogni misura comporta sempre una incertezza, dovuta alla presenza non eliminabile

Dettagli

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni

Dettagli

Compito di SISTEMI E MODELLI. 19 Febbraio 2015

Compito di SISTEMI E MODELLI. 19 Febbraio 2015 Compito di SISTEMI E MODELLI 9 Febbraio 5 Non é ammessa la consultazione di libri o quaderni. Le risposte vanno giustificate. Saranno rilevanti per la valutazione anche l ordine e la chiarezza di esposizione.

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Esercizi su lineare indipendenza e generatori

Esercizi su lineare indipendenza e generatori Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v

Dettagli

ESAME DI STATO DI LICEO SCIENTIFICO CORSO DI ORDINAMENTO 2004

ESAME DI STATO DI LICEO SCIENTIFICO CORSO DI ORDINAMENTO 2004 ESAME DI STATO DI LICEO SCIENTIFICO CORSO DI ORDINAMENTO 004 Il candidato risolva uno dei due problemi e 5 dei 10 quesiti in cui si articola il questionario. PROBLEMA 1 Sia f la funzione definita da: f

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

STRUTTURE (O COSTRUTTI) DI CONTROLLO

STRUTTURE (O COSTRUTTI) DI CONTROLLO Le strutture di controllo Le strutture di controllo STRUTTURE (O COSTRUTTI) DI CONTROLLO determinano l ordine con cui devono essere eseguite le istruzioni sono indipendenti dalla natura delle istruzioni

Dettagli

Appunti dalle lezioni di

Appunti dalle lezioni di Università di Roma La Sapienza Sede di Latina (Università Pontina) Corso di Laurea in Ingegneria Informatica Appunti dalle lezioni di Ricerca Operativa Anno Accademico 2003-2004 Indice Introduzione 5 Che

Dettagli

Se x* e punto di minimo (locale) per la funzione nell insieme Ω, Ω = { x / g i (x) 0 i I, h j (x)= 0 j J } lo e anche per F(x) = f o (x) + c x x 2

Se x* e punto di minimo (locale) per la funzione nell insieme Ω, Ω = { x / g i (x) 0 i I, h j (x)= 0 j J } lo e anche per F(x) = f o (x) + c x x 2 NLP -OPT 1 CONDIZION DI OTTIMO [ Come ricavare le condizioni di ottimo. ] Si suppone x* sia punto di ottimo (minimo) per il problema min f o (x) con vincoli g i (x) 0 i I h j (x) = 0 j J la condizione

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

QUADERNI DI DIDATTICA

QUADERNI DI DIDATTICA Department of Applied Mathematics, University of Venice QUADERNI DI DIDATTICA Tatiana Bassetto, Marco Corazza, Riccardo Gusso, Martina Nardon Esercizi sulle funzioni di più variabili reali con applicazioni

Dettagli

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente 1.1 Il motore a corrente continua Il motore a corrente continua, chiamato così perché per funzionare deve essere alimentato con tensione e corrente costante, è costituito, come gli altri motori da due

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

Funzione reale di variabile reale

Funzione reale di variabile reale Funzione reale di variabile reale Siano A e B due sottoinsiemi non vuoti di. Si chiama funzione reale di variabile reale, di A in B, una qualsiasi legge che faccia corrispondere, a ogni elemento A x A

Dettagli

Funzioni in più variabili

Funzioni in più variabili Funzioni in più variabili Corso di Analisi 1 di Andrea Centomo 27 gennaio 2011 Indichiamo con R n, n 1, l insieme delle n-uple ordinate di numeri reali R n4{(x 1, x 2,,x n ), x i R, i =1,,n}. Dato X R

Dettagli

x 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0.

x 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0. Problema. Sia W il sottospazio dello spazio vettoriale R 4 dato da tutte le soluzioni dell equazione x + x 2 + x = 0. (a. Sia U R 4 il sottospazio dato da tutte le soluzioni dell equazione Si determini

Dettagli

Breve introduzione al metodo del Analytic Hierarchy Process (AHP)

Breve introduzione al metodo del Analytic Hierarchy Process (AHP) Breve introduzione al metodo del Analytic Hierarchy Process (AHP) Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova 2 Il metodo SAW costruisce un peso con cui valutare le alternative

Dettagli

Da una a più variabili: derivate

Da una a più variabili: derivate Da una a più variabili: derivate ( ) 5 gennaio 2011 Scopo di questo articolo è di evidenziare le analogie e le differenze, relativamente al calcolo differenziale, fra le funzioni di una variabile reale

Dettagli

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1 LEZIONE 14 141 Dimensione di uno spazio vettoriale Abbiamo visto come l esistenza di una base in uno spazio vettoriale V su k = R, C, permetta di sostituire a V, che può essere complicato da trattare,

Dettagli

1 LA CORRENTE ELETTRICA CONTINUA

1 LA CORRENTE ELETTRICA CONTINUA 1 LA CORRENTE ELETTRICA CONTINUA Un conduttore ideale all equilibrio elettrostatico ha un campo elettrico nullo al suo interno. Cosa succede se viene generato un campo elettrico diverso da zero al suo

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t.

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t. Il programma MATLAB In queste pagine si introduce in maniera molto breve il programma di simulazione MAT- LAB (una abbreviazione di MATrix LABoratory). Introduzione MATLAB è un programma interattivo di

Dettagli

Studente: SANTORO MC. Matricola : 528

Studente: SANTORO MC. Matricola : 528 CORSO di LAUREA in INFORMATICA Corso di CALCOLO NUMERICO a.a. 2004-05 Studente: SANTORO MC. Matricola : 528 PROGETTO PER L ESAME 1. Sviluppare una versione dell algoritmo di Gauss per sistemi con matrice

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

Esercitazione 7. Procedure e Funzioni

Esercitazione 7. Procedure e Funzioni Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,

Dettagli

Elementi di Statistica

Elementi di Statistica Elementi di Statistica Contenuti Contenuti di Statistica nel corso di Data Base Elementi di statistica descrittiva: media, moda, mediana, indici di dispersione Introduzione alle variabili casuali e alle

Dettagli

MATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni.

MATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni. MATEMATICA. Sistemi lineari in due equazioni due incognite. Date due equazioni lineari nelle due incognite x, y come ad esempio { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

Introduzione allo Scilab Parte 3: funzioni; vettori.

Introduzione allo Scilab Parte 3: funzioni; vettori. Introduzione allo Scilab Parte 3: funzioni; vettori. Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro felix@dm.uniba.it 13 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

Modelli di Sistemi di Produzione

Modelli di Sistemi di Produzione Modelli di Sistemi di Produzione 2 Indice 1 I sistemi di produzione 1 1.1 Generalità............................. 1 1.2 I principi dei sistemi manifatturieri............... 4 1.3 Descrizione dei principali

Dettagli

L impresa che non fa il prezzo

L impresa che non fa il prezzo L offerta nei mercati dei prodotti L impresa che non fa il prezzo L impresa che non fa il prezzo (KR 10 + NS 6) Dipartimento di Economia Politica Università di Milano Bicocca Outline L offerta nei mercati

Dettagli

1. Intorni di un punto. Punti di accumulazione.

1. Intorni di un punto. Punti di accumulazione. 1. Intorni di un punto. Punti di accumulazione. 1.1. Intorni circolari. Assumiamo come distanza di due numeri reali x e y il numero non negativo x y (che, come sappiamo, esprime la distanza tra i punti

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Appunti sulle disequazioni

Appunti sulle disequazioni Premessa Istituto d Istruzione Superiore A. Tilgher Ercolano (Na) Appunti sulle disequazioni Questa breve trattazione non vuole costituire una guida completa ed esauriente sull argomento, ma vuole fornire

Dettagli

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti 4. Insiemi numerici 4.1 Insiemi numerici Insieme dei numeri naturali = {0,1,,3,,} Insieme dei numeri interi relativi = {..., 3,, 1,0, + 1, +, + 3, } Insieme dei numeri razionali n 1 1 1 1 = : n, m \{0}

Dettagli

RELAZIONE TRA DUE VARIABILI QUANTITATIVE

RELAZIONE TRA DUE VARIABILI QUANTITATIVE RELAZIONE TRA DUE VARIABILI QUANTITATIVE Quando si considerano due o più caratteri (variabili) si possono esaminare anche il tipo e l'intensità delle relazioni che sussistono tra loro. Nel caso in cui

Dettagli

MATRICI E DETERMINANTI

MATRICI E DETERMINANTI MATRICI E DETERMINANTI 1. MATRICI Si ha la seguente Definizione 1: Un insieme di numeri, reali o complessi, ordinati secondo righe e colonne è detto matrice di ordine m x n, ove m è il numero delle righe

Dettagli

GEOMETRIA I Corso di Geometria I (seconda parte)

GEOMETRIA I Corso di Geometria I (seconda parte) Corso di Geometria I (seconda parte) anno acc. 2009/2010 Cambiamento del sistema di riferimento in E 3 Consideriamo in E 3 due sistemi di riferimento ortonormali R e R, ed un punto P (x, y, z) in R. Lo

Dettagli

The Directed Closure Process in Hybrid Social-Information Networks

The Directed Closure Process in Hybrid Social-Information Networks The Directed Closure Process in Hybrid Social-Information Networks with an Analysis of Link Formation on Twitter Dario Nardi Seminario Sistemi Complessi 15 Aprile 2014 Dario Nardi (CAS) 15/4/14 1 / 20

Dettagli

LA FUNZIONE ESPONENZIALE E IL LOGARITMO

LA FUNZIONE ESPONENZIALE E IL LOGARITMO LA FUNZIONE ESPONENZIALE E IL LOGARITMO APPUNTI PER IL CORSO DI ANALISI MATEMATICA I G. MAUCERI Indice 1. Introduzione 1 2. La funzione esponenziale 2 3. Il numero e di Nepero 9 4. L irrazionalità di e

Dettagli

Accuratezza di uno strumento

Accuratezza di uno strumento Accuratezza di uno strumento Come abbiamo già accennato la volta scora, il risultato della misurazione di una grandezza fisica, qualsiasi sia lo strumento utilizzato, non è mai un valore numerico X univocamente

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Quando troncare uno sviluppo in serie di Taylor

Quando troncare uno sviluppo in serie di Taylor Quando troncare uno sviluppo in serie di Taylor Marco Robutti October 13, 2014 Lo sviluppo in serie di Taylor di una funzione è uno strumento matematico davvero molto utile, e viene spesso utilizzato in

Dettagli

Introduzione alla Teoria degli Errori

Introduzione alla Teoria degli Errori Introduzione alla Teoria degli Errori 1 Gli errori di misura sono inevitabili Una misura non ha significato se non viene accompagnata da una ragionevole stima dell errore ( Una scienza si dice esatta non

Dettagli

I numeri complessi. Mario Spagnuolo Corso di Laurea in Fisica - Facoltà di Scienze - Università Federico II di Napoli

I numeri complessi. Mario Spagnuolo Corso di Laurea in Fisica - Facoltà di Scienze - Università Federico II di Napoli I numeri complessi Mario Spagnuolo Corso di Laurea in Fisica - Facoltà di Scienze - Università Federico II di Napoli 1 Introduzione Studiare i numeri complessi può sembrare inutile ed avulso dalla realtà;

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

Esponenziali elogaritmi

Esponenziali elogaritmi Esponenziali elogaritmi Potenze ad esponente reale Ricordiamo che per un qualsiasi numero razionale m n prendere n>0) si pone a m n = n a m (in cui si può sempre a patto che a sia un numero reale positivo.

Dettagli

PRINCIPI BASILARI DI ELETTROTECNICA

PRINCIPI BASILARI DI ELETTROTECNICA PRINCIPI BASILARI DI ELETTROTECNICA Prerequisiti - Impiego di Multipli e Sottomultipli nelle equazioni - Equazioni lineari di primo grado e capacità di ricavare le formule inverse - nozioni base di fisica

Dettagli

METODO DEI MINIMI QUADRATI. Quest articolo discende soprattutto dai lavori di Deming, Press et al. (Numerical Recipes) e Jefferys.

METODO DEI MINIMI QUADRATI. Quest articolo discende soprattutto dai lavori di Deming, Press et al. (Numerical Recipes) e Jefferys. METODO DEI MINIMI QUADRATI GIUSEPPE GIUDICE Sommario Il metodo dei minimi quadrati è trattato in tutti i testi di statistica e di elaborazione dei dati sperimentali, ma non sempre col rigore necessario

Dettagli