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

Problema del Job Shop

Problema del Job Shop Problema del Job Shop Job Shop n job, m macchine iascun job j è composto da una sequenza di task (t j (),,t j (r j )) ogni task t j (k) deve essere eseguito su una specifica macchina i = m j (k) (richiedendo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Problema del Job Shop

Problema del Job Shop Problema del Job hop Job hop n ob, m macchine iascun ob è composto da una sequenza di task (t (1),,t (r )) ogni task t (k) deve essere eseguito su una specifica macchina i = m (k) (richiedendo un tempo

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

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

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11 Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 11 In questa lezione vedremo alcune applicazioni della tecnica greedy al progetto di algoritmi on-line. Vediamo

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

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

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

Algoritmi e strutture dati. Codici di Huffman

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

Dettagli

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007 Sommario Macchine a stati finiti M. Favalli 5th June 27 4 Sommario () 5th June 27 / 35 () 5th June 27 2 / 35 4 Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante: Sommario Macchine a stati finiti M. Favalli Engineering Department in Ferrara 4 Sommario (ENDIF) Analisiesintesideicircuitidigitali / 35 (ENDIF) Analisiesintesideicircuitidigitali 2 / 35 4 Le macchine

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

Macchine sequenziali

Macchine sequenziali Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine sequenziali Lezione 14 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Automa a Stati Finiti (ASF) E una prima astrazione di

Dettagli

Un applicazione della programmazione lineare ai problemi di trasporto

Un applicazione della programmazione lineare ai problemi di trasporto Un applicazione della programmazione lineare ai problemi di trasporto Corso di Ricerca Operativa per il Corso di Laurea Magistrale in Ingegneria della Sicurezza: Trasporti e Sistemi Territoriali AA 2012-2013

Dettagli

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

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

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1 SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

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

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

Dettagli

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

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

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

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

Problema del trasporto

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

Dettagli

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

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

Intelligenza Artificiale

Intelligenza Artificiale Intelligenza Artificiale Esercizi e Domande di Esame Tecniche di Ricerca e Pianificazione Esercizi Griglia Si consideri un ambiente costituito da una griglia n n in cui si muove un agente che può spostarsi

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani Ricerca Operativa Esercizi sul metodo del simplesso Luigi De Giovanni, Laura Brentegani 1 1) Risolvere il seguente problema di programmazione lineare. ma + + 3 s.t. 2 + + 2 + 2 + 3 5 2 + 2 + 6,, 0 Soluzione.

Dettagli

SCHEDULATORI DI PROCESSO

SCHEDULATORI DI PROCESSO Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI

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

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

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

Dettagli

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

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

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

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

Ingegneria del Software MINR. Giuseppe Santucci. 04 B - Esercitazione sui diagrammi Pert e Gantt. Gradi di libertà

Ingegneria del Software MINR. Giuseppe Santucci. 04 B - Esercitazione sui diagrammi Pert e Gantt. Gradi di libertà Ingegneria del Software MINR Giuseppe Santucci 4 - sercitazione sui diagrammi Pert e Gantt 4 xpertgantt. Gradi di libertà I. I. I.a I.b I.c I.4 4 xpertgantt. Obbiettivo dell esercitazione Stabilire le

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

Introduzione al MATLAB c Parte 2

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

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

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

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Dettagli

Ricorsione in SQL-99. Introduzione. Idea di base

Ricorsione in SQL-99. Introduzione. Idea di base Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione

Dettagli

1. Considerazioni preliminari

1. Considerazioni preliminari 1. Considerazioni preliminari Uno dei principali aspetti decisionali della gestione logistica è decidere dove localizzare nuove facility, come impianti, magazzini, rivenditori. Ad esempio, consideriamo

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

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

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione Capitolo 2 MATRICI Fra tutte le applicazioni su uno spazio vettoriale interessa esaminare quelle che mantengono la struttura di spazio vettoriale e che, per questo, vengono dette lineari La loro importanza

Dettagli

Problemi di localizzazione impianti

Problemi di localizzazione impianti Problemi di localizzazione impianti Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 2 Dicembre 2014 Ricerca Operativa 2 Laurea

Dettagli

Analisi di una Rete Sociale

Analisi di una Rete Sociale 2012 Analisi di una Rete Sociale Alessandro Lovati Matricola 626053 Comunicazione Digitale ord. F47 26/01/2012 Indice : 1. Obiettivo del progetto 2. Realizzazione 3. Analisi dei risultati 3.1. Numero di

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

Ricerca non informata in uno spazio di stati

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

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Prodotto Disponibilità Costo 1 3000 3 2 2000 6 3 4000 4. e rispettando le seguenti regole di composizione delle benzine:

Prodotto Disponibilità Costo 1 3000 3 2 2000 6 3 4000 4. e rispettando le seguenti regole di composizione delle benzine: 1.1 Pianificazione degli investimenti. Una banca deve investire C milioni di Euro, e dispone di due tipi di investimento: (a) con interesse annuo del 15%; (b) con interesse annuo del 25%. Almeno 1 di C

Dettagli

1. Considerazioni generali

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

Dettagli