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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Introduzione Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Il problema del massimo flusso è uno dei fondamentali problemi nell ottimizzazione su rete. Esso è presente

Dettagli

Esercizi 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

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

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

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

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

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

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

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

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

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

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

Dettagli

Modelli di Programmazione 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

,""m,""nj F... n dove nj è il numero di job assegnato alla macchina j e L:::i=1 nj = n. Ed

,m,nj F... n dove nj è il numero di job assegnato alla macchina j e L:::i=1 nj = n. Ed ~~~~, - 1.6 Macchine in parallelo Consideriamo il problema P/ /F. Abbiamo cioè n job, disponibili per la lavorazione contemporaneamente ed abbiamo a disposizione, invece di una singola macchina, m macchine

Dettagli

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi Problemi di soddisfacimento di vincoli Maria Simi a.a. 2014/2015 Problemi di soddisfacimento di vincoli (CSP) Sono problemi con una struttura particolare, per cui conviene pensare ad algoritmi specializzati

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

RISOLUZIONE TRAMITE ALGORITMO EURISTICO DEL PROBLEMA DEL TRASPORTO DELLE PELLI FRESCHE DAI MACELLI ALLA CONCERIA

RISOLUZIONE TRAMITE ALGORITMO EURISTICO DEL PROBLEMA DEL TRASPORTO DELLE PELLI FRESCHE DAI MACELLI ALLA CONCERIA UNIVERSITÀ DEGLI STUDI DI PADOVA Facoltà di Ingegneria Gestionale DIPARTIMENTO DI TECNICA E GESTIONE DEI SISTEMI INDUSTRIALI Tesi di Laurea Triennale RISOLUZIONE TRAMITE ALGORITMO EURISTICO DEL PROBLEMA

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

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

Sistemi Operativi. ugoerr+so@dia.unisa.it 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi. ugoerr+so@dia.unisa.it 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08 Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 5 LEZIONE SCHEDULING DELLA CPU CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione Introduzione

Dettagli

Introduzione ai problemi di Scheduling

Introduzione ai problemi di Scheduling Introduzione ai problemi di Scheduling A. Agnetis December 12, 2000 1 Introduzione Con il termine scheduling si intende una vasta classe di problemi, molto diversi tra loro per complessitµa e struttura.

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

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

Ottimizzazione topologica di reti di tipo Internet Protocol con il metodo del Local Branching

Ottimizzazione topologica di reti di tipo Internet Protocol con il metodo del Local Branching POLITECNICO DI TORINO I Facoltà di Ingegneria Corso di Laurea in Matematica per le Scienze dell Ingegneria Tesi di Laurea Ottimizzazione topologica di reti di tipo Internet Protocol con il metodo del Local

Dettagli

Corso di Automazione Industriale 1. Capitolo 3

Corso di Automazione Industriale 1. Capitolo 3 Simona Sacone - DIST Corso di Automazione Industriale 1 Capitolo 3 Modelli di processi produttivi a livello decisionale operativo e di controllo Simona Sacone - DIST 2 Modelli di sistemi di produzione

Dettagli

Il Project management. Lo sviluppo di attività complesse in un ottica di progetto

Il Project management. Lo sviluppo di attività complesse in un ottica di progetto Il Project management Lo sviluppo di attività complesse in un ottica di progetto Progetto. La nozione Un progetto costituisce un insieme di attività, complesse e interrelate, aventi come fine un obiettivo

Dettagli

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT)

Scheduling Introduzione Tipi di scheduler Scheduler di lungo termine (SLT) Scheduler di medio termine (SMT) Scheduler di breve termine (SBT) Scheduling Introduzione Con scheduling si intende un insieme di tecniche e di meccanismi interni del sistema operativo che amministrano l ordine in cui il lavoro viene svolto. Lo Scheduler è il modulo

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

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi euristici di ottimizzazione combinatoria

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi euristici di ottimizzazione combinatoria Metodi e Modelli per l Ottimizzazione Combinatoria Metodi euristici di ottimizzazione combinatoria L. De Giovanni 1 Introduzione I metodi visti finora garantiscono, almeno in linea teorica, di risolvere

Dettagli

Sistemi Real-Time Ing. Rigutini Leonardo

Sistemi Real-Time Ing. Rigutini Leonardo Sistemi Real-Time Ing. Rigutini Leonardo Dipartimento di Ingegneria dell informazione Università di Siena Sistema Real-Time Sistema in cui la correttezza non dipende solamente dai valori di output ma anche

Dettagli

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete Funzioni in due variabili Raccolta di FAQ by Andrea Prevete 1) Cosa intendiamo, esattamente, quando parliamo di funzione reale di due variabili reali? Quando esiste una relazione fra tre variabili reali

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

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

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

Problemi di Programmazione Lineare Intera

Problemi di Programmazione Lineare Intera Capitolo 4 Problemi di Programmazione Lineare Intera La Programmazione Lineare Intera (PLI) tratta il problema della massimizzazione (minimizzazione) di una funzione di più variabili, soggetta a vincoli

Dettagli

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

Ricerca Operativa e Logistica

Ricerca Operativa e Logistica Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 2011/2012 Lezione 10: Variabili e vincoli logici Variabili logiche Spesso nei problemi reali che dobbiamo affrontare ci sono dei

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

Gestione dei flussi di traffico aereo

Gestione dei flussi di traffico aereo Gestione dei flussi di traffico aereo Daniele Vigo DEIS Università di Bologna 1 Trasporto aereo in Europa In tutto il mondo sono trasportate per via aerea merci per un valore di 1500 miliardi di dollari

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

Ambienti più realistici. Ricerca online. Azioni non deterministiche L aspirapolvere imprevedibile. Soluzioni più complesse. Alberi di ricerca AND-OR

Ambienti più realistici. Ricerca online. Azioni non deterministiche L aspirapolvere imprevedibile. Soluzioni più complesse. Alberi di ricerca AND-OR Ambienti più realistici Ricerca online Maria Simi a.a. 2011/2012 Gli agenti risolutori di problemi classici assumono: Ambienti completamente osservabili e deterministici il piano generato può essere generato

Dettagli

Pianificazione e controllo delle risorse

Pianificazione e controllo delle risorse Pianificazione e controllo delle risorse Pianificazione e controllo delle risorse Gestione dell allocazione delle risorse in modo che i processi dell azienda siano efficienti e riflettano la domanda di

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

DESMATRON TEORIA DEI GRAFI

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

Dettagli

Ottimizzazione della produzione tramite software di scheduling

Ottimizzazione della produzione tramite software di scheduling Ottimizzazione della produzione tramite software di scheduling Alessio Puppato, Barbara Fuoco, Andrea Rossi, Michele Lanzetta A partire da una classificazione dell architettura delle linee produttive,

Dettagli

Scheduling della CPU Simulazione in linguaggio Java

Scheduling della CPU Simulazione in linguaggio Java Scheduling della CPU Simulazione in linguaggio Java Realizzato da: Amelio Francesco 556/001699 Di Matteo Antonio 556/000067 Viola Antonio 556/000387 Progetto di Sistemi Operativi Docente Giancarlo Nota

Dettagli

Algoritmi di visita di un grafo

Algoritmi di visita di un grafo Algoritmi di isita di n grafo Ilaria Castelli castelli@dii.nisi.it Uniersità degli Stdi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/2010 I. Castelli Visita di n grafo, A.A. 2009/2010

Dettagli

Contenuto e scopo presentazione. Decisioni tattiche. Decisioni tattiche. Decisioni tattiche

Contenuto e scopo presentazione. Decisioni tattiche. Decisioni tattiche. Decisioni tattiche Contenuto e scopo presentazione Decisioni tattiche 21/05/2002 12.01 Contenuto vengono discusse alcune problematiche decisionali tattiche tipicamente affrontate dalle aziende di trasporto. Scopo fornire

Dettagli

Appunti di introduzione alla Ricerca Operativa

Appunti di introduzione alla Ricerca Operativa G r a fi e r e t i d i flu s s o Modelli su grafi e reti di flusso Una vasta classe di problemi di notevole rilevanza pratica può venire modellata tramite grafi o reti di flusso. In questo capitolo svilupperemo

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

La schedulazione. E.Mumolo mumolo@units.it

La schedulazione. E.Mumolo mumolo@units.it La schedulazione E.Mumolo mumolo@units.it Concetti fondamentali Multiprogrammazione: esecuzione simultanea di più sequenze di esecuzione Pseudo-parallelismo su una sola CPU Esecuzione parallela su più

Dettagli

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi

Dettagli

Scheduling di processi HRT

Scheduling di processi HRT Scheduling di processi HRT Primo modello per la schedulazione di processi periodici N processi P1, P2,, PN indipendenti senza vincoli di precedenza, senza risorse condivise; ogni processo Pj (j = 1, 2,,N)

Dettagli

Metodi diretti per la soluzione di sistemi lineari

Metodi diretti per la soluzione di sistemi lineari Metodi diretti per la soluzione di sistemi lineari N Del Buono 1 Introduzione Consideriamo un sistema di n equazioni in n incognite a 11 x 1 + a 12 x 2 + a 13 x 3 + + a 1n x n = b 1, a 21 x 1 + a 22 x

Dettagli

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

Appunti di Ricerca Operativa

Appunti di Ricerca Operativa Appunti di Ricerca Operativa 0/0 Prefazione La Ricerca Operativa è un campo in continua evoluzione, il cui impatto sulle realtà aziendali ed organizzative è in costante crescita. L insegnamento di questa

Dettagli

Scheduling della CPU:

Scheduling della CPU: Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready

Dettagli

Politecnico di Milano. Ingegneria del Software a.a. 2006/07. Appello del 14 settembre 2007 Cognome Nome Matricola

Politecnico di Milano. Ingegneria del Software a.a. 2006/07. Appello del 14 settembre 2007 Cognome Nome Matricola Politecnico di Milano Ingegneria del Software a.a. 2006/07 Appello del 14 settembre 2007 Cognome Nome Matricola Sezione (segnarne una) Baresi, Ghezzi, Morzenti, SanPietro Istruzioni 1. La mancata indicazione

Dettagli

Ricerca Operativa Dualità e programmazione lineare

Ricerca Operativa Dualità e programmazione lineare Ricerca Operativa Dualità e programmazione lineare L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi alle spiegazioni del

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU

Sistemi Operativi SCHEDULING DELLA CPU Sistemi Operativi SCHEDULING DELLA CPU Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling

Dettagli