Parte 3: Gestione dei progetti, Shop scheduling

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Parte 3: Gestione dei progetti, Shop scheduling"

Transcript

1 Parte : Gestione dei progetti, Shop scheduling

2 Rappresentazione reticolare di un progetto Insieme di attività {,...,n} p i durata (nota e deterministica dell attività i) relazione di precedenza fra attività: Grafo G = (V, A) diretto (Activity on Node) aciclico aggiungiamo due nodi fittizi s e t a rappresentare l inizio e la fine del progetto; inseriamo gli archi: (s, j) per ogni nodo j che non ha archi entranti (i, t) per ogni nodo i che non ha archi uscenti associamo una lunghezza l ij = p i a ciascun arco (i, j) A

3 Durata del progetto attività durata pred. a - b - c a,b d a e d f c,e s a d b c f t e Rappresentiamo un schedule con un vettore [y,..., y n ] (istanti di inizio delle attività) La durata del progetto è quindi pari a y t y s

4 Minimizzare la durata del progetto (makespan) Formulazione PL: min y j yt y s y l ( i, j) A vincoli di precedenza i ij y i i V una sol. con qualche y i < può essere scalata, rimanendo ammissibile e di pari valore

5 Problema duale max l ij x ( i, j) A ij x ji - + (j,i) δ ( i) x ij (i,j) δ ( i) = i V \ { s, t} x sj = + ( s, j) δ ( s) x jt ( j, t) δ ( t) x ij = ( i, j) A problema del cammino di lunghezza massima da s a t in G

6 Algoritmo per il teorema della dualità forte il makespan equivale alla lunghezza del cammino massimo in G ponendo l uv := l uv equivale a calcolare un cammino da s a t di lunghezza minima G = (V, E) è aciclico, quindi il cambio di segno non introduce cicli di lunghezza negativa l albero dei cammini minimi in un grafo diretto aciclico si calcola in tempo O(m) Un vettore e(.) di interi definisce un ordinamento topologico dei nodi di G se risulta e(i) < e(j) per ogni arco (i,j) A

7 Ordinamento topologico j:= repeat j := j + Sceglie un nodo v con grado entrante pari a zero Assegna a v l etichetta e(v) := j Elimina v e i suoi archi uscenti until (esiste qualche nodo con grado entrante nullo) Se la rete rimanente contiene nodi ed archi allora G contiene un ciclo diretto Altrimenti le etichette definiscono un ordinamento topologico

8 Esempio s a d e b c f t v e(v) s a b 5 c 6 d e f t L algoritmo ha complessità O(m) [mantenendo il grado dei nodi e la lista dei nodi a grado entrante nullo]

9 Albero dei cammini minimi dato un ordinamento topologico (etichette e(.)) d(.) vettore delle distanze p(.) vettore dei predecessori Init. loop: d(s) =, d(v) =, p v = NULL, v V. for (j = to V ){ u: e(u) = j SCAN(u): forall v tale che (u,v) A if (d(v)>d(u)+l uv ) d v := d u + l uv ; p v := u; }

10 Esempio s a d e b c f t 5 5 d p s - a s b s c a d a e d f 5 e t 5 f

11 Earliest start time ponendo y v = d v, v V, si ha che y v rappresenta il minimo istante di inizio per l attività v tale da rispettare i vincoli di precedenza. Questo è detto Earliest Start Time, EST(v) EST(t) equivale quindi al minimo makespan a d e s b c 5 5 f t

12 Cammino critico Ogni cammino di lunghezza massima da s a t è detto cammino critico le attività apparenenti ad un cammino critico sono dette attività critiche: un ritardo in una di esse provoca un ritardo dell intero progetto a d e s b c 5 5 f t

13 Diagramma di Gantt a d e s b c f t 5 5 b d a c e f 5 5

14 Latest start time Tipicamente, il progetto deve essere terminato entro una data di consegna T ciò vincola ogni attività v ad essere iniziata entro un certo istante, detto Latest Start Time, LST(v) Se indichiamo δ(v) con la lunghezza del cammino massimo da v a t, si ha che LST(v) = T δ(v) s a d e δ(c) = b c f t

15 Total float La quantità LST(v) EST(v) è detta total float TF(v) s a d e δ(c) = b c f t T = 9 EST(c) = LST(c) = 6 TF(c) =

16 Trade-off tempi-costi In molti casi, una maggiore allocazione di risorse su una certa attività permette di ridurne la durata. costo pendenza d i b i durata minima a i durata nominale

17 Formulazione variabili decisionali: y i istante di inizio dell attività i, β i riduzione del tempo di processamento dell attività i Problema: determinare uno schedule tale che l intero progetto abbia durata non superiore a λ min y t y diβi i N s λ y j y a β ( i, j) i i i A β i a i b i i V

18 Formulazione min i N d y d β i i i N i i sostituzione di variabili: β i =y i β i y t y y y i j s β a ( i, j) i λ β i i i N A y i β i a i b i i N y i, β i non vincolate ogni riga ha al più un + ed un, quindi è il duale di un problema di flusso a costo minimo

19 Job Shop Scheduling insiemi J = {,...,n} di job, M={,...,m} di macchine Ogni job richiede una fissata sequenza di operazioni, ciascuna eseguita su una specifica macchina (con capacità unitaria e buffer di ingresso); cioè, visita le macchine secondo un dato instradamento Un job visita una macchina al più una volta (no-ricircolo) Problema: decidere la sequenza di processamento delle operazioni su ciascuna macchina in modo da minimizzare il makespan

20 Notazione (i, j), i M, j J operazione p ij durata dell operazione (i, j) N insieme di tutte le operazioni (se ogni job visita tutte le macchine esattamente una volta N = nm) m j numero di macchine visitate dal job j (i(j,),...,i(j,m j )) instradamento di j (sequenza delle macchine che visita) J(i) insieme dei job che visitano la macchina i

21 Esempio job i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] A [] [] [] B [] [] [] Una soluzione: A precede B sulla macchina A precede B sulla macchina A B B A A A B 5 B se B precedesse A sulla macchina?

22 Caso particolare: Flow Shop Tutti i job hanno la stessa sequenza (,,, m) di visita delle macchine J m- m Il buffer di ingresso consente i sorpassi: la sequenza di processamento della macchina i + può essere diversa da quella sulla macchina i. Il numero di soluzioni è pari a (n!) m Nel caso senza buffer (no-wait) ci sono n! soluzioni

23 Formulazione disgiuntiva A insieme delle coppie (i(j,h), j),(i(j,h+), j), h =,,m j, j=,,n t ij R n istante di inizio dell operazione ij minc max C max t + p ( i, j) ij ij N t rj t p ( i, j),( r, j) ij ij A t ij t ik p ik or t ik t ij p ij ( i, j),( i, k) N t ij ( i, j) N

24 i y jk = Formulazione PLM Se il job j precede k sulla macchina i altrimenti minc max C t t rj t ij t ij max ik t p ( i, j),( r, j) t t + p ( i, j),( r, j) ij t ik ij ij ij ij + M( y + My i jk ( i, j) N i jk p ) ik p i ij A i N M,( i, M,( i, j),( i, k) j),( i, k) N N

25 Esempio job i() [p i(),j ] i() [p i(),j ] i() [p i(),j ] i() [p i(),j ] [] [] [] [] [] [5] [6] [] [] []

26 Grafo disgiuntivo G = (N {s,z},a, D) grafo diretto s (sorgente) e z (pozzo) A archi congiuntivi rappresentano la relazione di precedenza fra le operazioni di ciascun job j (i(j,h), j) (i(j,h+), j), h =,,m j in aggiunta, per ogni j J, gli archi s (i(j, ), j) (i(j, m j ), j) z dalla sorgente alle prime operazioni dalle ultime operazioni al pozzo

27 Esempio (archi congiuntivi) job i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] [] [] [] [] [] [5] [6] [] [] [],,, s,,,, z,,,

28 Archi disgiuntivi G = ( N { s, z}, A, D) Rappresentano la sequenza dei job su ciascuna macchina per ogni coppia di operazioni da eseguirsi sulla macchina i, l arco (i,j) (i,k) indica che l operazione (i,j) precede (i,k) Per ogni macchina i M, e ciascuna coppia j,k di job in J(i), D contiene una coppia (disgiuntiva) di archi ( i, j) ( i, k) ( i, k) ( i, j) D(i) = {archi disgiuntivi associati alla macchina i}, inducono una clique in G

29 Esempio (archi disgiuntivi) job i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] [] [] [] [] [] [5] [6] [] [] [],,, s,,,, z,,,

30 Lunghezza degli archi job i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] [] [] [] [] [] [5] [6] [] [] [],,, 5 6 s,, 5,, z 6 5,,, Ad ogni arco (i,j) (h,k) si associa una lunghezza pari a p ij

31 Selezione Definizione. Un insieme S i D i che contiene esattamente un elemento per ciascuna coppia disgiuntiva è detto selezione della macchina i. S i è aciclica se (il grafo parziale) non contiene cicli orientati. Una selezione aciclica S i corrisponde (biunivocamente) ad un sequenziamento delle operazioni sulla macchina i.,,, S s,,,, z,,,

32 Schedule ammissibili Definizione. L unione degli archi congiuntivi e delle selezioni S i, i M, è detta selezione completa. Gli schedule ammissibili corrispondono biunivocamente alle selezioni complete acicliche,,, s,,,, z schedule non ammissibile,,,

33 Selezioni complete e schedule ammissibili,,, s 5,,,, 6 z lunghezza del cammino critico,,, = makespan

34 Riformulazione Job shop scheduling: trovare una selezione completa aciclica che minimizzi la lunghezza del cammino critico Oss. Valutare una soluzione (selezione completa) richiede la Oss. Valutare una soluzione (selezione completa) richiede la soluzione di un problema di ottimizzazione (calcolo del cammino critico)

35 Cicli Una selezione completa può formare cicli anche se le selezioni S i sono tutte acicliche,,, s,,,, z,,, Quindi, non è immediato progettare algoritmi che decompongono il problema per macchine

36 Lower bound I Supponiamo di aver scelto una selezione aciclica S i, per i M M. Poniamo S(M ) = i M S i Definiamo G(M ) il grafo parziale formato dagli archi congiuntivi e dagli archi in S(M ) Supponiamo che G(M ) sia aciclico e sia C max (M ) la lunghezza del cammino critico in G(M ) Proprietà. C max (M ) è un lower bound di C max quando le operazioni su ciascuna macchina i M sono sequenziate secondo S i Infatti, ciò equivale a considerare a capacità infinita le macchine in M\M

37 Esempio M = {},,, s,,, 5 6, z S,,, C max (M ) = lower bound per C max nel caso in cui la macchina processa le operazioni secondo S

38 Lower bound II Supponiamo di aver scelto una selezione aciclica S i, per i M M. Poniamo S = i M S i Teniamo adesso conto dell effetto di sequenziare un ulteriore macchina Per ogni operazione (i,j), i M, poniamo r ij =EST M (i,j) primo istante ammissibile per l operazione (i,j) fissate S i, i M d ij = LST M (i,j) + p ij due date per l operazione (i,j) affinché C max C max (M )

39 M = {} C max (M ) = Esempio,,, s,,, 5 6, z S,,, operazione (,) (,) (,) (,) (,) (,) (,) p ij 5 6 r ij d ij 9 9

40 /r j /L max le operazioni (k,j), j J(k) associate ad una macchina k, con release date r (k,j) e due date d (k,j), identificano un istanza del problema/r j /L max Definiamo L max (k) il suo valore ottimo Esempio. k = Op. (,) (,) (,) p ij 5 r ij 9 d ij 9 (,) 5 (,) L max (k) = (,)

41 Lower bound II Proprietà. C max (M ) + L max (k) è un lower bound di C max quando le operazioni su ciascuna macchina i M sono sequenziate secondo S i Infatti, la selezione S k è scelta in modo da minimizzare il ritardo sul makespan, mentre tutte le altre macchine (M\M \{k}) sono assunte a capacità infinita il miglior lower bound si ottiene calcolando L max (k), per k M e scegliendo il massimo fra questi valori: L max (k*) = max k M {L max (k)}

42 Lower Bound II indichiamo con S*(k) la selezione associata alla soluzione ottima Aggiungendo gli archi S*(k) al grafo la lunghezza LB del cammino critico aumenta di L max (k) L max (k=) =,,, s,,, 5 6, z S 5,,, C max (M ) = LB =

43 Euristica Shifting Bottleneck Costruisce una selezione completa aciclica construendo iterativamente selezioni parziali acicliche M insieme delle macchine già sequenziate inizializzazione M = Passo generico: Costruisce il grafo G(M ) e calcola C max (M ) sceglie la macchina critica (bottleneck) k* = argmax k M {L max (k)} fissa (definitivamente) la selezione S*(k*) M := M {k*}

44 Validità Teorema. Gli archi orientati associati alla soluzione ottima di un problema a macchina singola non creano cicli nel grafo G(M ). Conseguenza: la selezione completa ottenuta dalle selezioni acicliche generate nelle singole iterazioni è aciclica.

45 Esempio job m j () [p m(),j ] m j () [p m(),j ] m j () [p M(),j ] m j () [p M(),j ] [] [] [] [] [] [5] [6] [] [] [] init. M = G(M ) s,,,,,,, z 5 6,,,

46 Esempio Iter. Calcola C max, r ij, d ij C max (M ) = s,,, [, ] [, ] [5, ] 5 6,,,, z [, ] [, ] [, 6] [6, ],,, [, ] [, 9] [5, ]

47 Iter : problemi /r j /L max Job Job p j p j 5 r j r j d j d j 6 9 Job Job p j 6 p j r j 5 6 d j r j 5 d j

48 /r j /L max macchina Job p j r j d j PEDD restituisce la soluzione ammissibile:

49 /r j /L max macchina Job p j 5 r j d j 6 9 PEDD restituisce la soluzione non ammissibile: 5 6 Soluzione ottima: 5-6 L max = 6

50 /r j /L max macchina Job p j 6 r j 5 6 d j Soluzione ottima: 5 9 5

51 /r j /L max macchina Job p j r j 5 d j Soluzione ottima 5

52 iter. Iter. Calcola C max M = {} s,,,,,,, z,,, 5 6 C max (M ) =

53 iter. s Iter. Calcola r ij, d ij M = {} [, 6] [6, ],,, 5 C max (M ) =,,,, z [, ] [, ] [6, ],,, [, ] [5, ] 6

54 Iter : problemi /r j /L max Job p j 5 r j d j 6 Job p j 6 r j 6 6 d j Job p j r j 5 d j

55 /r j /L max macchina Job p j 5 r j d j 6 Soluzione ottima: 5

56 /r j /L max macchina Job p j 6 r j 6 6 d j Soluzione ottima: 6 6

57 /r j /L max macchina Job p j r j 5 d j Soluzione ottima: 5

58 iter. Iter. Calcola C max M = {,} s,,, 5 5,,,, z 6,,, C max (M ) =

59 Iter. Calcola r ij, d ij M = {,} C max (M ) = s iter. [6, ],,, 5,,,, z [, ] [, ],,, 6 [5, ]

60 Iter : problemi /r j /L max Job Job p j 6 r j 6 d j p j r j 5 d j 6 5

61 Iter. Iter. Calcola r ij, d ij M = {,,} s,,, ,,,, z [, ],,, C max (M ) = [5, ]

62 STOP M = {,,, } La soluzione calcolata è: s,,, 5 6 5,,,, z,,, 6 C max (M ) =

63 Operazioni su schedule Due operazioni trasformano uno schedule ammissibile in un altro schedule ammissibile: shift: anticipa un operazione jump: anticipa un operazione in un intervallo in cui la macchina è ferma modificando la sequenza

64 Schedule attivi Definizione. Uno schedule ammissibile si dice attivo se nessuna operazione può essere anticipata mediante uno shift o un jump senza ritardare un altra operazione

65 Branch-and-bound Esiste uno schedule ottimo che è attivo, quindi restringiamo la ricerca agli schedule attivi ad ogni livello dell albero di enumerazione si fissa un operazione le operazioni fissate ad un dato sottoproblema formano uno schedule parziale un operazione si dice disponibile se tutte le operazioni che la precedono sono state schedulate. AO = insieme delle operazioni disponibili

66 Branching step (inizializzazione) calcola l insieme AO e r ij per ogni (i,j) AO step (selezione della macchina) calcola t(ao) = min (i,j) AO {r ij + p ij } = r i*j + p i*j step (branching) BO = {operazioni (i*,j) AO tali cher i*j <t(ao)} per ogni operazione in BO: genera un sottoproblema fissando tale operazione come successiva

67 Esempio job i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] i(j,) [p i(j,),j ] [] [] [] [] [] [5] [6] [] [] [] nodo radice:,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao) = min{+, +, +} =, i* = r, = BO = {(,)} branching: genera un singolo sottoproblema A fissando l operazione (,)

68 nodo A:,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao) = min{+, +, +} =, i* = r, =, r, =, r, = BO={(,), (,)} (,) A (,) (,) B C

69 nodo B:,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao)=min{+,+,+} =, i* = r, =, r, = BO = {(,),(,)} sottoproblemi D,E nodo C:,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao) =min{+, +, +} =, i* = r, =, r, = BO = {(,),(,)} sottoproblemi F,G

70 (,) A (,) (,) B (,) (,) C (,) (,) D E F G

71 nodo D,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao)=min{+, +, +} =, i* = r, =, r, = BO = {(,),(,)} sottoproblemi H,I nodo E,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao)=min{9+,+, +} = 5, i* = r, =, r, = BO = {(,),(,)} sottoproblemi J,K

72 (,) A (,) (,) B (,) (,) C (,) (,) D (,) (,) E (,) (,) F G H I J K

73 nodo F,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao) =min{9+, +, 9+} = 5, i* = r, =, r, =9 BO = {(,)} sottoproblema L nodo G,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao) =min{+, +5, +} = 5, i* = r, =, r, = BO = {(,),(,)} sottoproblemi M,N

74 (,) A (,) (,) B (,) (,) C (,) (,) D (,) (,) (,) (,) E (,) F G (,) (,) H I J K L M N

75 nodo H,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao)=min{+, 5+5, 5+} = 9, i* = r, =5 BO = {(,)} sottoproblema O nodo I,,, s,,,, z 5,,, AO = {(,),(,),(,)} t(ao)=min{+, 9+, +5} = 9, i* = r, = BO = {(,)} sottoproblema P

76 (,) A (,) (,) B (,) (,) C (,) (,) D (,) (,) (,) (,) E (,) F G (,) (,) (,) H I J K L (,) M N O P

77 nodo J,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao)=min{9+,5+, 5+} = 9, i* = r, =5 BO = {(,)} sottoproblema R nodo K,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao)=min{9+,5+, 5+} =, i* = r, =5 BO = {(,)} sottoproblema S

78 (,) A (,) (,) B (,) (,) C (,) (,) D (,) (,) (,) (,) E (,) F G (,) (,) H I J K L (,) (,) (,) (,) M N O P R S

79 nodo L,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao) =min{9+, 9+, 5+} =, i* = r, =5 BO = {(,)} sottoproblema T

80 nodo M,,, s,,,, z 5,,, AO = {(,),(,),(,)} t(ao) =min{+, 6+6, +} = 5, i* = r, = BO = {(,)} sottoproblema U nodo N,,, 5 6 s,,,, z,,, AO = {(,),(,),(,)} t(ao) =min{+, 5+5, 5+} =, i* = r, =5 BO = {(,)} sottoproblema V

81 (,) A (,) (,) B (,) (,) C (,) (,) D (,) (,) (,) (,) E (,) F G (,) (,) H I J K L (,) (,) (,) (,) (,) O P R S T (,) M U (,) N V

82 nodo O,,, 5 6 s,,,, z,,, AO = {(,),(,)} t(ao)=min{+, 5+5} =, i* = r, =5 BO = {(,)} sottoproblema W nodo P,,, s,,,, z 5,,, AO = {(,),(,)} t(ao)=min{+, 9+} =, i* = r, = BO = {(,)} sottoproblema X

83 nodo R,,, 5 6 s,,,, z,,, AO = {(,),(,)} t(ao)=min{9+, 5+} =, i* = r, =9 BO = {(,)} sottoproblema Y nodo S,,, 5 6 s,,,, z,,, AO = {(,),(,)} t(ao)=min{9+,5+} = 9, i* = r, =5 BO = {(,)} sottoproblema Z

84 nodo T,,, 5 6 s,,,, z,,, AO = {(,),(,)} t(ao) =min{9+, 9+} =, i* = r, =9 BO = {(,)} sottoproblema α

85 nodo U,,, s,,,, z 5,,, AO = {(,),(,)} t(ao) =min{+, 6+6} =, i* = r, =6 BO = {(,)} sottoproblema β nodo V,,, 5 6 s,,,, z,,, AO = {(,),(,)} t(ao) =min{+, 5+5} =, i* = r, =5 BO = {(,)} sottoproblema χ

86 (,) A (,) (,) B (,) (,) C (,) (,) D (,) (,) (,) (,) E (,) F G (,) (,) H I J K L (,) (,) (,) (,) (,) O P R S T (,) (,) (,) (,) (,) W X Y Z α (,) (,) M U β (,) (,) N V χ

87 Regole di dispatching FCFS (First Come First Served): ogni macchina esegue l operazione processabile secondo l ordine di arrivo MWR (Most Work Remaining): fra le operazioni processabili, ogni macchina processa quella con il maggior tempo di processamento residuo (di tutte le operazioni rimanenti del job) SPT (Shortest Processing Time): ogni macchina processa l operazione disponibile più breve

88 Esempio: FCFS job i() [p i(),j ] i() [p i(),j ] i() [p i(),j ] i() [p i(),j ] [] [] [] [] [] [5] [] [] [] [] t = :

89 Esempio: FCFS job m j () [p m(),j ] m j () [p m(),j ] m j () [p M(),j ] m j () [p M(),j ] [] [] [] [] [] [5] [] [] [] [] t = :

90 Esempio: FCFS job m j () [p m(),j ] m j () [p m(),j ] m j () [p M(),j ] m j () [p M(),j ] [] [] [] [] [] [5] [] [] [] [] t = : 5 9

91 Esempio: FCFS job m j () [p m(),j ] m j () [p m(),j ] m j () [p M(),j ] m j () [p M(),j ] [] [] [] [] [] [5] [] [] [] [] t = 5: 5 9

92 Esempio: FCFS job m j () [p m(),j ] m j () [p m(),j ] m j () [p M(),j ] m j () [p M(),j ] [] [] [] [] [] [5] [] [] [] [] t = 9: 5 9 6

93 Esempio: FCFS job m j () [p m(),j ] m j () [p m(),j ] m j () [p M(),j ] m j () [p M(),j ] [] [] [] [] [] [5] [] [] [] [] t = : 5 9 6

94 Esempio: FCFS job m j () [p m(),j ] m j () [p m(),j ] m j () [p M(),j ] m j () [p M(),j ] [] [] [] [] [] [5] [] [] [] [] t = 6:

95 Esempio: FCFS job m j () [p m(),j ] m j () [p m(),j ] m j () [p M(),j ] m j () [p M(),j ] [] [] [] [] [] [5] [] [] [] [] t = :

96 Selezione completa FCFS s,,, 5,,,, z,,, Cammino critico s-(,)-(,)-(,)-(,)-(,)-z di lunghezza 5

97 Ricerca Locale Teorema. Sia S una soluzione ammissibile (selezione completa aciclica) e (i, j) un arco disgiuntivo di un cammino critico del grafo G(S). Allora, sostituendo (i, j) con (j, i) si ottiene una nuova selezione completa aciclica (cioè una nuova soluzione ammissibile) Il vicinato di una soluzione S è definito come l insieme delle soluzioni ottenibili scambiando il verso di un arco disgiuntivo appartenente ad un cammino critico. Teorema. Per ogni soluzione S esiste una sequenza finita di mosse che genera una soluzione ottima

98 FCFS: soluzione di partenza s,,, 5,,,, z,,, Cammino critico s-(,)-(,)-(,)-(,)-(,)-z di lunghezza 5 Due possibili mosse: (,)-(,) oppure (,)-(,). La seconda produce una soluzione di costo (provare)

99 mossa : peggiorativa s,,, 5,,,, z,,, Scambio arco (,)-(,) di lunghezza con (,)-(,) di lunghezza Cammino critico s-(,)-(,)-(,)-(,)-(,)-(,)-z di lunghezza 9

100 mossa s,,, 5,,,, z,,, Scambio arco (,)-(,) di lunghezza con (,)-(,) di lunghezza Cammino critico s-(,)-(,)-(,)-(,)-(,)-z di lunghezza (!!)

101 Soluzione dopo mosse: migliora FCFS FCFS Ricerca Locale 5 9

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

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

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

Esercizi e complementi di Ottimizzazione nella Gestione dei Progetti

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

Dettagli

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

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

Dettagli

APPLICAZIONI DELLA RICERCA OPERATIVA

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

Dettagli

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

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

Dettagli

SCHEDULING SCHEDULING

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

Dettagli

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

CAPITOLO 6 La programmazione operativa (operations scheduling)

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

Dettagli

Esercizi di Ricerca Operativa I

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

Dettagli

Organizzazione della produzione

Organizzazione della produzione Scheduling Organizzazione della produzione PROOTTO che cosa chi ORGNIZZZIONE PROCESSO come FLUSSO I PROUZIONE COORINMENTO PINIFICZIONE SCHEULING quando Pianificazione della produzione: schedulazione di

Dettagli

Gestione delle Scorte

Gestione delle Scorte Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Gestione delle Scorte Renato Bruni bruni@dis.uniroma.it Il materiale presentato è derivato da quello dei proff.

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

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 19/01/2016 Esame di Ricerca Operativa del 19/01/201 (Cognome) (Nome) (Matricola) Esercizio 1. Una banca offre ai suoi clienti diversi tipi di prestito: mutuo casa, credito auto, credito famiglia, che rendono un interesse

Dettagli

Schedulazione di attività in presenza di attività interrompibili

Schedulazione di attività in presenza di attività interrompibili Schedulazione di attività in presenza di attività interrompibili Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR 1102/2010 La gestione dell informazione

Dettagli

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique CPM - PERT CPM - PERT CPM e PERT sono metodologie per la gestione di progetti composti da più attività in cui esistano relazioni di precedenza. Critical Path Method Project Evaluation and Review Technique

Dettagli

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

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

Dettagli

Tecniche Reticolari. Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima

Tecniche Reticolari. Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima Project Management Tecniche Reticolari Metodologie per risolvere problemi di pianificazione di progetti Progetto insieme di attività A i di durata d i, (=,...,n) insieme di relazioni di precedenza tra

Dettagli

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 19/01/2016 Esame di Ricerca Operativa del 9/0/06 (Cognome) (Nome) (Matricola) Esercizio. Una banca offre ai suoi clienti diversi tipi di prestito: mutuo casa, credito auto, credito famiglia, che rendono un interesse

Dettagli

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

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

Dettagli

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

Automazione Industriale (scheduling+mms) scheduling+mms

Automazione Industriale (scheduling+mms) scheduling+mms Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o

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

APPUNTI SUI METODI PERT-C.P.M.

APPUNTI SUI METODI PERT-C.P.M. APPUNTI SUI METODI PERT-C.P.M. (corso di ricerca operativa) A cura di: Antonio Scalera 1 PERT/C.P.M. I metodi Pert e C.P.M. studiano lo sviluppo di un progetto attraverso la programmazione delle attività

Dettagli

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

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

Dettagli

Il problema del commesso viaggiatore

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

Dettagli

Sistemi Organizzativi

Sistemi Organizzativi Sistemi Organizzativi Lezione 12/12/2004 Introduzione al corso e definizioni di base Informazioni generali Pre-requisiti: lassi di complessità Metodi enumerativi: - programmazione dinamica - branch-and-bound

Dettagli

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

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

Dettagli

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

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

Dettagli

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

Introduzione alla teoria dello scheduling

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

Dettagli

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

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

Dettagli

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

Sistemi Organizzativi docente: Stefano Smriglio stefano.smriglio@univaq.it

Sistemi Organizzativi docente: Stefano Smriglio stefano.smriglio@univaq.it Sistemi Organizzativi docente: Stefano Smriglio stefano.smriglio@univaq.it Pre-requisiti: Classi di complessità Programmazione Lineare (Intera) Metodo branch-and-bound Cammini minimi su grafi Materiale

Dettagli

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

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

Dettagli

Principi di Schedulazione in tempo reale

Principi di Schedulazione in tempo reale Principi di Schedulazione in tempo reale 1 Task in tempo reale Un task t i è una sequenza di processi in tempo reale τ ik ciascuno caratterizzato da q un tempo d arrivo r ik (r=release time, oppure a=arrival

Dettagli

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

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

Dettagli

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

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

2.3.4 Pianificazione di progetti

2.3.4 Pianificazione di progetti .. Pianificazione di progetti Un progetto è costituito da un insieme di attività i, con i =,..., m, ciascuna di durata d i. stima Tra alcune coppie di attività esistono relazioni di precedenza del tipo

Dettagli

Ricerca Operativa A.A. 2007/2008

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

Dettagli

Modelli di Sistemi di Produzione. La Linea di Produzione. A cura di: Ing. Massimiliano Caramia Ing. Riccardo Onori

Modelli di Sistemi di Produzione. La Linea di Produzione. A cura di: Ing. Massimiliano Caramia Ing. Riccardo Onori Modelli di Sistemi di Produzione La Linea di Produzione A cura di: Ing. Massimiliano Caramia Ing. Riccardo Onori Capitolo 1 La linea di produzione Come detto nel capitolo precedente una linea di produzione

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

Ottimizzazione Multi Obiettivo

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

Dettagli

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

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

Dettagli

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

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

ESERCIZI SULLO SCHEDULING DEL CORSO DI AUTOMAZIONE INDUSTRIALE

ESERCIZI SULLO SCHEDULING DEL CORSO DI AUTOMAZIONE INDUSTRIALE ESERCIZI SULLO SCHEDULING DEL CORSO DI AUTOMAZIONE INDUSTRIALE Spt-Edd (La parte teorica necessaria a svolgere questi esercizi fa riferimento alla lezione n 10 del corso di Automazione Industriale tenute

Dettagli

Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di Network design

Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di Network design Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di Network design Network Design È data una rete rappresentata su da un grafo G = (V, A) e un insieme di domande K, ciascuna

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

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

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

Dettagli

ESERCIZI SULLO SCHEDULING DEI PROCESSI

ESERCIZI SULLO SCHEDULING DEI PROCESSI ESERCIZI SULLO SCHEDULING DEI PROCESSI Esercizio 1 Esercizio 2 una priorità maggiore) e 4) RR (quanto=1). Esercizio 3 1 una priorità maggiore) e 4) RR (quanto=1). Esercizio 4 Esercizio 5 2 Esercizio 6

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

Ottimizzazione nella gestione dei progetti

Ottimizzazione nella gestione dei progetti Ottimizzazione nella gestione dei progetti Capitolo 2: Reti di attività CARLO MANNINO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica Definizioni di ase Il Progetto è costituito

Dettagli

Programmazione della produzione MT MT

Programmazione della produzione MT MT Programmazione della produzione Architettura gerarchica del processo di programmazione M P S livello 1 - livello di fabbrica orizzonte temporale lungo (12-24 mesi) Master Production Schedule n settimane

Dettagli

MRP. Pianificazione della produzione. Distinta base Bill Of Materials (BOM) MPS vs. MRP. Materials Requirements Planning (MRP)

MRP. Pianificazione della produzione. Distinta base Bill Of Materials (BOM) MPS vs. MRP. Materials Requirements Planning (MRP) MRP Pianificazione della produzione Materials Requirements Planning (MRP) 15/11/2002 16.58 Con l MRP si decide la tempificazione delle disponibilità dei materiali, delle risorse e delle lavorazioni. MRP

Dettagli

Schedulazione delle attività di un progetto in presenza di multi-calendari

Schedulazione delle attività di un progetto in presenza di multi-calendari Schedulazione delle attività di un progetto in presenza di multi-calendari Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR 1102/2010 La gestione dell

Dettagli

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

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

Dettagli

Grafi. Moreno Marzolla Dip. di Informatica Scienza e Ingegneria Università di Bologna. moreno.marzolla@unibo.it http://www.moreno.marzolla.

Grafi. Moreno Marzolla Dip. di Informatica Scienza e Ingegneria Università di Bologna. moreno.marzolla@unibo.it http://www.moreno.marzolla. Grafi Moreno Marzolla ip. di Informatica Scienza e Ingegneria Università di ologna moreno.marzolla@unibo.it http://www.moreno.marzolla.name/ opyright lberto Montresor, Università di Trento, Italy (http://www.dit.unitn.it/~montreso/asd/index.shtml)

Dettagli

Modelli di Sistemi di Produzione:

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

Dettagli

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

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

7.1 Il problema del cammino minimo e alcuni esempi di applicazioni. p(u, v). Il problema del cammino minimo può essere enunciato nel modo seguente:

7.1 Il problema del cammino minimo e alcuni esempi di applicazioni. p(u, v). Il problema del cammino minimo può essere enunciato nel modo seguente: Capitolo 7 Cammini minimi Come abbiamo accennato nel capitolo precedente, il linguaggio dei grafi permette di rappresentare in modo semplice la struttura di molti problemi applicativi, consentendo, in

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

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

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

Dettagli

Dispense del corso di Modelli di Sistemi di Produzione 1. A cura di Massimiliano Caramia

Dispense del corso di Modelli di Sistemi di Produzione 1. A cura di Massimiliano Caramia Dispense del corso di Modelli di Sistemi di Produzione 1 A cura di Massimiliano Caramia Versione preliminare aggiornata al 14 ottobre 2000 Chapter 1 Introduzione 1.1 Descrizione dei principali sistemi

Dettagli

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Concetti fondamentali L obiettivo della multiprogrammazione è di avere processi sempre in esecuzione al fine di

Dettagli

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

Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di Localizzazione Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di Localizzazione Posizionamento di antenne È dato un insieme A di possibili siti in cui installare antenne, a ciascuno

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

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

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

Dettagli

La pianificazione della produzione

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

Dettagli

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

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

Dettagli

Algoritmi 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

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

Schedulazione delle attività di un progetto in presenza di multi-calendari e di vincoli sulle risorse

Schedulazione delle attività di un progetto in presenza di multi-calendari e di vincoli sulle risorse Schedulazione delle attività di un progetto in presenza di multi-calendari e di vincoli sulle risorse Maria Silvia Pini Resp. accademico: Prof.ssa Francesca Rossi Università di Padova Attività FSE DGR

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

- 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

5. Problemi di Ottimizzazione e Programmazione Matematica

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

Dettagli

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

Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali. Sistemi informativi aziendali

Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali. Sistemi informativi aziendali Corso Sistemi Informativi Aziendali,. Sistemi informativi aziendali di Simone Cavalli (simone.cavalli@unibg.it) Bergamo, Febbraio - Marzo 2009 Produzione (cenni) Pagina 2 Produzione La produzione, in termini

Dettagli

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

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

Dettagli

Bilanciamento dei carichi di lavoro

Bilanciamento dei carichi di lavoro Bilanciamento dei carichi di lavoro Dispensa per il modulo di Analisi e Ottimizzazione dei Processi di Produzione Università di Roma Tor Vergata a cura di Andrea Pacifici A.A. 2003-04 Sommario Il problema

Dettagli

Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma

Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma Corso di Ricerca Operativa per il Corso di Laurea Magistrale

Dettagli

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

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

Dettagli

3. Gli algoritmi di ottimizzazione.

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

Dettagli

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

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

0 A B I C O L M P E Q R F G D H N *

0 A B I C O L M P E Q R F G D H N * UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Modelli di Sistemi di Produzione I scritti d'esame appelli 2004/05 e 2005/06 Esercizio 1 job 3: I (M 1, 3) L (M 2, 4) M (M 3, 11)

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

Esempi di modelli di programmazione lineare (intera) 2014

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

Dettagli

Metodi e Modelli per la Simulazione

Metodi e Modelli per la Simulazione UNIVERSITA DEGLI STUDI ROMA TRE Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale e dell Automazione Metodi e Modelli per la Simulazione Simulazioni e Analisi di euristiche di scheduling su

Dettagli

1 Inefficienza degli equilibri

1 Inefficienza degli equilibri Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10 Lecture 8: 9 Aprile 2010 Inefficienza degli equilibri Docente Prof. Vincenzo Auletta Note redatte da: Carmine Giordano Abstract In questa

Dettagli

Lezioni di Ricerca Operativa

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

Dettagli

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

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

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

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

Dettagli

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

Le tecniche di scheduling (1)

Le tecniche di scheduling (1) Le tecniche di scheduling (1) Sono la base di tutto il processo di pianificazione, e fornisco al management gli elementi per decidere come utilizzare le risorse per raggiungere gli obiettivi di costo e

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