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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

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

2 Definizione di pseudoflusso Pseudoflusso : vettore x R m che soddisfa i vincoli di capacità degli archi 0 x ij u ij (i, j) A in qualche nodo i non soddisfa il vincolo di conservazione di flusso i N x ji x ( j,i ) BS ( i) ( i, j ) FS ( i) ij b i Si definisce e i (x) = x ji x ( j, i) BS ( i) ( i, j ) FS ( i) ij b i e i (x) : sbilanciamento del nodo i rispetto allo pseudoflusso x (violazione del vincolo di conservazione di flusso al nodo i)

3 e ( x ) i = x ji x ( j, i) BS ( i) ( i, j ) FS ( i) ij b i = 0 : nodo bilanciato Quindi : se i è nodo di offerta (b i < 0), x ji bi = xij ( j, i) BS ( i) ( i, j ) FS ( i) se i è nodo di trasferimento (b i = 0), x ji = xij ( j, i) BS ( i) ( i, j ) FS ( i) se i è nodo di domanda (b i > 0), x ji = xij + ( j, i) BS ( i) ( i, j ) FS ( i) b i

4 e ( x ) i = x ji x ( j, i) BS () i ( i, j ) FS () i ij b i > 0 : nodo con eccedenza di flusso Quindi : se i è nodo di offerta (b i < 0), x ji bi > xij ( j, i) BS ( i) ( i, j ) FS ( i) se i è nodo di trasferimento (b i = 0), x ji > xij ( j, i) BS ( i) ( i, j ) FS ( i) se i è nodo di domanda (b i > 0), x ji > xij + ( j, i) BS ( i) ( i, j ) FS ( i) b i

5 e ( x ) i = x ji x ( j, i) BS () i ( i, j ) FS () i ij b i < 0 : nodo con difetto di flusso Quindi : se i è nodo di offerta (b i < 0), x ji bi < xij ( j, i) BS ( i) ( i, j ) FS ( i) se i è nodo di trasferimento (b i = 0), x ji < xij ( j, i) BS ( i) ( i, j ) FS ( i) se i è nodo di domanda (b i > 0), x ji < xij + ( j, i) BS ( i) ( i, j ) FS ( i) b i

6 O x : insieme dei nodi con eccedenza di flusso O x = { i N : e i (x) > 0 } D x : insieme dei nodi con difetto di flusso D x = { i N : e i (x) < 0 } g(x) : sbilanciamento complessivo g ( x) = e = i ( x) e x i ( ) i O x i D x somma degli sbilanciamenti dei nodi con eccedenza di flusso (che coincide con la somma cambiata di segno degli sbilanciamenti dei nodi con difetto di flusso) e(x) R n : vettore degli sbilanciamenti ai nodi rispetto al pseudoflusso x

7 origini (b i < 0) : nodi 1 e 3 b i destinazioni (b i > 0) : nodi 4 e 6 2 nodi di trasferimento (b i = 0) : nodi 2 e 5 i u ij, c ij j b j 5 1 3, , 4 3, 1 2, 7 5, , , 1 4, 1 4, , 4 6 7

8 Pseudoflusso con sbilanciamento ai nodi : b i, e i i x ij j b j, e j 0 ( 5) 0 = 5 5, , = = 0 0, , = ( 5) 2 = 3 3 5, , = 5

9 È uno pseudoflusso, perché tutti i vincoli di capacità degli archi sono soddisfatti (0 x ij u ij ) Vincoli di conservazione di flusso : vi sono 2 nodi con eccedenza di flusso nodo 1: e 1 (x) = (0 0) ( 5) = 5 nodo 3: e 3 (x) = 2 ( 5) = 3 2 nodi con difetto di flusso nodo 4: e 4 (x) = 0 3 = 3 nodo 6: e 6 (x) = 2 7 = 5 2 nodi bilanciati: 2 e 5 Lo sbilanciamento complessivo dello pseudoflusso è g(x) = = 8

10 Flusso ammissibile x : oltre ai vincoli di nonnegatività e di capacità degli archi x ij soddisfa anche i vincoli di conservazione di flusso i N (tutti i nodi sono bilanciati) i e i (x) = 0 D x = O x = Un flusso ammissibile è caratterizzato da uno sbilanciamento complessivo nullo: x è flusso ammissibile se e solo se g(x) = 0

11 Utilizzati per l invio di quantità aggiuntive di flusso Sia P un cammino (anche non orientato) sul grafo G da un qualunque nodo s ad un qualunque nodo t Sia (P +, P ) la partizione degli archi di P in cui P + : insieme degli archi concordi del cammino P P : insieme degli archi discordi del cammino P Capacità del cammino P : Cammini aumentanti θ(p, x) = min { min{u ij x ij : (i, j) P + }, min{x ij : (i, j) P } } Il cammino P è detto aumentante se la sua capacità θ(p, x) è positiva.

12 Dato uno pseudoflusso x, l invio di una quantità di flusso 0 θ θ(p, x) lungo P è rappresentato dall operazione di composizione x(θ) = x θp dove x ij () θ x = x x + θ θ ( i, j) ( i, j) P P altrimenti per lo pseudoflusso x(θ) così ottenuto vale che e i ( x( θ) ) ij ij ij es = et ei ( x) ( x) ( x) se se θ + θ l invio di flusso lungo un cammino aumentante modifica solo lo sbilanciamento degli estremi del cammino ; lo sbilanciamento di tutti gli altri nodi è invariato +

13 Cicli aumentanti Utilizzati per costruire, a partire da un flusso ammissibile x, un diverso flusso ammissibile. Ciclo aumentante : cammino aumentante in cui s = t su esso il verso di percorrenza viene arbitrariamente fissato Capacità θ(c, x) del ciclo C : θ(c, x) = min { min{u ij x ij : (i, j) C + }, min{x ij : (i, j) C } } Il ciclo P èdetto aumentante se la sua capacità θ(c, x) è positiva.

14 Dato un flusso ammissibile x, l invio di una quantità di flusso 0 θ θ(c, x) lungo C è rappresentato dall operazione di composizione x(θ) = x θc dove x ij () θ x = x x ij ij ij + θ θ se se ( i, j) ( i, j) C C altrimenti + inviare flusso lungo un ciclo aumentante non modifica lo sbilanciamento di alcun nodo (restano tutti invariati, ossia nulli)

15 Denotando ora con P sia un cammino che un ciclo, definiamo il costo c(p) di P : è il costo di una unità di flusso inviata lungo P secondo il verso fissato c ( P) = + ( i, j ) P ( i, j ) c ij c se (i, j) è un arco diretto di P l unità di flusso viene sommata a quelle esistenti, sostenendo un costo aggiuntivo pari a c ij se (i, j) è un arco inverso di P l unità di flusso viene sottratta a quelle esistenti, sostenendo un costo aggiuntivo pari a c ij Costo dello pseudoflusso (flusso) ottenuto con l operazione di composizione P c T x(θ) = c T (x θp) = c T x + θ c(p) ij

16 Per determinare cammini e/o cicli aumentanti si usa il grafo residuo G x = (N, A x ) rispetto allo pseudoflusso x, dove A x {( i, j) ( i, j) A, x < u } U ( j,i) : ( i, j) { A, x 0} = ij ij ij : > un arco (i, j) non saturo e non scarico in G (0 < x ij < u ij ) è rappresentato in G x da una coppia di archi un arco (i, j) di capacità u ij x ij e costo c ij = c ij un arco (j, i) di capacità x ij e costo c ij = c ij un arco (i, j) scarico in G (x ij = 0) è rappresentato in G x da un arco (i, j) di capacità u ij e costo c ij = c ij un arco (i, j) saturo in G (x ij = u ij ) è rappresentato in G x da un arco (j, i) di capacità u ij e costo c ij = c ij

17 Vale infatti la seguente condizione necessaria e sufficiente: comunque fissati s e t, per ogni cammino aumentante da s a t rispetto ad x in G esiste uno ed un solo cammino orientato da s a t in G x, e i due cammini hanno lo stesso costo.

18 Flusso ammissibile ottimo e pseudoflussi minimali Un flusso ammissibile ottimo è definito come un flusso con vettore di sbilanciamento nullo (e(x) = 0 ) di minimo costo tra tutti i flussi con vettore di sbilanciamento e(x) = 0 Generalizziamo questa definizione al caso e(x) 0 introducendo il concetto di pseudoflusso minimale Definizione Si dice minimale uno pseudoflusso x di costo minimo tra tutti gli pseudoflussi con vettore di sbilanciamento e(x)

19 Caratterizzazione dei flussi ammissibili ottimi e degli pseudoflussi minimali Condizione necessaria e sufficiente di ottimalità di un flusso ammissibile Teorema Dato un flusso ammissibile x, la non-esistenza di cicli aumentanti rispetto a x di costo negativo è condizione necessaria e sufficiente per l ottimalità del flusso ammissibile x Condizione necessaria e sufficiente di minimalità di uno pseudoflusso Teorema Dato uno pseudoflusso x, la non-esistenza di cicli aumentanti rispetto a x di costo negativo è condizione necessaria e sufficiente per la minimalità dello pseudoflusso x

20 La dimostrazione della necessità è per assurdo. La dimostrazione della sufficienza è basata sul seguente teorema Teorema Dati due qualunque pseudoflussi x ed x, esistono k n + m cammini aumentanti (semplici) per x P 1,, P k di cui al più m sono cicli (aumentanti semplici), tali che x = x θ 1 P 1 θ k P k per opportuni k scalari 0 < θ i θ(p i, x ), i = 1,, k. Tutti i cammini aumentanti hanno come estremi nodi in cui lo sbilanciamento di x è diverso dallo sbilanciamento di x, per cui se x ed x hanno lo stesso vettore di sbilanciamenti, allora tutti i P i sono cicli.

21 Algoritmo basato su cammini minimi successivi (SSPT) Algoritmo Cammini-Minimi-Successivi : processo iterativo in ogni iterazione del quale all inizio si dispone di uno pseudoflusso minimale x (g(x) 0) si determina un cammino aumentante di costo minimo tra un nodo s O x ed un nodo t D x e, per un valore di θ θ(p, x) opportunamente scelto, si determina il nuovo pseudoflusso con l operazione di composizione x(θ)= x θp il nuovo pseudoflusso determinato è uno pseudoflusso minimale in forza del seguente teorema.

22 Teorema Siano x uno pseudoflusso minimale P un cammino aumentante rispetto a x di costo minimo tra tutti i cammini che uniscono un dato nodo s O x ad un dato nodo t D x Allora, comunque si scelga 0 < θ θ(p, x), lo pseudoflusso risultante dall operazione di composizione x(θ) = x θc è uno pseudoflusso minimale.

23 Terminazione dell algoritmo Cammini-Minimi-Successivi L algoritmo Cammini-Minimi-Successivi termina quando si verifica una delle due seguenti condizioni 1) lo sbilanciamento complessivo di x è nullo: x è un flusso ammissibile di costo minimo (ottimo) 2) non esiste alcun cammino aumentante tra qualsiasi nodo s O x e un nodo t D x : non esiste nessuna soluzione ammissibile per il problema di flusso di costo minimo

24 Nella fase di inizializzazione dell algoritmo si costruisce uno pseudoflusso x minimale (procedura Inizializza): se non esistono archi con costo negativo e capacità infinita, uno pseudoflusso x minimale si ottiene attribuendo ad ogni arco di G con costo nonnegativo un flusso nullo: se c ij 0 x ij = 0 ad ogni arco di G con costo negativo un flusso pari alla capacità: se c ij < 0 x ij = u ij Con questa scelta i costi degli archi in G x sono tutti nonnegativi, quindi non esistono cicli orientati in G x di costo negativo : in G perciò non esistono cicli aumentanti di costo negativo e lo pseudoflusso iniziale così costruito è minimale,

25 Infatti: nel grafo G esiste un ciclo aumentante di costo negativo rispetto a x se e solo se nel grafo residuo G x rispetto ad x esiste un ciclo orientato di costo negativo Ma un ciclo orientato di costo negativo non può esistere in G x perché in esso non vi sono, per costruzione, costi negativi: all arco (i, j) di G al quale, essendo c ij 0, è stato attribuito flusso nullo corrisponde in G x un unico arco (i, j), orientato come in G, con costo c ij = c ij, quindi nonnegativo all arco (i, j) di G al quale, essendo c ij < 0, è stato attribuito flusso x ij = u ij corrisponde in G x un unico arco (j, i) con costo c ji = c ij, quindi positivo

26 La procedura Trova-Cammino-Minimo deve fornire un cammino aumentante di costo minimo P da un qualsiasi nodo s O x ad un qualsiasi nodo t D x : risolvere su G x un problema di albero dei cammini minimi (SPT) con insieme di nodi radice O x Se O x > 1 : si aggiunge a G x un nodo radice r collegato a tutti i nodi in O x con archi a costo nullo (grafo ampliato G x ) e si risolve un problema SPT di radice r su G x Se O x = 1: si usa come radice l unico nodo in O x.

27 In generale: su un grafo contenente un ciclo negativo la procedura SPT non termina In particolare: quando applicata come passo interno di un algoritmo SSPT la procedura termina individuando un albero dei cammini minimi, perché essendo x minimale, non esistono in G x cicli negativi. Si possono utilizzare: algoritmo SPT.S: ad ogni iterazione si estrae da Q un elemento di etichetta minima Proprietà: su grafi con costi nonnegativi ogni nodo è inserito in (ed estratto da) Q al più una volta

28 algoritmo di Bellman: Q è una fila, ossia strategia FIFO: inserimento in coda - estrazione in testa Proprietà: anche in presenza di archi con costo negativo, purché in assenza di cicli di costo negativo, la strategia FIFO garantisce che ogni nodo sia inserito in Q al più n 1 volte

29 Calcolato l albero dei cammini minimi con un algoritmo SPT, si seleziona un qualsiasi nodo t D x e si esamina il valore della sua etichetta. d t = M : non esiste alcun cammino aumentante tra qualsiasi nodo s O x e t Trova-Cammino-Minimo restituisce falso Cammini-Minimi-Successivi restituisce caso = vuoto : il problema di flusso di costo minimo non ha soluzioni ammissibili d t < M : Trova-Cammino-Minimo restituisce vero il cammino aumentante P che unisce un nodo s O x al nodo t D x selezionato, la quantità di flusso θ che deve essere inviata lungo P { θ ( P, x), e s ( x) e ( x) } θ = min, t

30 Procedura Aumenta-Flusso: implementa l operazione di composizione se θ = e s (x): il nodo s risulterà bilanciato rispetto al nuovo flusso se θ = e t (x): il nodo t risulterà bilanciato rispetto al nuovo flusso se θ = θ(p, x): almeno un arco di P diviene saturo o vuoto Siccome l algoritmo usa sempre cammini aumentanti di costo minimo, ad ogni passo lo pseudoflusso x è minimale: quindi, se l algoritmo termina con g(x) = 0, allora x è un flusso ottimo. Proprietà di integralità della soluzione: se le capacità u ij degli archi ed i deficit b i dei nodi sono interi, allora per qualsiasi scelta dei costi c ij degli archi esiste almeno una soluzione ottima intera per il problema (MCF).

31 Procedure Cammini-Minimi-Successivi (G, c, b, u, x, caso): begin Inizializza(x) ; caso := ottimo ; while g(x) 0 and caso vuoto do if Trova-Cammino-Minimo(G x, O x, D x, P, θ) then Aumenta-Flusso(x, P, θ) else caso := vuoto end.

32 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 ridirezionando mediante un ciclo aumentante C di costo negativo una quantità di flusso pari alla capacità θ(c, x) del ciclo rispetto al flusso ammissibile x : il nuovo flusso determinato è un flusso ammissibile di costo inferiore. L operazione di far circolare sugli archi di C un flusso pari a θ(c, x) (= saturare un ciclo aumentante C) è detta cancellazione del ciclo perché tale ciclo non è più aumentante per il flusso x(θ) ; Tale ciclo può però tornare ad essere aumentante per flussi generati successivamente. L algoritmo termina quando non esistono più cicli aumentanti di costo negativo: il flusso ammissibile corrente è di costo minimo.

33 Procedure Cancella-Cicli (G, c, b, u, x, caso) : begin if Flusso -Ammissibile(G, c, b, u, x) then begin while Trova-Ciclo (G, c, u, x, C, θ) do Cambia-Flusso (x, C, θ) ; caso := ottimo end else caso := vuoto end.

34 La procedura Flusso-Ammissibile determina, se esiste, un flusso ammissibile: in tal caso restituisce vero ed il flusso x, altrimenti restituisce falso. Tale procedura risolve un problema di flusso massimo con più sorgenti i S e pozzi i T aventi capacità finita u i, ossia una massima quantità di flusso che può essere immessa nella o prelevata dalla rete

35 Si utilizza un algoritmo per MF al grafo ampliato G = (N, A ) N = N {s, t} s e t sono la super-sorgente ed il super-pozzo A = A {(s, j) : j S} {(i, t) : i T} gli archi che collegano la super-sorgente ai nodi di S = {j : b j < 0} hanno capacità u sj = b j ; gli archi che collegano i nodi di T = {i : b i > 0} al super-pozzo hanno capacità u it = b i ; se il flusso massimo satura tutte le sorgenti (tutti gli archi (s, j)) e, di conseguenza, tutti i pozzi (tutti gli archi (i, t)), allora tale flusso è ammissibile per il problema del flusso di costo minimo; altrimenti non esistono flussi ammissibili

36 Dato un flusso ammissibile x, la procedura Trova-Ciclo determina, se esiste, un ciclo aumentante rispetto ad x di costo negativo: in questo caso restituisce vero ed il ciclo individuato C, con il suo verso e la sua capacità θ = θ(c, x), altrimenti restituisce falso. È dimostrato che il problema di determinare un ciclo aumentante di costo negativo in G rispetto ad x è equivalente al problema di determinare un ciclo orientato e di costo negativo in G x. Il problema diventa: come determinare un ciclo orientato e di costo negativo in G x?

37 Si risolve un problema di determinare su G x l albero dei cammini minimi con insieme di radici R = N : si considera, cioè, il grafo residuo ampliato, ottenuto aggiungendo una radice fittizia r e un arco (r, j) di costo c rj = 0 per ogni nodo j N. Con l algoritmo SPT.L in cui Q è implementato come una fila, si determina, in assenza di cicli negativi, un albero dei cammini minimi: in questo caso si ha la prova che il flusso è ottimo. Ma, in assenza di cicli negativi, un nodo non può essere esaminato (estratto da Q) più di n 1 volte; si conta, allora, il numero di estrazioni da Q di ciascun nodo: appena un nodo viene estratto per l n-esima volta, si può affermare che quel nodo appartiene ad un ciclo negativo. Il ciclo può poi essere individuato percorrendolo all indietro, a partire dal nodo trovato, per mezzo della funzione predecessore p[ ].

38 Una volta determinato il ciclo C ed il valore θ, la procedura Cambia-Flusso costruisce il nuovo flusso x(θ) = x θc. L algoritmo basato sulla cancellazione di cicli è un algoritmo di ricerca locale: l intorno di x è dato da tutti i flussi ottenibili da x inviando flusso lungo un ciclo aumentante semplice.

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

b i 1,1,1 1,1,1 0,1,2 0,3,4

b i 1,1,1 1,1,1 0,1,2 0,3,4 V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile

Dettagli

Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso

Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso Flusso di costo minimo È dato un grafo direzionato G = (N, A). Ad ogni arco (i, j) A è associato il costo c ij

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

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

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

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

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

Dettagli

1. Considerazioni generali

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

Dettagli

Parte 3: Gestione dei progetti, Shop scheduling

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

Dettagli

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

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

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona e e Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario e ed implementazione in Java Visita di un grafo e e Concetti di base Struttura

Dettagli

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

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

Dettagli

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, > Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego

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

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice. Convalida: attività volta ad assicurare che il SW sia conforme ai requisiti dell utente. Verifica: attività volta ad assicurare che il SW sia conforme alle specifiche dell analista. Goal: determinare malfunzionamenti/anomalie/errori

Dettagli

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

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

Dettagli

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

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

Test del Software. Definizione SCOPO LIMITI DEL TEST

Test del Software. Definizione SCOPO LIMITI DEL TEST Definizione! Verifica dinamica del comportamento del software rispetto a quello atteso, utilizzando un insieme finito di casi di test, appropriatamente selezionati nel dominio di tutti i casi possibili

Dettagli

I tipi di dato astratti

I tipi di dato astratti I tipi di dato astratti.0 I tipi di dato astratti c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 001/00.0 0 I tipi di dato astratti La nozione di tipo di dato

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

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Esercizi II parte Esercizio 1 Discutere la correttezza di ciascuna delle seguenti affermazioni. Dimostrare formalmente la validità

Dettagli

Esercizi Capitolo 14 - Algoritmi Greedy

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

Dettagli

Introduzione al MATLAB c Parte 2

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

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno UD 3.1b: Costrutti di un Algoritmo Dispense 1.2 I Costrutti di base 13 apr 2010

Dettagli

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

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

Dettagli

Calcolo della funzione di Sprague-Grundy

Calcolo della funzione di Sprague-Grundy Calcolo della funzione di Sprague-Grundy Paola Lorusso e Walter Mottinelli 23 aprile 2008 La funzione di Sprague-Grundy è utilizzata nella teoria dei giochi per determinare se esiste una strategia vincente

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

Metodi basati sugli autovettori per il Web Information Retrieval

Metodi basati sugli autovettori per il Web Information Retrieval Metodi basati sugli autovettori per il Web Information Retrieval HITS, PageRank e il metodo delle potenze LSI e SVD LSI è diventato famoso per la sua abilità nel permettere di manipolare i termini (all

Dettagli

Ricerca Operativa 2. Introduzione al metodo del Simplesso

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

Dettagli

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

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

Dettagli

Modelli di Programmazione Lineare. PRTLC - Modelli

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

Dettagli

Contenuto e scopo presentazione. Vehicle Scheduling. Motivazioni VSP

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

Dettagli

2) Codici univocamente decifrabili e codici a prefisso.

2) Codici univocamente decifrabili e codici a prefisso. Argomenti della Lezione ) Codici di sorgente 2) Codici univocamente decifrabili e codici a prefisso. 3) Disuguaglianza di Kraft 4) Primo Teorema di Shannon 5) Codifica di Huffman Codifica di sorgente Il

Dettagli

Problema del trasporto

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

Dettagli

Semantica Assiomatica

Semantica Assiomatica Semantica Assiomatica Anche nella semantica assiomatica, così come in quella operazionale, il significato associato ad un comando C viene definito specificando la transizione tra stati (a partire, cioè,

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

Problema dell albero di cammini minimi (SPT, Shortest Path Tree) o problema dei cammini minimi :

Problema dell albero di cammini minimi (SPT, Shortest Path Tree) o problema dei cammini minimi : Per almeno una delle soluzioni ottime { P i, i r } del problema generalizzato, l unione dei cammini P i forma un albero di copertura per G radicato in r e orientato, ossia un albero la cui radice è r i

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

Algoritmi e strutture di dati. Dispense. Corso di Laurea in Informatica. a.a. 2012-2013 Giorgio Gambosi UNIVERSITÀ DI ROMA ``TOR VERGATA''

Algoritmi e strutture di dati. Dispense. Corso di Laurea in Informatica. a.a. 2012-2013 Giorgio Gambosi UNIVERSITÀ DI ROMA ``TOR VERGATA'' Algoritmi e strutture di dati Corso di Laurea in Informatica Dispense aa 2012-2013 Giorgio Gambosi UNIVERSITÀ DI ROMA ``TOR VERGATA'' Revisione per l'aa 2013/14 a cura di Miriam Di Ianni (aggiornate al

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 18 dicembre 2007 Esercizio 1: rappresentazione di una tabella di occorrenze L obiettivo è quello di rappresentare in modo efficiente

Dettagli

Minimo Albero Ricoprente

Minimo Albero Ricoprente Minimo lbero Ricoprente Pag. 1/20 Minimo lbero Ricoprente Il problema della definizione di un Minimo lbero Ricoprente trova applicazione pratica in diverse aree di studio, quali ad esempio la progettazione

Dettagli

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

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

Dettagli

Metodi Computazionali

Metodi Computazionali Metodi Computazionali Elisabetta Fersini fersini@disco.unimib.it A.A. 2009/2010 Catene di Markov Applicazioni: Fisica dinamica dei sistemi Web simulazione del comportamento utente Biologia evoluzione delle

Dettagli

4.1 Modelli di calcolo analisi asintotica e ricorrenze

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

Dettagli

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

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Livello di Rete. Prof. Filippo Lanubile. Obiettivo Livello di Rete Circuiti virtuali e datagram La funzione di instradamento Costruzione della tabella di routing Algoritmi di routing adattivi: distance vector routing e link-state routing Routing gerarchico

Dettagli

Esercizi di Algoritmi e Strutture Dati

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

Dettagli

13. Campi vettoriali

13. Campi vettoriali 13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello

Dettagli

Appunti delle esercitazioni di Ricerca Operativa

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

Dettagli

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

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2003 Sessione straordinaria

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2003 Sessione straordinaria ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 3 Sessione straordinaria Il candidato risolva uno dei due problemi e 5 dei quesiti in cui si articola il questionario. PROBLEMA È assegnata

Dettagli

Tipologie di macchine di Turing

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

Dettagli

Approcci esatti per il job shop

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

Dettagli

Luigi Piroddi piroddi@elet.polimi.it

Luigi Piroddi piroddi@elet.polimi.it Automazione industriale dispense del corso 10. Reti di Petri: analisi strutturale Luigi Piroddi piroddi@elet.polimi.it Analisi strutturale Un alternativa all analisi esaustiva basata sul grafo di raggiungibilità,

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

Alcuni Preliminari. Prodotto Cartesiano

Alcuni Preliminari. Prodotto Cartesiano Alcuni Preliminari Prodotto Cartesiano Dati due insiemi A e B, si definisce il loro prodotto cartesiano A x B come l insieme di tutte le coppie ordinate (a,b) con a! A e b! B. Es: dati A= {a,b,c} e B={,2,3}

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

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

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

Dettagli

1. Classificazione delle risorse

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

Dettagli

Il Metodo Branch and Bound

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

Dettagli

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio Test (o analisi dinamica) Verifica parte IIA Rif. Ghezzi et al. 6.3-6.3.3 Consiste nell osservare il comportamento del sistema in un certo numero di condizioni significative Non può (in generale) essere

Dettagli

40 Algoritmi sui Grafi

40 Algoritmi sui Grafi Università degli Studi di Napoli Parthenope Corso di Laurea in Informatica A.A 2014/15 PROGETTO PROGRAMMAZIONE III 40 Algoritmi sui Grafi Relatore: Prof. Raffaele Montella Studente: Diego Parlato Matricola:

Dettagli

Minimo sottografo ricoprente. Minimo sottografo ricoprente. Minimo albero ricoprente. Minimo albero ricoprente

Minimo sottografo ricoprente. Minimo sottografo ricoprente. Minimo albero ricoprente. Minimo albero ricoprente Minimo sottografo ricoprente Minimo sottografo ricoprente Dato un grafo connesso G = (V, E) con costi positivi sugli archi c e, un minimo sottografo ricoprente è un insieme di archi E E tale che: G = (V,

Dettagli

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione presentato in questo file trova la seq. a costo minimo per

Dettagli

Fondamenti di Ricerca Operativa

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

Dettagli

Prof. Ing. Michele Marra - Appunti delle Lezioni di Ricerca Operativa Sequenze CAPITOLO II

Prof. Ing. Michele Marra - Appunti delle Lezioni di Ricerca Operativa Sequenze CAPITOLO II CAPITOLO II 2. - PROBLEMI DI SEQUENZA I problemi di sequenza si presentano ogni qualvolta vi sono delle attività che richiedono delle risorse limitate ed indivisibili e bisogna definire l'ordine secondo

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E04 Esempi di algoritmi e programmi C. Limongelli - A. Miola Novembre 2011 1 Contenuti q Somma di una sequenza di numeri interi

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

Programmazione dinamica

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

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dottssa MC De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Corso di Calcolo Numerico - Dottssa MC De Bonis

Dettagli

Note su quicksort per ASD 2010-11 (DRAFT)

Note su quicksort per ASD 2010-11 (DRAFT) Note su quicksort per ASD 010-11 (DRAFT) Nicola Rebagliati 7 dicembre 010 1 Quicksort L algoritmo di quicksort è uno degli algoritmi più veloci in pratica per il riordinamento basato su confronti. L idea

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

STRUTTURE NON LINEARI

STRUTTURE NON LINEARI PR1 Lezione 13: STRUTTURE NON LINEARI Michele Nappi mnappi@unisa.it www.dmi.unisa.it/people/nappi Per la realizzazione della presentazione è stato utilizzato in parte materiale didattico prodotto da Oronzo

Dettagli

Insiemi di livello e limiti in più variabili

Insiemi di livello e limiti in più variabili Insiemi di livello e iti in più variabili Insiemi di livello Si consideri una funzione f : A R, con A R n. Un modo per poter studiare il comportamento di una funzione in più variabili potrebbe essere quello

Dettagli

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

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

Dettagli

COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI

COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI COORDINAMENTO E GESTIONE DI PROGETTI COMPLESSI 1. - Formulazione del problema Supponiamo di dover organizzare e gestire un progetto complesso, quale puó essere la costruzione di un edificio, oppure la

Dettagli

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Appello dell 8 Febbraio 2005 Esercizio 1 (ASD) 1. Dire quale delle seguenti affermazioni è vera giustificando la risposta. (a) lg

Dettagli

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

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

Dettagli

Sommario della lezione

Sommario della lezione Università degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/33 Sommario della lezione Ancora sui cammini minimi: Cammini minimi in grafi con archi di costo negativo Algoritmi

Dettagli

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di

Dettagli

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica dei programmi La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica operazionale: associa ad ogni programma la sequenza delle sue

Dettagli

CAPITOLO 1 INTRODUZIONE ALLE RETI COMPLESSE

CAPITOLO 1 INTRODUZIONE ALLE RETI COMPLESSE CAPITOLO 1 INTRODUZIONE ALLE RETI COMPLESSE Negli ultimi anni si è compreso che sistemi anche molto diversi tra loro possono essere efficacemente descritti in termini di cosiddetti "networks" o reti complesse.

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E08 Soluzione Esercizi F. Gasparetti, C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Soluzione Esercizi

Dettagli

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica 2010-11

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica 2010-11 Modelli dei Sistemi di Produzione Modelli e lgoritmi della Logistica 00- Scheduling: Macchina Singola CRLO MNNINO Saienza Università di Roma Diartimento di Informatica e Sistemistica Il roblema /-/ w C

Dettagli

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

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

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati schifano@fe.infn.it Laurea di Informatica - Università di Ferrara 2011-2012 [1] Strutture dati Dinamiche: Le liste Una lista è una sequenza di elementi di un certo tipo in cui è possibile aggiungere e/o

Dettagli

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI

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

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni

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

Dettagli

Elementi di Informatica

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

Dettagli

1 Definizione: lunghezza di una curva.

1 Definizione: lunghezza di una curva. Abstract Qui viene affrontato lo studio delle curve nel piano e nello spazio, con particolare interesse verso due invarianti: la curvatura e la torsione Il primo ci dice quanto la curva si allontana dall

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 di Algoritmi e Strutture Dati. Grafi. Gianfranco Gallizia

Appunti di Algoritmi e Strutture Dati. Grafi. Gianfranco Gallizia Appunti di Algoritmi e Strutture Dati Grafi Gianfranco Gallizia 12 Dicembre 2004 2 Indice 1 Grafi 5 1.1 Definizione.............................. 5 1.2 Implementazione........................... 5 1.2.1

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

Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006

Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006 Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006 Esercizio 1 - Heapsort Si consideri la seguente struttura dati, chiamata heap. Essa è un albero binario semi-completo (ossia un

Dettagli

2. Routing in reti di comunicazione

2. Routing in reti di comunicazione . Routing in reti di comunicazione ROC-00/0 Capitolo. Reti di comunicazione: aspetti tecnologici ed economici.. Problemi di ottimizzazione nelle reti di comunicazione La creazione, gestione e manutenzione

Dettagli

2 Progetto e realizzazione di funzioni ricorsive

2 Progetto e realizzazione di funzioni ricorsive 2 Progetto e realizzazione di funzioni ricorsive Il procedimento costruttivo dato dal teorema di ricorsione suggerisce due fatti importanti. Una buona definizione ricorsiva deve essere tale da garantire

Dettagli