Ottimizzazione Combinatoria

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ottimizzazione Combinatoria"

Transcript

1 Ottimizzazione Combinatoria Esercitazione AMPL A.A Esercitazione a cura di Silvia Canale contatto canale@dis.uniroma.it Università i di Roma La Sapienza Dipartimento di Informatica e Sistemistica Corso di Laurea in Ingegneria Gestionale

2 Grafo Esercitazione AMPL 2

3 Problema Problema Il grafo Il grafo Sia dato il grafo orientato G(N,A) in figura N = {A, B, C, D, E} A = {AB AC BC BE CD DB DE} A = {AB, AC, BC, BE, CD, DB, DE} B A E C D C D Matrice di incidenza M di G(N,A) matrice 5 x 7 a valori {,, -} M = 3

4 Flusso di costo minimo (MCF) Esercitazione AMPL A.A

5 Problema Flusso su grafo orientato Sia dato il vettore c di capacità definito sull insieme A degli archi del grafo G(N,A) c = { 6,, 4,, 2,, 7,, 8,, 4,, 5 } A = {AB, AC, BC, BE, CD, DB, DE} 6 B A 2 4 E 4 4 C -5 Sia dato il vettore d di domande definito sull insieme N dei nodi del grafo G(N,A) d = {-5, 6, -5,, 4} N = {A, B, C, D, E } 8 D 5 5

6 Problema Flusso su grafo orientato Sia w il vettore di costi definito sull insieme A degli archi del grafo G(N,A) w = { 2, 3,, 5,, 2, 4 } A = {AB, AC, BC, BE, CD, DB, DE} 6 B A 2 E C D -5 Vogliamo risolvere il problema di flusso a costo minimo (MCF) sul grafo orientato G(N,A) rispetto al vettore w di costi (MCF) min wt x M x = d A x c 6

7 Problema di Flusso di Costo Minimo Vogliamo determinare un flusso x di (G, c, d) di costo minimo (x AB, 6) 6 B (x BE, 7) -5 A (x BC, 2) (x DB, 4) E 4 (x AC, 4) (x CD, 8) (x DE, 5) C D -5 costo(x) = w T x = 2 x AB + 3 x AC + x BC + 5 x BE + x CD + 2 x DB + 4 x CD (MCF) min w T x M x = d A x c Modelliamo il problema tramite AMPL 7

8 Modellazione con AMPL (MCF) min wt x M x = d A x c Modelliamo il problema tramite AMPL creando due file: - file.mod contenente: - la dichiarazione dei parametri: insiemi N, A; vettori w, d, c e M; - la dichiarazione delle variabili: vettore x; - la struttura e la definizione della funzione obiettivo: w T x; - la struttura e la descrizione dei vincoli: M x = d, A x c. - file.dat contenente i valori numerici dei parametri - N = {A, B, C, D, E} - A = {AB, AC, BC, BE, CD, DB, DE} - w = { 2, 3,, 5,, 2, 4 } M = - d = {-5, 6, -5,, 4} - c = { 6, 4, 2, 7, 8, 4, 5 } 8

9 File modello File modello MCF.mod - dichiarazione dei parametri: dichiariamo gli insiemi dei nodi N e degli archi A che identifichiamo con insieme NODI e insieme ARCHI: set NODI; (N) set ARCHI; (A) dichiariamo i vettori a una (w, d, c) e a due dimensioni (M): param costo {ARCHI}; (w) param domanda {NODI}; (d) param capacita {ARCHI}; (c) param M {NODI, ARCHI}; (M) 9

10 File modello File modello MCF.mod - dichiarazione delle variabili x positive e soggette a vincoli di capacità: var x {j in ARCHI} >=, <= capacita[j]; (x) A x c - la struttura e la definizione della funzione obiettivo w T x minimize Costo_Totale: sum {j in ARCHI} costo[j] * x[j]; etichetta etichetta - la struttura e la descrizione dei vincoli M x = d parametrizzata subject to Incidenza {i in NODI}: sum {j in ARCHI} M[i,j] * x[j] = domanda[i];

11 File dati MFC.dat File dati - definizione dei parametri: definiamo gli insiemi NODI e ARCHI: set NODI := A B C D E ; set ARCHI := AB AC BC BE CD DB DE ; definiamo i vettori a una dimensione (w, d, c): param domanda := A -5 B 6 C -5 D E 4 ; param: capacita costo := AB 6 2 AC 4 3 BC 2 il simbolo : BE 7 5 indica che stiamo CD 8 definendo più di un vettore DB 4 2 DE 5 4 ;

12 File dati File dati MFC.dat - definizione dei parametri: definiamo i vettori a due dimensioni (M): param M : AB AC BC BE CD DB DE := A - - B - - C - D - - E ; 2

13 Interprete AMPL ampl: reset; // cancelliamo i modelli e/o i dati precedentemente caricati // (obbligatorio se abbiamo già caricato un problema) ampl: model MCF.mod; // carichiamo prima il modello del problema ampl: data MCF.dat; // carichiamo successivamente i dati del problema 3

14 Soluzione del problema (MCF) ampl: option solver cplex; // scegliamo il solutore di Programmazione Matematica con cui // risolvere il problema: CPLEX (attualmente vers..2.) ampl: solve; // risolviamo il problema caricato valore ottimo // output ottenuto: CPLEX.2.: optimal solution; objective 33 dual simplex iterations ( in phase I) informazioni sul metodo di soluzione soluzione disponibile 4

15 Soluzione del problema (MCF) ampl: display x; // chiediamo i valori della soluzione ottenuta (componenti di x) // output ottenuto: x [*] := AB 5 AC BC soluzione a BE componenti CD 5 intere DB M DE 4 M ; I Totalmente unimodulare 5

16 Soluzione del problema (MCF) Abbiamo determinato il flusso x* ottimo di (G, c, d) 6 B (5, 6) (, 7) -5 A (, 2) (, 4) E 4 (, 4) (5, 8) (4, 5) C D -5 x* soddisfa sia i vincoli di capacità che i vincoli di domanda: M x* = d A x* c. costo(x*) = 2 x 5 + x x + 4 x 4 = 33 valore ottimo 6

17 Cammino di costo minimo (CM) Esercitazione AMPL A.A

18 Problema Cammino di costo minimo Siano s = A e t = E due nodi speciali del grafo G(N,A). Sia w il vettore di costi definito sull insieme A degli archi del grafo G(N,A) w = { 2, 3,, 5,, 2, 4 } A = {AB, AC, BC, BE, CD, DB, DE} B 2 5 A 2 E 3 C D 4 Vogliamo risolvere il problema di cammino di costo minimo (CM) da s a t sul grafo orientato G(N,A) rispetto al vettore w di costi. 8

19 Problema Cammino di costo minimo Consideriamo il vettore c di capacità infinite definito sull insieme A degli archi del grafo G(N,A) c = {,,,,,, } A = {AB, AC, BC, BE, CD, DB, DE} B A - E C Sia dato il vettore d di domande definito sull insieme N dei nodi del grafo G(N,A) d = {-,,,, } N = {A, B, C, D, E} D 9

20 Problema Cammino di costo minimo Il problema di cammino di costo minimo (CM) da s a t sul grafo orientato G(N,A) rispetto al vettore w di costi è un caso particolare di problema (MCF) T (CM) min w T x M x = d A x c Modelliamo il problema tramite AMPL Vogliamo determinare un cammino x di (G, c, d) di costo minimo B (x AB, ) (x BE, ) - A (x BC, ) (x DB, ) E (x AC, ) (x CD, ) (x DE, ) C D 2 costo(x) = w T x = 2 x + 3 x + x + 5 x + x + 2 x + 4 x

21 Modellazione con AMPL (CM) min w T x M x = d A x c Modelliamo il problema tramite AMPL creando due file: - file.mod contenente: - la dichiarazione dei parametri: insiemi N, A; vettori w, d, c e M; - la dichiarazione delle variabili: vettore x; - la struttura e la definizione della funzione obiettivo: w T x; - la struttura e la descrizione dei vincoli: M x = d, A x c. - file.dat contenente i valori numerici dei parametri - N = { A, B, C, D, E} - A = {AB, AC, BC, BE, CD, DB, DE} - w = { 2, 3,, 5,, 2, 4 } M = - d = {-,,,, } - c = {,,,,,, } 2

22 File modello CM.mod = MCF.mod File dati CM.dat File modello e dati - definizione dei parametri come per il file MCF.dat tranne i vettori a una dimensione (d, c): definiamo i vettori a una dimensione (w, d, c): param domanda := A - B C D E ; param: capacita costo := AB Infinity 2 AC Infinity 3 BC Infinity BE Infinity 5 CD Infinity DB Infinity i 2 DE Infinity 4 ; 22

23 Interprete AMPL ampl: reset; // cancelliamo i modelli e/o i dati precedentemente caricati // (obbligatorio se abbiamo già caricato un problema) ampl: model MCF.mod; // carichiamo prima il modello del problema Stesso file.mod di (MCF) ampl: data CM.dat; // carichiamo successivamente i dati del problema 23

24 Soluzione del problema ampl: option solver cplex; // scegliamo il solutore di Programmazione Matematica con cui // risolvere il problema: CPLEX (attualmente vers..2.) ampl: solve; // risolviamo il problema caricato valore ottimo // output ottenuto: CPLEX.2.: optimal solution; objective 7 dual simplex iterations ( in phase I) informazioni sul metodo di soluzione soluzione disponibile 24

25 Soluzione del problema ampl: display x; // chiediamo i valori della soluzione ottenuta (componenti di x) // output ottenuto: x [*] := AB AC BC soluzione a BE componenti CD intere DB M DE M ; I Totalmente unimodulare 25

26 Soluzione del problema (CM) Abbiamo determinato il cammino x* ottimo di (G, c, d) (, ) B (, ) - A (, ) ) (, ) ) E (, ) (, ) (, ) C D x* soddisfa sia i vincoli di capacità che i vincoli di domanda: M x* = d A x* c. valore costo(x*) = 2 x + 5 x = 7 ottimo 26

27 Flusso massimo (MF) Esercitazione AMPL A.A

28 Problema Massimo flusso Siano s = A e t = E due nodi speciali del grafo G(N,A). Sia dato il vettore c di capacità definito sull insieme A degli archi del grafo G(N,A) c = { 6, 4, 2, 7, 8, 4, 5 } A = {AB, AC, BC, BE, CD, DB, DE} B 6 7 A 2 4 E 4 C 8 D 5 Vogliamo risolvere il problema di massimo flusso (MF) da s a t sul grafo orientato G(N,A) rispetto al vettore c di capacità. 28

29 à Problema Problema Massimo flusso Massimo flusso Aggiungiamo l arco ts (e quindi una colonna alla matrice M) di capacità infinita. c = { 6, 4, 2, 7, 8, 4, 5, } A ={AB, AC, BC, BE, CD, DB, DE, EA} M= B A E C D

30 Problema Massimo flusso Sia w il vettore di costi definito sull insieme A degli archi del grafo G(N,A) w = {,,,,,,, } A = {AB, AC, BC, BE, CD, DB, DE, EA} 6 B 7 2 A 4 E 4 8 C D Sia dato il vettore d di domande definito sull insieme N dei nodi del grafo G(N,A) d ={ {,,,, } N = {A, B, C, D, E} 5 3

31 Problema Massimo flusso Il problema di massimo flusso (MF) da s a t sul grafo orientato G(N,A) rispetto al vettore c di capacità è un caso particolare di problema (MCF) (MF) max w T x M x = d A x c Modelliamo il problema tramite AMPL Vogliamo determinare un flusso x di (G, c, d) di valore massimo B (x AB,6) (x BE, 7) A (x BC, 2) (x DB, 4) E (x AC, 4) ) (x DE, 5) (x CD, 8) C D (x EA, ) 3

32 Modellazione con AMPL (MF) max w T x M x = d A x c Modelliamo il problema tramite AMPL creando due file: - file.mod contenente: - la dichiarazione dei parametri: insiemi N, A; vettori w, d, c e M; - la dichiarazione delle variabili: vettore x; - la struttura e la definizione della funzione obiettivo: w T x; - la struttura e la descrizione dei vincoli: M x = d, A x c. - file.dat contenente i valori numerici dei parametri - N = { A, B, C, D, E} - A = {AB, AC, BC, BE, CD, DB, DE,EA} EA} - w = {,,,,,,, } M= - d = {,,,, } - c = {6, 4, 2, 7, 8, 4, 5, } 32

33 File modello I possibilità File modello MF.mod Trasformiamo il problema di minimizzazione in uno di massimizzazione maximize Costo_Totale: sum {j in ARCHI} costo[j] * x[j]; Scriviamo esplicitamente i vincoli di capacità subject to Capacita {j in ARCHI}: x[j] <= capacita[j]; eliminandoli dalla dichiarazione delle variabili x var x {j in ARCHI} >= ; 33

34 File dati MF.dat File dati I possibilità - definizione dei parametri come per il file MCF.dat tranne: l insieme linsieme degli archi A e i vettori a una dimensione (w, d, c): set ARCHI := AB AC BC BE CD DB DE EA; param domanda := A B C D E ; param: capacita costo := AB 6 AC 4 BC 2 BE 7 CD 8 DB 4 DE 5 EA Infinity ; 34

35 File dati MF.dat File dati I possibilità - definizione dei parametri: definiamo i vettori a due dimensioni (M): param M : AB AC BC BE CD DB DE EA := A - - B - - C - D - - E -; 35

36 Interprete AMPL I possibilità ampl: reset; // cancelliamo i modelli e/o i dati precedentemente caricati // (obbligatorio se abbiamo già caricato un problema) ampl: model MF.mod; // carichiamo prima il modello del problema ampl: data MF.dat; // carichiamo successivamente i dati del problema 36

37 Soluzione del problema I possibilità ampl: option solver cplex; // scegliamo il solutore di Programmazione Matematica con cui // risolvere il problema: CPLEX (attualmente vers..2.) ampl: solve; // risolviamo il problema caricato valore ottimo // output ottenuto: CPLEX.2.: optimal solution; objective dual simplex iterations ( in phase I) informazioni sul metodo di soluzione soluzione disponibile 37

38 Soluzione del problema I possibilità ampl: display x; // chiediamo i valori della soluzione ottenuta (componenti di x) // output ottenuto: x [*] := AB 6 AC 4 BC BE 7 CD 4 DB DE 3 EA ; soluzione a componenti intere M M I Totalmente unimodulare 38

39 Soluzione del problema (MF) Abbiamo determinato il flusso x* ottimo di (G, c, d) B (6,6) (7, 7) A (, 2) (, 4) E (4, 4) (3, 5) (4, 8) C D (, ) ) x* soddisfa sia i vincoli di capacità che i vincoli di domanda: M x* = d A x* c. valore costo(x*) = x = ottimo 39

40 (MF) z R N ) y R A ) Duale del Massimo Flusso max x ts Mx bx = I A x x A c ; ts x ts N B A 4 E C D DUALE del Massimo Flusso (DMF) x R A x ts ) A ) M z min t T z c y T T + (DMF) min c y I A y A z z + y uv A z s z u t z v s uv A y A y 4

41 Soluzione duale I possibilità ampl: display Incidenza; // chiediamo i valori della soluzione duale ottenuta (componenti di z di (DMF)) // output ottenuto: Incidenza [*] := A B C D E ; 4

42 Soluzione duale I possibilità ampl: display Capacita; // chiediamo i valori della soluzione duale ottenuta (componenti di y di (DMF)) // output ottenuto: Capacita [*] := AB AC BC BE CD DB DE EA ; TEOREMA F5: Il duale del massimo flusso N A soluzione ottima {, } ammette una soluzione ottima z + y 42

43 Soluzione duale del problema (MF) Abbiamo determinato - il flusso x* ottimo di (G, c, d) - il taglio s-t δ + (X) di (G,c) di capacità minima B (6,6) (7, 7) ) A (, 2) (, 4) E (4, 4) (3, 5) (4, 8) C D (, ) TAGLIO s-t di (G,c) - Taglio che separa s da t - z vettore di incidenza di X X ={A} - y vettore di incidenza di δ + (X) valore massimo flusso capacità c T y = = δ + (X) = {AB,AC} 43

44 File modello e dati II possibilità File modello MF.mod = MCF.mod File dati MF.min.dat - definizione dei parametri come per il file MCF.dat tranne: l insieme degli archi A e i vettori a una dimensione (w, d, c): set ARCHI := AB AC BC BE CD DB DE EA; param domanda := A B C D E ; param: capacita costo := AB 6 AC 4 BC 2 BE 7 CD 8 DB 4 DE 5 EA Infinity - ; max w T x = -min (-w) T x 44

45 File dati II possibilità File dati MF.min.dat - definizione dei parametri: definiamo i vettori a due dimensioni (M): param M : AB AC BC BE CD DB DE EA := A - - B - - C - D - - E -; 45

46 Interprete AMPL II possibilità ampl: reset; // cancelliamo i modelli e/o i dati precedentemente caricati // (obbligatorio se abbiamo già caricato un problema) ampl: model MCF.mod; // carichiamo prima il modello del problema Stesso file.mod di (MCF) ampl: data MF.min.dat; // carichiamo successivamente i dati del problema 46

47 Soluzione del problema II possibilità ampl: option solver cplex; // scegliamo il solutore di Programmazione Matematica con cui // risolvere il problema: CPLEX (attualmente vers..2.) ampl: solve; // risolviamo il problema caricato valore ottimo // output ottenuto: CPLEX.2.: optimal solution; objective - dual simplex iterations ( in phase I) informazioni sul metodo di soluzione soluzione disponibile 47

48 Soluzione del problema II possibilità ampl: display x; // chiediamo i valori della soluzione ottenuta (componenti di x) // output ottenuto: x [*] := AB 6 AC 4 BC BE 7 CD 4 DB DE 3 EA ; soluzione a componenti intere M M I Totalmente unimodulare 48

49 Restrizioni sulle variabili Le variabili sono le grandezze che descrivono la soluzione del problema. Le variabili vengono dichiarate nel file del.mod. L identificativo della variabile viene preceduto dalla parola chiave var e, eventualmente, viene seguito da restrizioni al suo valore. In AMPL le restrizioni sulle variabili possono essere descritte da espressioni logiche oppure dalle parole chiave integer e binary per indicare che la variabile è di tipo intero oppure binario. ampl: :var x >= ; ampl: var y binary; ampl: var z integer; 49

50 Stampa del modello A volte può essere utile stampare il modello che è stato precedentemente dichiarato nel file.mod e definito in tutte le sue componenti nel file.dat. AMPL permette di interrogare il solutore chiamato per risolvere il modello e di richiedergli la stampa del modello da risolvere. Se viene utilizzato il solutore CPLEX, il formato in cui viene stampato il modello è il formato LP. Il comando CPLEX per la stampa di un modello è writeprob seguito dal nome del file sul quale stampare il modello. In AMPL per dare il comando writeprob a CPLEX si usa l istruzione option con argomento cplex_option seguito dal comando writeprob ampl: option cplex_options 'writeprob problem.lp'; 5

51 Stampa del modello Esempio Stampa del modello MCF.mod ampl: model MCF.mod; ampl: data MCF.dat; ampl: option solver cplex; ampl: option cplex_options 'writeprob MCF.lp'; ampl: solve; CPLEX.2.: writeprob MCF.lp CPLEX.2.: optimal solution; objective 33 dual simplex iterations ( in phase I) 5

52 Stampa del modello Esempio Stampa del modello MCF.mod: file MCF.lp \Problem name: c7v5io7 Minimize obj: 2 x + 3 x2 + x3 + 5 x4 + x5 + 2 x6 + 4 x7 Subject To c: - x - x2 = -5 c2: x - x3 - x4 + x6 = 6 c3: x2 + x3 -x5 = -5 c4: x5 - x6 - x7 = tutti i nomi delle c5: x4 + x7 = 4 variabili e dei vincoli Bounds sono stati ti sostituiti iti <= x <= 6 da etichette generiche <= x2 <= 4 <=x3<=2 questo può <= x4 <= 7 rendere il <= x5 <= 8 modello di <= x6 <= 4 <= x7 <= 5 End difficile lettura 52

53 Stampa del modello Per indicare al solutore CPLEX che le etichette delle diverse componenti del modello devono essere quelle dichiarate nel file.mod utilizziamo il comando CPLEX rc prima del comando writeprob. In AMPL per dare il comando rc a CPLEX si usa l istruzione option con argomento cplex _ auxfiles seguito dal comando rc ampl: option cplex_auxfiles 'rc'; ampl: option cplex_options 'writeprob problem.lp'; 53

54 Stampa del modello Esempio Stampa del modello MCF.mod con etichette originali ampl: model MCF.mod; ampl: data MCF.dat; ampl: option solver cplex; ampl: option cplex_auxfiles 'rc'; ampl: option cplex_options 'writeprob MCF_names.lp'; ampl: solve; CPLEX.2.: writeprob MFC_names.lp CPLEX.2.:.: optimal solution; o objective 33 simplex iterations ( in phase I) 54

55 Stampa del modello Esempio Stampa del modello MCF.mod: file MCF_names.lp \Problem name: c7v5io7 Minimize obj: 2 x('ab') + 3 x('ac') + x('bc') + 5 x('be') + x('cd') + 2 x('db') + 4 x('de') Subject To Incidenza('A'): - x('ab') - x('ac') = -5 Incidenza('B'): x('ab') - x('bc') - x('be') + x('db') = 6 Incidenza('C'): x('ac')+x('bc') ) - x('cd') =-5 Incidenza('D'): x('cd') - x('db') - x('de') = Incidenza('E'): x('be') + x('de') = 4 Bounds <= x('ab') <= 6 <= x('ac') <= 4 <= x('bc') <= 2 <= x('be') <= 7 <= x('cd') <= 8 <= x('db') <= 4 <= x('de') <= 5 End

56 Modalità dati Il comando dt data dice all interprete che segue la definizione delle entità precedentemente dichiarate. ampl: data MCF.dat; // carichiamo successivamente i dati del problema Il comando data può essere anche utilizzato per porre l interprete in modalità dati e può essere utilizzato direttamente da riga di comando. ampl: model MCF.mod; ampl: data; ampl data: set NODI := A; ampl data: display NODI; set NODI := A; ampl: Per uscire dalla modalità dati occorre digitare una parola chiave diversa da quelle che identificano i dati (set, param, etc.) 56

57 Modalità dati Quando assegniamo valori dopo il comando data, l interprete verifica che ad un entità non venga assegnato più di un valore. ampl: model MCF.mod; ampl: data; ampl ldata: set tnodi := A; ampl data: display NODI; set NODI := A; ampl: data; ampl data: set NODI := B; dt data for NODI already read context: set >>> NODI <<< := B; 57

58 Modalità dati Per aggiornare il valore assegnato ad un entità abbiamo due modi: ) Con l istruzione reset // cancella tutte le assegnazioni reset data; reset data <lista_entità>; // cancella le assegnazioni delle entità nella lista <lista_entità> ampl: model MCF.mod; ampl: data; ampl data: set NODI := A; ampl data: display NODI; set NODI := A; ampl: reset data NODI; ampl: display NODI; Error executing "display" command: no data for set NODI ampl: data; ampl data: set NODI := B; ampl data: display NODI; set NODI := B; 58

59 2) Con l istruzione update Modalità dati update data; // aggiorna tutte le assegnazioni update data <lista_ entità>; // aggiorna le assegnazioni delle ampl: model MCF.mod; ampl: data; ampl data: set NODI := A; ampl data: display NODI; set NODI := A; ampl: update data NODI; ampl: display NODI; set NODI := A; entitànella lista <lista_entità> ampl: data; ampl data: set NODI := B; ampldata: display NODI; set NODI := B; 59

60 Modalità dati Per aggiornare il valore di un singolo dato, ad esempio di un parametro, possiamo utilizzare l istruzione let ampl: param P; ampl: data; ampldata: paramp := 3; ampl data: display P; P = 3 L istruzione Listruzione let può essere utilizzata senza entrare in modalità dati ampl: let P := 2 * P; ampl: display P; P = 6 Il valore del singolo dato da aggiornare può essere letto anche da un file.dat 6

61 Insiemi a più dimensioni Come per i parametri, anche gli insiemi (parola chiave set) possono essere a più dimensioni. In AMPL il comando dimen nella dichiarazione di un insieme specifica la dimensione dell insieme. ampl: set COPPIE dimen 2; ampl: data; ampl data: set COPPIE := (A,B) (A,C) (B,C); ampl data: display COPPIE; set COPPIE := (A,B) (A,C) (B,C); Oltre a definire insiemi e operazioni tra insiemi, il comando setof permette di creare insiemi proiezione di insiemi precedentemente dichiarati. ampl: set PROIEZIONE := setof { (i,j) in COPPIE } i; ampl: display PROIEZIONE; set PROIEZIONE := A B; 6

62 Materiale Oltre alle slide di questa esercitazione, è possibile trovare ulteriore materiale alla pagina relativamente a: gestione di canali di input/output p in AMPL stringhe di caratteri in AMPL istruzioni iterative e if then html script in AMPL

Ottimizzazione Combinatoria

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

Dettagli

Progetto e ottimizzazione di reti 2

Progetto e ottimizzazione di reti 2 Progetto e ottimizzazione di reti 2 Esercitazione AMPL A.A. 29-2 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma.it Università di Roma La Sapienza Dipartimento di Informatica

Dettagli

Scopo del laboratorio

Scopo del laboratorio p. 1/1 Scopo del laboratorio Imparare ad usare programmi che implementino metodi di ottimizzazione: simplesso, branch and bound ecc. utilizzarli per risolvere un problema proposto Modellatori Solver p.

Dettagli

Miscelazione di benzine

Miscelazione di benzine Miscelazione di benzine Una raffineria deve miscelare 4 tipi di petrolio grezzo per ottenere 3 tipi di benzina. La tabella seguente mostra la massima quantità disponibile per ogni tipo di petrolio grezzo

Dettagli

Introduzione. AMPL Introduzione. F. Rinaldi. Dipartimento di Matematica Università di Padova. Corso di Laurea Matematica. F. Rinaldi AMPL Introduzione

Introduzione. AMPL Introduzione. F. Rinaldi. Dipartimento di Matematica Università di Padova. Corso di Laurea Matematica. F. Rinaldi AMPL Introduzione Dipartimento di Matematica Università di Padova Corso di Laurea Matematica Outline Introduzione Utilizzo di un Solver Definizione Un solver (o risolutore) è un software che riceve in input una descrizione

Dettagli

AMPL Problemi su Reti

AMPL Problemi su Reti Dipartimento di Matematica Università di Padova Corso di Laurea Informatica Outline Problemi su Reti Cammino Minimo Molti problemi di ottimizzazione combinatoria possono essere modellati ricorrendo ai

Dettagli

Flusso a Costo Minimo

Flusso a Costo Minimo Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Flusso a Costo Minimo Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria Dal

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

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),

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

Gestione Impresa. Mese 1 2 3 4 5 6 Unità richieste 700 600 500 800 900 800

Gestione Impresa. Mese 1 2 3 4 5 6 Unità richieste 700 600 500 800 900 800 Gestione Impresa Un impresa di produzione produce un solo tipo di merce. Ci sono 40 operai, ciascuno dei quali produce 20 unità di merce al mese. La domanda fluttua nel corso di un semestre secondo la

Dettagli

AMPL: Risoluzione di Problemi Nonlineari

AMPL: Risoluzione di Problemi Nonlineari Dipartimento di Matematica Università di Padova Corso di Laurea Matematica Outline Risoluzione Problemi Non Lineari Generazione Sequenza Randomica investimenti2.run # cancella eventuali dati memorizzati

Dettagli

AMPL: Esempi. F. Rinaldi. Corso di Laurea Matematica. Dipartimento di Matematica Università di Padova. Esempi di Modellazione in AMPL

AMPL: Esempi. F. Rinaldi. Corso di Laurea Matematica. Dipartimento di Matematica Università di Padova. Esempi di Modellazione in AMPL Dipartimento di Matematica Università di Padova Corso di Laurea Matematica Outline Esempi di Modellazione in AMPL Esempio 2 Problema della Dieta In questo problema é data una lista di cibi, a ciascuno

Dettagli

Teoria della Programmazione Lineare Intera

Teoria della Programmazione Lineare Intera Teoria della Programmazione Lineare Intera Laura Galli Dipartimento di Informatica Largo B. Pontecorvo, 567 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 7 Ottobre 0 Ricerca Operativa Laurea

Dettagli

Uso del linguaggio di modellazione AMPL

Uso del linguaggio di modellazione AMPL Sapienza Sapienza Universitàdi Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Uso del linguaggio di modellazione AMPL Renato Bruni bruni@dis.uniroma1.it www.dis.uniroma1.it/~bruni

Dettagli

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli. ESERCIZIO 1 Sia dato il grafo orientato in Figura 1. Si consideri il problema di flusso a 1 2 4 Figura 1: costo minimo su tale grafo con b 1 = 4 b 2 = 2 b = b 4 = e c 12 = 2 c 1 = 4 c 14 = 1 c 2 = 1 c

Dettagli

Ottimizzazione dei Sistemi Complessi

Ottimizzazione dei Sistemi Complessi 1 Martedì 17 Maggio 2016 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Programmazione con incertezza Una società di autonoleggio dispone (attualmente, oggi) di 50 macchine tutte dislocate

Dettagli

126 APPROFONDIMENTI SUI PARAMETRI. SCRIPT IN AMPL

126 APPROFONDIMENTI SUI PARAMETRI. SCRIPT IN AMPL 126 APPROFONDIMENTI SUI PARAMETRI. SCRIPT IN AMPL Esempio 8.3.2 Una fabbrica produce divani in tessuto acquistando da un magazzino all ingrosso i quantitativi di tessuto che gli occorrono settimanalmente.

Dettagli

Linguaggi di modellizzazione

Linguaggi di modellizzazione p. 1/5 Linguaggi di modellizzazione Come visto, il primo passo per risolvere un problema di decisione consiste nel formularne il modello matematico. Una volta definito il modello matematico lo dobbiamo

Dettagli

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015 1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)

Dettagli

Ottimizzazione Combinatoria

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

Dettagli

Pianificazione di Produzione in DEC

Pianificazione di Produzione in DEC Pianificazione di Produzione in DEC L esempio considerato qui è un problema reale che la Digital Equipment Corporation (DEC) ha dovuto affrontare nell autunno del 1988 per preparare la pianificazione di

Dettagli

Appunti delle Esercitazione di Ricerca Operativa AMPL Plus v1.6

Appunti delle Esercitazione di Ricerca Operativa AMPL Plus v1.6 Appunti delle Esercitazione di Ricerca Operativa AMPL Plus v1.6 acuradig.liuzzi a.a. 2001-2002 1 Uso di variabili e parametri a 3 o più dimensioni: un modello di pianificazione Negli esempi precedenti

Dettagli

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Introduzione ai grafi. Introduzione ai grafi p. 1/2 Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte

Dettagli

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi Università degli Studi di Roma La Sapienza Ottimizzazione nella Gestione dei Progetti - Esercitazione : calcolo degli schedule ottimi di FABIO D ANDREAGIOVANNI Dipartimento di Informatica e Sistemistica

Dettagli

AMPL Sintassi ed Esempi

AMPL Sintassi ed Esempi Dipartimento di Matematica Università di Padova Corso di Laurea Informatica Outline Sintassi Elementi di un problema Insiemi Parametri Variabili Funzione Obiettivo Vincoli Dati Insiemi Gli insiemi definiscono

Dettagli

Problema del Trasporto. Container vuoti Verona 10 Perugia 12 Roma 20 Pescara 24 Taranto 18 Lamezia 40

Problema del Trasporto. Container vuoti Verona 10 Perugia 12 Roma 20 Pescara 24 Taranto 18 Lamezia 40 Problema del Trasporto Una ditta di trasporto deve trasferire container vuoti dai propri 6 Magazzini, situati a Verona, Perugia, Roma, Pescara, Taranto e Lamezia, ai principali Porti nazionali (Genova,

Dettagli

1 Breve introduzione ad AMPL

1 Breve introduzione ad AMPL 1 Breve introduzione ad AMPL Il primo passo per risolvere un problema reale attraverso strumenti matematici consiste nel passare dalla descrizione a parole del problema al modello matematico dello stesso.

Dettagli

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! G R A F I 1 GRAFI Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! 2 cip: cip: Pallogrammi Pallogrammi GRAFI: cosa sono I grafi sono una struttura matematica fondamentale: servono

Dettagli

Appunti delle Esercitazioni di Ottimizzazione V.O. AMPL: A Mathematical Programming Language

Appunti delle Esercitazioni di Ottimizzazione V.O. AMPL: A Mathematical Programming Language Appunti delle Esercitazioni di Ottimizzazione V.O. AMPL: A Mathematical Programming Language a cura di G. Liuzzi and V. Piccialli a.a. 2004-2005 liuzzi@dis.uniroma1.it, http://www.dis.uniroma1.it/ liuzzi

Dettagli

Traccia 1. Nome Cognome Matricola Firma. Spazio Riservato alla Commissione. Esercizio 1 Esercizio 2 Esercizio 3 Esercizio 4 Esercizio 5 Totale

Traccia 1. Nome Cognome Matricola Firma. Spazio Riservato alla Commissione. Esercizio 1 Esercizio 2 Esercizio 3 Esercizio 4 Esercizio 5 Totale Nome Cognome Matricola Firma Traccia 1 Spazio Riservato alla Commissione Esercizio 1 Esercizio 2 Esercizio 3 Esercizio 4 Esercizio 5 Totale Appello di Fondamenti di Informatica 12/09/2017 POSSIBILI SOLUZIONI

Dettagli

AMPL: Esempi e Comandi Avanzati

AMPL: Esempi e Comandi Avanzati Dipartimento di Matematica Università di Padova Corso di Laurea Matematica Outline Comandi Avanzati Script per Operazioni Complesse Ciclo For for {e in INSIEME}{... } Ciclo Repeat While (termina se espressione

Dettagli

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo): UNIVERSITA DEGLI STUDI DI SALERNO C.d.L. in INGEGNERIA GESTIONALE Esercizi di Ricerca Operativa Prof. Saverio Salerno Corso tenuto nell anno solare 2009 I seguenti esercizi sono da ritenersi di preparazione

Dettagli

Corso di Perfezionamento

Corso di Perfezionamento Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione

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

Prova Scritta di Ricerca Operativa

Prova Scritta di Ricerca Operativa Prova Scritta di Ricerca Operativa (Prof. Fasano Giovanni) Università Ca Foscari Venezia - Sede di via Torino 12 gennaio 2017 Regole per l esame: la violazione delle seguenti regole comporta il ritiro

Dettagli

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi:massimo flusso (parte 1) p. 2/33 Reti di flusso Una rete di flusso è una

Dettagli

2. ALGORITMO DEL SIMPLESSO

2. ALGORITMO DEL SIMPLESSO . ALGORITMO DEL SIMPLESSO R. Tadei Una piccola introduzione R. Tadei SIMPLESSO L obiettivo del capitolo è quello di fornire un algoritmo, l algoritmo del simplesso, che risolve qualsiasi problema di programmazione

Dettagli

x 1 x 2 x 3 x 5 La base iniziale è B 0 = I e risulta x B 0 = , x N 0 = Iterazione 0. Calcolo dei costi ridotti. γ 0 = c N 0 (N 0 ) T c B 0 =

x 1 x 2 x 3 x 5 La base iniziale è B 0 = I e risulta x B 0 = , x N 0 = Iterazione 0. Calcolo dei costi ridotti. γ 0 = c N 0 (N 0 ) T c B 0 = 56 IL METODO DEL SIMPLESSO 7.4 IL METODO DEL SIMPLESSO In questo paragrafo sono riportati alcuni esercizi risolti sul metodo del simplesso. Alcuni sono risolti utilizzando la procedura di pivot per determinare,

Dettagli

Parte V: Rilassamento Lagrangiano

Parte V: Rilassamento Lagrangiano Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi Risolutivi per la Programmazione Lineare Intera

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi Risolutivi per la Programmazione Lineare Intera Metodi e Modelli per l Ottimizzazione Combinatoria Metodi Risolutivi per la Programmazione Lineare Intera L. De Giovanni G. Zambelli Un problema di programmazione lineare intera é una problema della forma

Dettagli

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard Introduzione al Metodo del Simplesso Giacomo Zambelli 1 Soluzioni di base e problemi in forma standard Consideriamo il seguente problema di programmazione lineare (PL), relativo all esempio di produzione

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Problemi di Flusso e Applicazioni

Problemi di Flusso e Applicazioni Problemi di Flusso e Applicazioni Andrea Scozzari a.a. 2013-2014 May 20, 2014 Andrea Scozzari (a.a. 2013-2014) Problemi di Flusso e Applicazioni May 20, 2014 1 / 5 Flussi Multiprodotto I problemi presi

Dettagli

Grafi e Funzioni di Costo ESERCIZI

Grafi e Funzioni di Costo ESERCIZI Grafi e Funzioni di Costo ESERCIZI Esercizio1 Si determini la matrice di incidenza archi-percorsi ed i costi di percorso per la rete di trasporto rappresentata in figura. 1 4 2 3 5 Ramo Costo Ramo Costo

Dettagli

Modelli di Programmazione Matematica e introduzione ad AMPL

Modelli di Programmazione Matematica e introduzione ad AMPL 1 Modelli di Programmazione Matematica e introduzione ad AMPL Come accennato nell introduzione, all interno della Ricerca Operativa, un ruolo di fondamentale importanza è svolto dalla Programmazione Matematica

Dettagli

Introduzione ai grafi

Introduzione ai grafi TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Modelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli

Modelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli Ricerca Operativa 2. Modelli di Programmazione Lineare Modelli di programmazione lineare Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli Sotto queste ipotesi (come

Dettagli

Soluzione di problemi di Programmazione Lineare Intera

Soluzione di problemi di Programmazione Lineare Intera 10 Soluzione di problemi di Programmazione Lineare Intera 10.1 ESERCIZI SULLA SOLUZIONE DI PROBLEMI DI PROGRAMMAZIONE LINEARE INTERA Esercizio 10.1.1 Risolvere con il metodo del Branch and Bound il seguente

Dettagli

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili Modelli per la Logistica Distributiva: Single Commodity Minimum Cost Flow Problem Multi Commodity Minimum Cost Flow Problem Fixed Charge

Dettagli

4.1 Localizzazione e pianificazione delle base station per le reti UMTS

4.1 Localizzazione e pianificazione delle base station per le reti UMTS esercitazione Ottimizzazione Prof E Amaldi Localizzazione e pianificazione delle base station per le reti UMTS Consideriamo il problema di localizzare un insieme di stazioni radio base, base station (BS),

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Propagazione degli errori introdotti nei dati

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I Esercizio 1 Dati n oggetti ed un contenitore, ad ogni oggetto j (j = 1,, n) sono associati un peso p j ed un costo c j (con p j e c j interi positivi). Si

Dettagli

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab Metodi di Analisi dei Dati Sperimentali AA /2010 Pier Luca Maffettone Elementi di Matlab Sommario Introduzione Variabili Manipolazione di elementi Creazione di vettori/matrici Operazioni elementari Funzioni

Dettagli

Rilassamento Lagrangiano

Rilassamento Lagrangiano RILASSAMENTO LAGRANGIANO 1 Rilassamento Lagrangiano Tecnica più usata e conosciuta in ottimizzazione combinatoria per il calcolo di lower/upper bounds (Held and Karp (1970)). Si consideri il seguente problema

Dettagli

Ricerca Operativa. Analisi della sensitività in AMPL. Andrea Raiconi

Ricerca Operativa. Analisi della sensitività in AMPL. Andrea Raiconi Ricerca Operativa Analisi della sensitività in AMPL Andrea Raiconi araiconi@unisa.it Corso di Laurea Magistrale in Ingegneria Informatica Università degli Studi di Cassino e del Lazio Meridionale Esempio

Dettagli

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie Complementi di Matematica e Calcolo Numerico A.A. 2013-2014 Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie Cosideriamo il Problema di Cauchy: y (t) = f(t,y(t)) t I, y(t 0 ) = y

Dettagli

Claudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso

Claudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso Claudio Arbib Università di L Aquila Ricerca Operativa Reti di flusso Sommario Definizioni di base Flusso di un campo vettoriale Divergenza Integrale di Gauss-Greene Flusso in una rete Sorgenti, pozzi

Dettagli

Elementi di un modello di Programmazione Matematica

Elementi di un modello di Programmazione Matematica 1 Ricerca Operativa Laboratorio: utilizzo di solver per programmazione matematica Elementi di un modello di Programmazione Matematica Insiemi: elementi del sistema; Parametri: dati del problema; Variabili

Dettagli

Altri esempi e introduzione alla Programmazione Lineare Intera

Altri esempi e introduzione alla Programmazione Lineare Intera 5 Altri esempi e introduzione alla Programmazione Lineare Intera Prima di introdurre i modelli di Programmazione Lineare Intera, vediamo un altro esempio di implementazione in AMPL di un modello di Programmazione

Dettagli

Esercitazione 6 Ancora sul Network Flow

Esercitazione 6 Ancora sul Network Flow Esercitazione 6 Ancora sul Network Flow Problema 14 (appello 28/09/2015) Un importante azienda di sviluppo software ha n progetti da portare a termine entro la fine dell anno. Il manager dell azienda stima

Dettagli

2.3.3 Cammini ottimi nei grafi senza circuiti

2.3.3 Cammini ottimi nei grafi senza circuiti .. Cammini ottimi nei grafi senza circuiti Sia un grafo G = (N, A) orientato senza circuiti e una funzione di costo che assegna un valore c ij R ad ogni arco (i, j) A circuito Proprietà I nodi di un grafo

Dettagli

Problemi di Flusso: Il modello del Trasporto

Problemi di Flusso: Il modello del Trasporto Problemi di Flusso: Il modello del rasporto Andrea Scozzari a.a. 2014-2015 April 27, 2015 Andrea Scozzari (a.a. 2014-2015) Problemi di Flusso: Il modello del rasporto April 27, 2015 1 / 25 Problemi su

Dettagli

5.5 Metodi generali per la soluzione di problemi

5.5 Metodi generali per la soluzione di problemi 5.5 Metodi generali per la soluzione di problemi di PLI I problemi di PLI hanno caratteristiche molto diverse dai problemi di PL. In alcuni casi, la soluzione del problema lineare rilassato, ottenuto cioè

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013 A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N

Dettagli

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo

Dettagli

ALGEBRA E GEOMETRIA Esercizi Corso di Laurea in Chimica - anno acc. 2015/2016 docente: Elena Polastri,

ALGEBRA E GEOMETRIA Esercizi Corso di Laurea in Chimica - anno acc. 2015/2016 docente: Elena Polastri, ALGEBRA E GEOMETRIA Esercizi Corso di Laurea in Chimica - anno acc. 05/06 docente: Elena Polastri, plslne@unife.it Esercizi 3: SPAZI VETTORIALI e MATRICI Combinazioni lineari di vettori.. Scrivere il vettore

Dettagli

AUTOMA A STATI FINITI

AUTOMA A STATI FINITI Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate

Dettagli

Analisi interazione domanda/offerta: modelli di assegnazione

Analisi interazione domanda/offerta: modelli di assegnazione Corso di Laurea Ingegneria Civile e Ambientale - AA Corso di: Fondamenti di Trasporti Lezione: Analisi interazione domanda/offerta: modelli di assegnazione Giuseppe Inturri Università di Catania Dipartimento

Dettagli

Prova scritta di Matematica Discreta e Logica del giorno 3 luglio 2017 Soluzione degli esercizi FILA D

Prova scritta di Matematica Discreta e Logica del giorno 3 luglio 2017 Soluzione degli esercizi FILA D ˆ ˆ ƒˆ ˆ ƒ ˆ ˆ Œ ˆ.. 2016-2017 Prova scritta di Matematica Discreta e Logica del giorno 3 luglio 2017 Soluzione degli esercizi FILA D Esercizio 1 Nell insieme delle coppie ordinate di numeri naturali,

Dettagli

Ricerca Operativa e Logistica

Ricerca Operativa e Logistica Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 2011/2012 Lezione 7: Analisi di Sensitività con AMPL Esempio : Il caseificio Un caseificio vuole pianificare la produzione giornaliera

Dettagli

3.6 Metodi basati sui piani di taglio

3.6 Metodi basati sui piani di taglio 3.6 Metodi basati sui piani di taglio Problema generale di Programmazione Lineare Intera (PLI) con A matrice m n e b vettore n 1 razionali min{ c t x : x X = {x Z n + : Ax b} } Sappiamo che esiste una

Dettagli

METODI DELLA RICERCA OPERATIVA

METODI DELLA RICERCA OPERATIVA Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco (mdifrance@unica.it) i i Dott.ing. Maria Ilaria Lunesu (ilaria.lunesu@unica.it)

Dettagli

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a Homework n 26. Docente: Laura Palagi

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a Homework n 26. Docente: Laura Palagi Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a. 2012-13 Homework n 26 Docente: Laura Palagi Modello di distribuzione Cardillo Raffaele Di Paola Catherine Trano Marco

Dettagli

Processi di cost management - Programmazione multiperiodale

Processi di cost management - Programmazione multiperiodale Processi di cost management - Programmazione multiperiodale Queste slide (scrte da Carlo Mannino) riguardano il problema di gestione delle attivà di un progetto allorché i costi di esecuzione sono legati

Dettagli

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Il problema dell assegnamento degli stati versione del 9/1/03 Sintesi: Assegnamento degli stati La riduzione del numero

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia

Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia sercizi per il corso di Logistica I a.a. - aniela avaretto ipartimento di Matematica pplicata Università a oscari di Venezia sercizio Individuare un albero di supporto di lunghezza minima (SST) sul seguente

Dettagli

Analisi interazione domanda/offerta: modelli di assegnazione

Analisi interazione domanda/offerta: modelli di assegnazione Corso di Laurea Ingegneria Civile - AA 1112 Corso di: Fondamenti di Trasporti Lezione: Analisi interazione domanda/offerta: modelli di assegnazione Giuseppe Inturri Università di Catania Dipartimento di

Dettagli

SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno

SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno SIMULAZIONE ESAME di OTTIMIZZAZIONE 28 novembre 2005 SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno Cognome : XXXXXXXXXXXXXXXXX Nome : XXXXXXXXXXXXXX VALUTAZIONE

Dettagli

Gestione della produzione e della supply chain Logistica distributiva

Gestione della produzione e della supply chain Logistica distributiva Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non

Dettagli

Algoritmo basato su cancellazione di cicli

Algoritmo basato su cancellazione di cicli Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: analisi di sensitività

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: analisi di sensitività Ricerca Operativa A.A. 2007/2008 14. Esercitazione di laboratorio: analisi di sensitività Luigi De Giovanni - Ricerca Operativa - 14. Laboratorio: analisi di sensitività 14.1 Problema di mix della produzione

Dettagli

Sperimentazioni di Fisica I mod. A Statistica - Lezione 3

Sperimentazioni di Fisica I mod. A Statistica - Lezione 3 Sperimentazioni di Fisica I mod. A Statistica - Lezione 3 A Garfagnini, M Mazzocco, C Sada Dipartimento di Fisica G. Galilei, Università di Padova AA 2014/2015 Elementi di Teoria della Probabilità L ineliminabile

Dettagli

Corso di Matematica e Statistica 3 Algebra delle matrici. Una tabella rettangolare: la matrice. Una tabella rettangolare: la matrice

Corso di Matematica e Statistica 3 Algebra delle matrici. Una tabella rettangolare: la matrice. Una tabella rettangolare: la matrice Pordenone Corso di Matematica e Statistica 3 Algebra delle UNIVERSITAS STUDIORUM UTINENSIS Giorgio T. Bagni Facoltà di Scienze della Formazione Dipartimento di Matematica e Informatica Università di Udine

Dettagli

Algebra di Boole: minimizzazione di funzioni booleane

Algebra di Boole: minimizzazione di funzioni booleane Corso di Calcolatori Elettronici I A.A. 200-20 Algebra di Boole: minimizzazione di funzioni booleane Lezione 8 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Forme Ridotte p Vantaggi

Dettagli

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 . Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,

Dettagli

Operazioni tra matrici e n-uple

Operazioni tra matrici e n-uple CAPITOLO Operazioni tra matrici e n-uple Esercizio.. Date le matrici 0 4 e dati λ = 5, µ =, si calcoli AB, BA, A+B, B A, λa+µb. Esercizio.. Per ognuna delle seguenti coppie di matrici A, B e scalari λ,

Dettagli

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni

Dettagli

Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :

Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) : PROGRAMMAZIONE (Corsi B e C) Pre-appello di Gennaio 2004 (A.A. 2003/2004) PROGRAMMAZIONE (B e C) S. Straordinaria - Appello di Gennaio (A.A. 2002/2003) 22 Gennaio 2004 ore 11 Aula II di Facoltà (Durata:

Dettagli

Excel: una piattaforma facile per l ottimizzazione. Excel ha un toolbox di ottimizzazione: Risolutore

Excel: una piattaforma facile per l ottimizzazione. Excel ha un toolbox di ottimizzazione: Risolutore Excel: una piattaforma facile per l ottimizzazione Excel ha un toolbox di ottimizzazione: Risolutore Il problema di produzione con Excel Consideriamo il foglio Excel Variabili di decisione reali c8,d8

Dettagli

problemi di assegnazione

problemi di assegnazione problemi di assegnazione I problemi di assegnazione fanno parte dei problemi lineari. I problemi di assegnazione (o problemi di assegnamento) sono quei problemi di ricerca operativa in cui bisogna assegnare

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

MATLAB c. Lucia Gastaldi Dipartimento di Matematica  Lezione 4 (15 ottobre 2003) MATLAB c M-file. Lucia Gastaldi Dipartimento di Matematica http://dm.ing.unibs.it/gastaldi/ Lezione 4 (15 ottobre 2003) Esercizio Problema 3: la successione di funzioni f n (x) = (x 2 x) n per 0 x 1 è

Dettagli

Fortran in pillole : prima parte

Fortran in pillole : prima parte Fortran in pillole : prima parte Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria Introduzione al Fortran Un libro consigliato

Dettagli

i completi l'esecuzione dell'algoritmo di programmazione dinamica per questo problema restituendo il valore ottimo e una soluzione ottima del problema

i completi l'esecuzione dell'algoritmo di programmazione dinamica per questo problema restituendo il valore ottimo e una soluzione ottima del problema Compito di Ricerca Operativa II Esercizio ( punti). ia dato il problema di flusso massimo sulla rete in figura (le capacit a degli archi sono riportate sopra di essi). 0 8 i consideri il seguente flusso

Dettagli

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili. Lezione 6: Ampl e comandi principali

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili. Lezione 6: Ampl e comandi principali Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili Lezione 6: Ampl e comandi principali Ampl: download and install http://www.ampl.com/downloads/details.html#winstd Download amplcml.zip

Dettagli