Sistemi Organizzativi docente: Stefano Smriglio

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 Sistemi Organizzativi docente: Stefano Smriglio Pre-requisiti: Classi di complessità Programmazione Lineare (Intera) Metodo branch-and-bound Cammini minimi su grafi Materiale didattico: M. Pinedo, Scheduling (Systems, Models and Algorithms) Prentice Hall A. Agnetis, dispense Trasparenti dalle lezioni

2 Parte I: Scheduling a macchina singola

3 Indice. Introduzione: esempi, elementi di un problema di scheduling, notazione. Formulazioni PLM, PLB 2. Problemi a macchina singola //Σw C /chain/σw C /prec/h max /r,prmp/l max /r /L max //ΣU //Σh //ΣT //Σw T algoritmo WSPT algoritmo polinomiale algoritmo di Lawler regola preemptive EDD complessità, branch-and-bound algoritmo di Moore Programmazione dinamica algoritmo pseudo-polinomiale branch-and-bound

4 Introduzione problemi di scheduling esempi classificazione

5 Esempio Silvia (S) e Francesca (F) giungono nello stesso momento ad una macchina fotocopiatrice. F deve fare fotocopia, S ne deve fare 00. Il galateo imporrebbe a S di lasciar passare per prima F, che ha un compito molto più breve. È una buona idea? Analisi. Supponiamo che l esecuzione di una fotocopia richieda 3 secondi. Due casi: S precede F F precede S Attesa totale = = Attesa totale = =

6 Esempio E se Francesca F arrivasse all istante r f? S F r 300 r f Attesa totale = r f = = 603 r f Di nuovo, il galateo imporrebbe a Silvia di interrompere le proprie copie in favore di Francesca: r f 3 Attesa totale = = r 303 f

7 Ricapitolando Attività: 2 blocchi di fotocopie (di durata nota) Risorse: una macchina fotocopiatrice Vincoli: Capacità: al più una fotocopia alla volta (caso 2) F non può iniziare prima dell istante r f Misura: attesa complessiva presso la macchina fotocopiatrice Rappresentazione di una soluzione: diagramma di Gantt 303 S F 0 300

8 CPU scheduling Il sistema operativo disciplina l accesso alla CPU dei diversi programmi di calcolo. tecnica time-sharing (Linux): il tempo di CPU è suddiviso in intervalli (definiti dal timer interrupt) e, in ogni intervallo, è possibile eseguire al più un processo. diversi obiettivi: rispondere prontamente a ciascun processo, evitare interruzioni prolungate, evitare ritardi nei processi più urgenti. Linux attribuisce dinamicamente una priorità ai processi. Ad es., la priorità è proporzionale all attesa del processo

9 CPU scheduling Attività: programmi Risorse: CPU Vincoli: Capacità: al più un programma in ciascun intervallo per ciascuna CPU Misure: tempo massimo di attesa di un programma tempo di completamento di tutti i programmi ritardi nei processi urgenti

10 Scheduling dei velivoli in atterraggio La torre di controllo (ATC) ha il compito di assegnare una pista ed un istante di atterraggio a ciascun velivolo nel proprio campo radar (area terminale) Ogni velivolo ha una finestra temporale [r,s] definita da due istanti di atterraggio estremi, a seconda che il velivolo viaggi: - alla sua massima velocità (istante r) - in modalità di minimo consumo (istante s) Un velivolo in atterraggio impegna la pista per un tempo noto ma genera turbolenza: quello successivo deve attendere un tempo di separazione (funzione delle dimensioni dei velivoli)

11 Scheduling dei velivoli in atterraggio Ad ogni velivolo è associato un orario di atterraggio predeterminato (e pubblicato nelle tabelle) L importanza di un velivolo dipende da fattori quali la dimensione, la compagnia, la distanza percorsa Attività: atterraggi Risorse: k piste Vincoli: Capacità: su ogni pista, al più un atterraggio in un certo istante finestre temporali di atterraggio separazione fra atterraggi consecutivi Misura: somma (pesata in base all importanza) dei ritardi rispetto all orario pubblicato

12 Ancora nella vita quotidiana Aldo (A), Bruno (B), Carlo (C), Duilio (D) condividono un appartamento e, ogni mattino, ricevono 4 giornali: Financial Times (FT), Guardian (G), Daily Express (DE), Sun (S). Ognuno ha i propri gusti inizia la lettura ad una certa ora, legge i giornali nella sua sequenza preferita e (ciascuno) per un tempo prefissato: lettore inizio Sequenza giornali (min.) Aldo 8.30 FT(60) G (30) DE (2) S(5) Bruno 8.45 G(75) DE(3) FT(25) S(0) Carlo 8.45 DE(5) G(5) FT(0) S(30) Duilio 9.30 S(90) FT() G() DE()

13 Ancora nella vita quotidiana inoltre, ciascun lettore: rilascia un giornale solo dopo averlo letto completamente. termina la lettura di tutti i giornali prima di uscire. infine, i quattro lettori attendono che tutti abbiano terminato di leggere prima di uscire di casa Problema: A che ora A, B, C, D riescono (finalmente!) ad uscire?

14 Interpretazione lettore inizio Sequenza giornali (min.) Aldo 8.30 FT(60) G (30) DE (2) S(5) Bruno 8.45 G(75) DE(3) FT(25) S(0) Carlo 8.45 DE(5) G(5) FT(0) S(30) Duilio 9.30 S(90) FT() G() DE() A D FT S G DE B C determinare in quale sequenza ciascun giornale accetta i lettori in modo da minimizzare il tempo di lettura totale.

15 Soluzioni lettore inizio Sequenza giornali (min.) Aldo 8.30 FT(60) G (30) DE (2) S(5) Bruno 8.45 G(75) DE(3) FT(25) S(0) Carlo 8.45 DE(5) G(5) FT(0) S(30) Duilio 9.30 S(90) FT() G() DE() una possibile soluzione: giornale Sequenza lettori FT A D C B G B C A D DE C B A D S D A C B ESERCIZIO: valutare l ora in cui A,B,C e D escono di casa

16 ESERCIZIO: data la soluzione in tabella valutare l ora in cui A,B,C e D escono di casa FT G DE S C A B C A D C D D B D A A giornale Sequenza lettori FT A D C B G B C A D DE C B A D S D A C B B C B.5

17 Enumerazione totale Il numero di soluzioni è (4!) 4 = per un problema con n lettori e m giornali diventa (n!) m. esaminando soluzioni al secondo (4 giornali e n lettori): n tempo min giorni

18 In generale Con il termine scheduling si indica l allocazione temporale di risorse scarse ad attività Elementi di un problema di scheduling: ob: attività da svolgere insieme J = {,,n} Fotocopia, esecuzione di un programma di calcolo Un ob può rappresentare una singola attività o un insieme di attività (task) tecnologicamente legate macchine: risorse che eseguono le attività insieme M={,,m} Fotocopiatrice, CPU, giornali

19 Attributi dei ob tempo di processamento p i durata del processamento del ob sulla macchina i release date r tempo in cui arriva nel sistema, rendendosi disponibile al processamento due date d tempo entro il quale si desidera che il ob sia completato (data di consegna) peso w indica l importanza del ob

20 Classificazione Il processamento di un ob su una macchina è detto operazione. I problemi di scheduling si classificano in base alle caratteristiche dei task e all architettura delle macchine Notazione a tre campi: α/β/γ: α descrive il sistema di macchine β rappresenta vincoli e modalità di processamento (0, o più componenti) γ indica l obiettivo

21 Campo α Macchina singola () : ciascun ob richiede una singola operazione da eseguirsi sull unica macchina disponibile Macchine identiche parallele (P m ) : ciascun ob richiede una singola operazione da eseguirsi su una qualunque delle m macchine identiche. 2 m

22 Campo α Flow shop (F m ) : Ciascun ob è composto di m task, ciscuno da eseguirsi su una macchina secondo una sequenza fissata, uguale per tutti i ob. 2 m Job shop (J m ) : Ciascun ob è composto di m() task, ciscuno da eseguirsi su una macchina secondo una sequenza fissata, dipendente da

23 Campo β Release dates (r ): il ob non può iniziare il processamento prima dell istante r Preemption (prmp): è ammesso interrompere un operazione per iniziarne una nuova. Il processamento eseguito prima dell interruzione non va perso: quando l operazione viene ripresa, essa richiede solo il tempo rimanente di processamento ob 2 2 p schedule ammissibile

24 Campo β prec: è dato un grafo G = (N, A) diretto e aciclico che rappresenta una relazione di precedenza fra ob. Un ob può iniziare solo se tutti i suoi predecessori sono stati completati schedule non ammissibile chain: caso speciale in cui ogni componente connessa del grafo è un cammino orientato (catena)

25 Campo β Tempi di set-up (s k ): tempo richiesto per il riattrezzaggio delle macchine fra i ob e k. Se dipende dalla macchina i, si esprime con s i k breakdown (brkdwn): le macchine non sono sempre breakdown (brkdwn): le macchine non sono sempre disponibili, ma hanno periodi fissati di interruzione del servizio

26 Definizioni C L = C d tempo di completamento del ob lateness del ob T = max(l,0) tardiness del ob U = se C >d e 0 altrimenti 2 ob p 7 8 d 9 C = 7 L = 2 T = 0 U = 0 C 2 = 5 L 2 = 4 T 2 = 4 U 2 =

27 Campo γ: funzioni obiettivo Makespan (C max ) : max (C,, C n ) tempo di completamento dell ultimo ob Massima Lateness (L max ) : L max =max (L,, L n ) Tempo totale pesato di completamento (Σw C ) o (weighted flow-time) Tardiness totale pesata (Σw T ) Numero di tardy ob (ΣU ) tutte funzioni obiettivo regolari cioè non-decrescenti in C,, C n

28 Esempio ob 2 w 2 3 p 7 8 d L max = 4 Σw C = 59 Σw T = 2 ΣU =

29 Sequenze e schedule Si definisce sequenza una permutazione dei ob che definisce l ordine con cui i ob sono processati su una certa macchina Si definisce schedule un assegnamento di un istante di inizio a ciascuno dei task di ogni ob (se prmp, istanti di inizio di ciascuna delle parti in cui viene suddiviso un task)

30 Schedule nondelay uno schedule ammissibile è detto nondelay se nessuna macchina è ferma quando esiste un operazione disponibile al processamento In molti casi (sempre se prmp) le soluzioni ottime sono nondelay. Ciò non è vero in generale

31 ESERCIZIO: schedule nondelay dato il seguente problema P 2 /prec/c max 2 ob p costruire uno schedule nondelay e verificarne l ottimalità 6 7 9

32 ESERCIZIO: schedule nondelay Soluzione nondelay: M2 M Soluzione ottima: M2 M fermo macchina forzato 27

33 . Scheduling a macchina singola Formulazioni di Programmazione Lineare Booleana e Mista (PL(0-)-PLM)

34 Formulazione disgiuntiva Variabili decisionali naturali : t R n istante di inizio del ob, =,, n Macchina a capacità unitaria: i precede t ti pi precede i ti t p valgono in alternativa!! Variabili aggiuntive (binarie): y i = 0 se i precede se precede i

35 Formulazione disgiuntiva (PLM) i precede y i = t ti pi precede i y i = 0 ti t p Formulazione disgiuntiva ( y ) M t t p i, i i i J y i M t t p i, i J t 0 J {0, } i, J y i M costante grande (quanto?)

36 Problemi minsum: // w C min J w ( t p ) i i = J w t J w p ( y ) M t t p i, i i i J y i M t t p i, i J t 0 J {0, } i, J y i n 2 n variabili 2n 2 vincoli

37 Esercizio Formulare come problema di PLM la seguente istanza del problema /r / w C ob 2 3 p 3 2 r w 3 2 4

38 Problemi minsum: // w T min J w max{ t p d,0} ( y ) M t t p i, J i i i y i M t t p i, i J t 0 J {0, } i, J y i

39 RICHIAMO: Funzioni convesse lineari a tratti c x d c 3x d 3 T max( c x i =,..., m i d i ) c 2x d 2 è il più piccolo valore z per cui x T z ci x d i i =,..., m min T max( c x i =,..., m Ax b i d i ) min z Ax b c T i x d i z i =,...,m

40 Formulazione PLM max{ t p d,0} 0 d p t min w f min J w max{ t p d,0} f t p d, J f 0

41 Formulazione PLM min w f f t p d, J ( y ) M t t p i, i i i J y i M t t p i, i J t 0 J {0, } i, J y i f 0

42 Problemi min-max: L max min f f t p d, J ( y ) M t t p i, i i i J y i M t t p i, i J t 0 J {0, } i, J y i f 0

43 Formulazioni Time-indexed Orizzonte temporale [0,T] discretizzato in periodi di durata unitaria. Il periodo t concide con l intervallo di [t, t] Variabili binarie: x t = se inizia nel periodo t; 0 altrimenti vincolo (Completezza): ogni ob inizia in un qualche t T p t= x t =, =,..., n T Σp

44 Formulazioni Time-indexed vincolo 2 (Capacità): al più un ob processato nel periodo t un ob occupa il periodo t se inizia nell intervallo [t p, t] t quindi: n = min( s = max( t, T p x ) s, t p ), t =,..., T

45 Formulazione PL(0-) min n = T p t = c t x t c t costo di assegnazione del ob all istante t T p t= n = x t =, =,..., n min( t, T p s = max( x ) s, t p ), t =,..., T x t { 0, }, =,..., n; t =,..., T p nt variabili; n T vincoli

46 Funzioni obiettivo (min-sum) se inizia nel periodo t si ha C = tp t tp tempo totale di completamento: = = = = n n p T t t C w x p t w ) ( c t = w (tp ) = } 0, max{ t d p t w c = = = = n n p T t t T w x d p t w ) 0, max( tempo totale di completamento: tardiness totale:

47 Esercizio Formulare come problema di PL(0-) la seguente istanza del problema /r / w C ob 2 3 p 3 2 r w 3 2 4

48 Vincoli di precedenza vincolo 3 (Precedenza i ): se il ob i non è iniziato nei periodi,2,,t allora il ob non può iniziare nei periodi, 2,, t p i i quindi: t t p i s = x s t r = x ir, t =,..., T p i p

49 .2 Tempo totale pesato di completamento Σw C

50 nondelay schedule Proprietà 0. Dato un problema del tipo //γ con γ funzione obiettivo regolare, esiste uno schedule ottimo in cui la macchina processa ininterrottamente dall istante 0 all istante C max = Σp

51 Tempo totale pesato di completamento // Σw C Definiamo Weighted Shortest Processing Time (WSPT) una regola che ordina i ob per valori non crescenti del rapporto w /p Sussiste il seguente Teorema. La regola WSPT calcola una soluzione ottima del problema //Σw C Dimostrazione. (Per contraddizione) Assumiamo che S sia uno schedule ottimo e che non rispetti WSPT

52 Dimostrazione Allora devono esserci in S due ob adiacenti, diciamo seguito da k tali che w /p < w k /p k Assumiamo che il ob inizi all istante t. Eseguiamo uno scambio dei ob e k ottenendo un nuovo schedule S' S k S t tp k tp k tp p k

53 Dimostrazione S k S k t tp p k Il tempo totale (pesato) di completamento dei ob che precedono e seguono la coppia (,k) non è modificato dallo scambio. Il contributo dei ob e k in S è: (tp )w (tp p k )w k mentre in S' è: (tp k )w k (tp k p )w

54 Dimostrazione in S] in S'] (tp )w (tp p k )w k (tp k )w k (tp k p )w Eliminando i termini uguali: in S] in S'] p w k p k w Quindi, se w /p < w k /p k, risulta p k w < p w k, cioè il tempo totale pesato in S' è strettamente inferiore a quello in S, contraddizione

55 Vincoli di precedenza /prec/ Σw C Nel caso generale il problema è NP-Hard. Consideriamo invece il caso in cui le precedenze sono rappresentate da un insieme di catene in parallelo: /chain/σw C Per questo caso esiste un algoritmo di soluzione polinomiale.

56 Catene non interrompibili Date due catene: 2 k k k2 n Minimizziamo Σw C con il vincolo che i ob di ciascuna catena debbano essere processati consecutivamente. Lemma.2 Se k w = k = p allora la catena,,k precede la catena k,, n > n = k n = k w p

57 Dimostrazione Per la sequenza,2,,k,k,k2,,n (S) il tempo totale di completamento è = = = k n n k k k k p w p p w p w w p ) ( K K Per la sequenza k,k2,,n,,2,,k (S2) il tempo totale di completamento è = = = n k n k n k n k k p w p p w p w p w ) ( K K

58 Semplificando S ) )( ( = = = = = k n k k k n k p w p w p w K S2 = = = = = n k n k k n k k p w p w p w ) )( ( K = = = = k k k Quindi, ricordando l ipotesi: > = = = = n k n k k k p w p w ) )( ( ) )( ( = = = = < n k k k n k p w p w cioè, Smigliore di S2

59 Coefficiente ρ di una catena L idea chiave dell algoritmo è ricondurre /chain/σw C al problema di sequenziare catene non-interrompibili, in modo da utilizzare il Lemma.2. Definizione.3 Data una catena 2 k Definizione.3 Data una catena 2 k definiamo coefficiente ρ della catena il seguente rapporto: = = ρ = = = = l l l l p w k l p w k * * max ),, ( K

60 Esempio ob p w ρ(, K,4) = max l 4 l = l = w p = 0 3 4, ,, 9 5 l* = 3

61 Proprietà del coefficiente ρ Proprietà.4 Se un ob l* determina il coefficiente ρ(,...,k) allora per qualunque <u<l* risulta: u l w w * > = = = = u l u u p w p w *

62 Dimostrazione Per definizione: = = = = > u u l l p w p w * * > u l u l u l w p w p w p w p * * * K K da cui: = = = = > l u w p w p w p w p * K K = = = = > u l u u l u u l u w p w p w p w p * * * K K ) )( ( ) )( ( * * = = = = > u l u l u u w p w p

63 Proprietà dello schedule ottimo Lemma.5 Si consideri una generica catena (,..., k) e sia l* il ob che determina il suo coefficiente ρ(,...,k). Allora esiste uno schedule ottimo che processa i ob,, l* consecutivamente. Dimostrazione. (per contraddizione) Assumiamo che in una sequenza ottima la sequenza,,l* sia interrotta da un ob v (,...,k), cioè, contenga la sottosequenza (S),,u,v,u, l*

64 Proprietà dello schedule ottimo (S),,u,v,u, l*. Consideriamo le sottosequenze: (S') (S'') v,,,u,u,,l*,,u,u, l*,v Mostriamo che per almeno una fra S' e S'' il tempo di completamento è non superiore a quello di S.

65 Dimostrazione Applicando il Lemma.2 alle catene (v) e (,,u) si ha che se il valore ( w C ) di S è inferiore a quello di S', allora: u u v v p p p w w w p w < K K 2 2 v p u p p p K 2 Applicando il Lemma.2 alle catene (v) e (u,,l*) si ha che se il valore ( w C ) di S è inferiore a quello di S'', allora: * 2 * 2 l u u l u u v v p p p w w w p w > K K

66 Dimostrazione Per la Proprietà.4 risulta inoltre: u u l u u l u u p p p w w w p p p w w w > K K K K 2 2 * 2 * 2 Quindi, se S è meglio di S'', allora: Quindi, se S è meglio di S'', allora: u u l u u l u u v v p p p w w w p p p w w w p w > > K K K K 2 2 * 2 * 2 Contraddizione (avendo assunto S meglio di S'). Lo stesso argomento si applica quando la catena è interrotta da molteplici ob.

67 Algoritmo I due lemmi precedenti sono il fondamento di un algoritmo polinomiale: Algoritmo.6 In ogni istante in cui la macchina è libera, seleziona fra le rimanenti catene quella con il massimo coefficiente ρ e la processa senza interruzione fino al ob che definisce ρ (incluso) L algoritmo ha complessità O(n 2 )

68 Esempio ob w p step. ρ(,2,3,4) = (68)/(36) = 24/9, l * =2 ρ(5,6,7) = (87)/(48) = 25/2, l * =6 2

69 Esempio ob w p step2. ρ(3,4) = 2/6, l * =3 ρ(5,6,7) = (87)/(48) = 25/2, l * =

70 Esempio ob w p step3. ρ(3,4) = 2/6, l * =3 ρ(7) = 8/0, l * =

71 Esempio ob w p step4. ρ(4) = 8/5, l * =4 ρ(7) = 8/0, l * =

72 Release date e preemption L introduzione delle release date complica il problema. Nel caso in esame, il problema /r /Σw C è NP-hard. [Ex] Richiamo. Dato un problema di ottimizzazione P =(z,s) (di minimo), si definisce rilassamento di P un nuovo problema RP=(w,Φ) tale che: (i) S Φ (ii) x S risulta w(x) z(x)

73 Rilassamento preemptivo Il problema/r, prmp/σw C si dice rilassamento (perché lo è?) preemptivo. Per esso è interessante valutare il comportamento della naturale estensione della regola WSPT: Preemptive WSPT: in ogni istante (intero) di tempo, si processa il ob disponibile con il massimo rapporto peso / tempo residuo di processamento

74 Esempio ob w p r Z PWSPT =99

75 PWSPT non è ottima per /r,prmp / w C 2 08 ob 2 3 w 9 8 p r Z PWSPT = Z OPT =27 4

76 Complessità PWSPT si esegue in tempo O(n log n) Si mantiene la lista ordinata per valori decrescenti del rapporto w /p (t) e la lista ordinata dei ob per release date crescenti. Gli eventi significativi sono di due tipi: (i) completamento di un ob e (ii) rilascio di un nuovo ob. Quindi, ci sono O(n) eventi. In corrispondenza di ciascun evento si deve: aggiornare la lista, richiede tempo O(log n) calcolare l evento successivo, calcolando min(t p (t), r ), che richiede tempo costante

77 Si ha il seguente: Pesi unitari Nel caso di pesi tutti unitari PWSPT schedula, in ogni istante (intero) di tempo, il ob disponibile con il minimo tempo residuo di processamento (Shortest Remaining Processing Time, SRPT) Lemma.6 La regola SRPT è ottima per /r, prmp/σc Dimostrazione. Mostriamo che, comunque preso uno schedule S che non rispetta SRPT, ne esiste uno S' che la rispetta con un tempo di completamento non peggiore.

78 Dimostrazione Se S non rispetta SRPT, deve esserci un istante t in cui è processata una unità del ob pur esistendo k tale che p (t) > p k (t) Costruiamo un nuovo schedule S' in cui le rimanenti p k (t) unità del ob k sono scambiate con le prime p k (t) del ob. S k S k t t'

79 Dimostrazione S k S k t t' i ob diversi da e k non subiscono alcuna variazione; primo caso: C k (S ) > C (S ) Essendo p (t) > p k (t) si ha che C k (S ) C (S); inoltre, per costruzione, C (S ) = C k (S ); Quindi: C k (S ) C (S ) C k (S ) C (S )

80 Dimostrazione S k S k t t' secondo caso: C k (S) < C (S) C k (S ) C k (S); C (S ) = C (S); Quindi: C k (S ) C (S ) C k (S) C (S )

81 Esercizi

82 Esercizio Dimostrare che la regola SPT non è ottima per il problema /r / C z(spt) = 2 ob 2 r 3 0 p z(opt) =

83 Esercizio 2 Dimostrare che la regola WSPT non è ottima per il problema /brkdwn/ w C z(wspt) = 85 ob 2 w 0 5 p z(opt) =

84 Esercizio 3 Dimostrare o confutare che la regola SPT è ottima per il problema /brkdwn/ C ob 2 3 p z(spt) = z(opt) = 2

85 .3 Problemi min-max (Massima Lateness L max )

86 /prec/h max Forma della funzione obiettivo: h max = max (h (C ),, h n (C n )) h (C ) è una arbitraria funzione non decrescente di C Esempi: h (C )= C d = L h max = L max h (C ) = max (0,L ) = T h max = T max Precedenza: G P generico grafo aciclico. Dato che le soluzioni ottime sono nondelay, l ultimo ob termina all istante C p max = n =

87 Algoritmo di Lawler Costruisce lo schedule a partire dal fondo J ob già schedulati nell intervallo Cmax J p, C J c = {,, n} \ J J ob schedulabili immediatamente prima di J (= tutti i successori sono in J) [ max Inizializzazione: J =, J c = {,, n}, J insieme dei ob privi di successori ] Loop: while (J c ) Schedula in ultima posizione il ob * tale che h ( p ) = min( h * c J J J ( c p )) J := J {*}, J c := J c \{*}, aggiorna J Endloop.

88 Corretezza Teorema.7 L algoritmo di Lawler restituisce uno schedule ottimo per /prec/h max Dimostrazione. (Per contr.) Sia S una sequenza ottima per cui, ad una generica iterazione, è selezionato il ob ** J ma esiste * (schedulabile) tale che h ( p ) < h * *( * c J J c p ) S * ** J Quindi, * è schedulato prima di **

89 Dimostrazione (continua) h ** h ** h * h * * ** ** * S S Consideriamo un nuovo schedule S ottenuto da S spostando il ob ** subito dopo *. [L unico ob che peggiora è *]

90 Dimostrazione (continua) h ** h ** h * h * h * ** ** * S ( p ) < h* *( * c J J c ** in S. Quindi S meglio di S, contraddizione. p ) S costo di * in S inferiore al costo di

91 Esempio ob p h 0 C 2.5 C 3 2 (C 4 /5) Iter. J c p =5 G p 4 2 J J c {,2,3,4} J {,2,3} ob 2 3 costo

92 Esempio ob p h 0 C 2.5 C 3 2 (C4/5) G p 4 2 Iter 2. J c p =2 J {} J c {2, 3,4} J {2,3} ob 2 3 costo

93 Iter 3. = 8 J c p Esempio ob p h 0 C 2.5 C 3 2 (C4/5) J {,2} J c {3,4} J {3,4} ob 3 4 costo S* z(s*) = max(0, 3, 3.03, 3)

94 Algoritmo di Lawler: caso speciale L algoritmo di Lawler si esegue in tempo O(n 2 ) Infatti, assumendo che il calcolo del valore delle funzioni h richieda tempo costante, l algoritmo richiede n passi, ciascuno basato su n confronti Nel caso //L max l algoritmo di Lawler si specializza: h ( C ) = C d min( h J ( J p )) = max( d J c ) Equivale alla regola EDD (Earliest Due Date)

95 Esercizio Dimostrare che la regola EDD non è ottima per il problema // L Controesempio: ob 2 3 p d

96 /r /L max : complessità Teorema.8 /r /L max è NP-hard in senso forte Dimostrazione. Riduzione polinomiale da 3-PARTITION Istanza: interi a,,a 3t,b tali che b/4<a <b/2, = Problema: partizione in t terne tutte di peso b? 3t = a tb Costruiamo la seguente istanza di /r /L max con n = 4t r =b ( ), p =, d =b, =,,t r = 0, p = a t, d =tb (t ), =t,,4t Problema (target): uno schedule di valore z 0?

97 /r /L max : complessità r =b( ), p =, d =b, =,,t schedule con L max z =0 se e solo se ogni ob, =,,t, è processato fra r e d = r p r d r 2 d 2 r 3 d 3 r t 2 d t-2 r t d t b 0 b b 2b 3b2 2b2 3b3 tbt Fissando i primi t ob bloccanti, rimangono t intervalli di lunghezza b

98 /r /L max : complessità r d r 2 d 2 r 3 d 3 r t-2 d t-2 r t-3 d t-3 b 0 b b 2b 3b2 2b2 3b3 tbt schedule con L max 0 se e solo se i restanti 3t ob: r = 0, p =a -t, d =tb (t ), =t,,4t per cui vale: 4t 4t p = = t = t a t = tb possono essere schedulati negli t intervalli di lunghezza b.

99 /r /L max : complessità r = 0, p =a -t, d =tb (t ), =t,,4t r d r 2 d 2 r 3 d 3 r t 2 d t 2 r t 3 d t 3 b 0 b b 2b 3b2 tbt 2b2 3b3 Essendo b/4<a, in ciascun intervallo di lunghezza b non entrano più di tre ob 4t 4t essendo a <b/2 e p = a t = tb = = mettendo meno di tre ob in un intervallo, almeno un ob è schedulato in ritardo

100 /r /L max : complessità r = 0, p =a -t, d =tb (t ), =t,,4t r d r 2 d 2 r 3 d 3 r t-2 d t-2 r t-3 d t-3 b 0 b b 2b 3b2 2b2 3b3 tbt- Quindi, i ob t,, 4t possono essere schedulati negli t intervalli di lunghezza b sse possono essere suddivisi in t terne di lunghezza b, cioè, sse 3-PARTITION ha soluzione

101 Esercizio Risolvere la seguente istanza di 3-partition: A={27,27,29,33,33,33,35,35,35,37,37,39} b=00

102 /r,prmp/l max Preemptive EDD: ad ogni istante t, si processa il ob disponibile con la minima due date R(t) = {: r t} insieme dei ob disponibili al tempo t Teorema.9 La regola PEDD calcola una soluzione ottima del problema /r, prmp/l max. Dimostrazione. Consideriamo uno schedule S che viola PEDD: Al tempo t è schedulato un ob k R(t) per cui esiste un ob R(t) disponibile e non ancora terminato tale che d k > d

103 PEDD - correttezza Poiché non è terminato, istante esecuzione t > t in cui è in S k t t t t d k > d Consideriamo il nuovo schedule S ottenuto da S scambiando e k nei due intervalli di figura: S t t t t Il contributo dei ob diversi da e k non cambia k

104 PEDD - correttezza S S k t t t t t t t t k d k > d Definiamo C e C k i tempi di completamento di e k nello schedule S. Dimostriamo che L max ( ) L max (S). Tre casi: S. C > t, C > t 2. C = t, C > t 3. C t, C < t k k k

105 PEDD - correttezza caso. C > t, C > t k S S k t t t t t t t t k Poiché entrambi i ob terminano dopo t lo scambio non ha alcun effetto: L max ( ) = L max (S) S

106 PEDD - correttezza caso 2. C = t, C > t k S k C = t S t t t t k Essendo C k > t il tempo di completamento di k in S rimane inalterato; al contrario, quello di diminuisce. Quindi, L max ( ) L max (S) S

107 PEDD - correttezza caso 3. C t, C < t k S k S k t t t t Il tempo di completamento di k aumenta fino a t. La lateness di k in S è, quindi, pari a: d k >d t d < t d C d = k L ed è quindi inferiore alla lateness di in S

108 /r /L max Algoritmo branch-and-bound

109 Branch-and-bound: nozioni di base Dato un problema di ottimizzazione combinatoria: P 0 =(z, S) z* = min {z(x) : x S} S ={x,, x m }

110 Algoritmo banale: Enumerazione totale. Enumera tutte le soluzioni ammissibili (sono in numero finito) e calcolane il costo 2. Scegli la soluzione di costo minimo Sfortunatamente questo algoritmo può essere usato solo quando il numero di soluzioni ammissibili non è elevato. Ad esempio, il numero di schedule ammissibili per un problema a macchina singola (senza precedenze) è n! Quindi, per un problema con 20 ob, eseguendo una valutazione in 0 9 sec, impiegheremmo più di 77 giorni

111 Decomposizione Proposizione. Sia {S,,S p }, una decomposizione dell insieme S in sottoinsiemi S i S per i =,, p. i=,..., p S i = S sia z i * il valore ottimo del sottoproblema (S i, c), i =,, p. Allora, z* = min i =,,p z i * Osservazione: i sottoinsiemi non costituiscono necessariamente una partizione di S

112 Albero di enumerazione applichiamo ricorsivamente il procedimento: Esempio: S = {0,} 3 S Nodo radice x =0 x = S 0 S x 2 =0 x 2 = x 2 =0 x 2 = S 00 S 0 S 0 S x 3 =0 x 3 = x 3 =0 x 3 = x 3 =0 x 3 = x 3 =0 x 3 = S 000 S 00 S 00 S 0 S 00 S 0 S 0 S Caso peggiore: 2 n foglie 2 n nodi intermedi

113 Potatura Il metodo branch-and-bound si basa sull idea di ridurre il più possibile il numero di sottoproblemi valutati (= per cui si risolve il rilassamento lineare) Diversi criteri, basati sulla soluzione di un rilassamento, ci permettono di potare un sottoproblema (S i, c), cioè di NON procedere all esplorazione del sottoalbero di radice (S i, c) S i

114 Limitazioni inferiori di z i * Proposizione. Sia S = S S 2 S p una decomposizione della regione ammissibile S in p insiemi. Sia z* i = min {c T x : x S i }. Se z i LB è un lower bound per il valore ottimo z* i Allora, z LB = min i z i LB è un lower bound per z * S z LB = 5 S S 2 S 3 z LB = 0 z 2 LB = 5 z 3 LB = 7

115 Soluzioni ammissibili: limitazioni superiori di z i * Proposizione 2. Sia S = S S 2 S p una decomposizione della regione ammissibile S in p insiemi. Sia z* i = min {c T x : x S i } e naturalmente, Allora, UB i z =c T x i i x S i (soluzione ammissibile) è un upper bound per il valore ottimo z* i z UB = min i z i UB è un upper bound per z * S z UB = 9 S S 2 S 3 z UB = 5 z UB 2 = 9 z UB 3 = 3

116 z Potatura per bound Sia un upper bound del valore ottimo z* Sia z LB i un lower bound per il valore ottimo z* i di (S i, c) Se UB = c T x z LB i z UB z * LB z i UB z allora S i non contiene soluzioni ammissibili migliori di e il sottoproblema (S i, c) è potato x

117 Calcolo di z i LB Dato un problema di ottimizzazione P=(z,S) (di minimo), si definisce rilassamento di P un nuovo problema RP=(w,Φ) tale che: (i) S Φ (ii) x S risulta w(x) z(x) Il calcolo di z LB i si effettua risolvendo in modo esatto un opportuno rilassamento di (z,s i ). La scelta del rilassamento si basa su due esigenze, spesso contrastanti: o Ottenere buone approssimazioni di z i * o Richiedere tempi di calcolo non elevati

118 Potatura per ottimalità Può accadere che risolvendo il rilassamento si ottenga una soluzione ottima del sottoproblema. In questo caso, ovviamente, il sottoproblema non va ulteriormente suddiviso. Se z = w, ogni soluzione ammissibile di RP che sia anche ammissibile per P, è anche ottima per P.

119 Branch-and-bound per /r /L max branching: al livello h dell albero di enumerazione si fissa in tutti i modi possibili il ob in posizione h radice: nessun ob è fissato n - -, 2 - -, n - - n, - - n, n- - - Livello n : n! sottoproblemi

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

Automazione Industriale (scheduling+mms) scheduling+mms

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

Dettagli

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

Parte 3: Gestione dei progetti, Shop scheduling

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

Dettagli

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

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

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

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

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

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

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

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

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

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

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

Principi di Schedulazione in tempo reale

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

Dettagli

CAPITOLO 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

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

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

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI

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

Dettagli

Esercizi 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

Il problema del commesso viaggiatore

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

Dettagli

Algoritmi enumerativi

Algoritmi enumerativi Capitolo 7 Algoritmi enumerativi Come abbiamo visto, né gli algoritmi greedy né quelli basati sulla ricerca locale sono in grado, in molti casi, di garantire l ottimalità della soluzione trovata. Nel caso

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

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

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

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

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

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

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

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort Due algoritmi di ordinamento basati sulla tecnica Divide et Impera: Mergesort e Quicksort (13 ottobre 2009, 2 novembre 2010) Ordinamento INPUT: un insieme di n oggetti a 1, a 2,, a n presi da un dominio

Dettagli

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

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

Dettagli

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

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

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

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

Sommario della lezione

Sommario della lezione Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/36 Sommario della lezione Ulteriori esempi di applicazione della Programmazione Dinamica Esempio di applicazione

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

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

Decisioni in condizioni di incertezza

Decisioni in condizioni di incertezza Decisioni in condizioni di incertezza Paolo Arcaini Roberto Cordone Programmazione in condizioni di incertezza La programmazione in condizioni di incertezza affronta problemi di decisione nei quali occorre

Dettagli

SPERIMENTAZIONE CON LINDO SU UN PROBLEMA DI SCHEDULING

SPERIMENTAZIONE CON LINDO SU UN PROBLEMA DI SCHEDULING UNIVERSITA DEGLI STUDI DI PADOVA FACOLTA DI SCIENZE STATISTICHE CORSO DI LAUREA IN SCIENZE STATISTICHE ED ECONOMICHE TESI DI LAUREA SPERIMENTAZIONE CON LINDO SU UN PROBLEMA DI SCHEDULING Relatore: Ch.mo

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

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

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

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

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

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

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

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

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

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

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

Dettagli

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

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

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

Esercitazione in Laboratorio: risoluzione di problemi di programmazione lineare tramite Excel il mix di produzione

Esercitazione in Laboratorio: risoluzione di problemi di programmazione lineare tramite Excel il mix di produzione Esercitazione in Laboratorio: risoluzione di problemi di programmazione lineare tramite Excel il mix di produzione Versione 11/03/2004 Contenuto e scopo esercitazione Contenuto esempi di problema di programmazione

Dettagli

Ricerca Operativa 2. Introduzione al metodo del Simplesso

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

Dettagli

Algoritmi di scheduling - Parte 2

Algoritmi di scheduling - Parte 2 Algoritmi di scheduling - Parte 2 Automazione I 12/11/2013 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO ALGORITMO DEADLINE MONOTONIC PRIORITY ORDERING (DMPO) ALGORITMO TIMELINE SCHEDULING (TS) 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

Esercizi Capitolo 5 - Alberi

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

Dettagli

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

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

Alberi binari. Ilaria Castelli castelli@dii.unisi.it A.A. 2009/2010. Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione

Alberi binari. Ilaria Castelli castelli@dii.unisi.it A.A. 2009/2010. Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione Alberi binari Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/2010 I. Castelli Alberi binari, A.A. 2009/2010 1/20 Alberi binari

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

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

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

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

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

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

Dettagli

Indirizzo Giuridico Economico Aziendale

Indirizzo Giuridico Economico Aziendale Premessa Questa breve trattazione non vuole costituire una guida completa ed esauriente sull argomento, ma vuole fornire solamente i concetti fondamentali necessari per il raggiungimento degli obiettivi

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

2) Codici univocamente decifrabili e codici a prefisso.

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

Dettagli

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

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees Informatica 3 LEZIONE 23: Indicizzazione Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees Informatica 3 Lezione 23 - Modulo 1 Indicizzazione lineare, ISAM e

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

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

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux 6.1 Sistemi multiprocessori simmetrici Fin qui si sono trattati i problemi di scheduling

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

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

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

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

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Giuditta Franco Corso di Laurea in Bioinformatica - AA 2012/2013 Uno dei più grossi risultati nell informatica degli

Dettagli

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU 9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A LU 9.1 Il metodo di Gauss Come si è visto nella sezione 3.3, per la risoluzione di un sistema lineare si può considerare al posto

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

Riassunto di Sistemi in Tempo Reale LS

Riassunto di Sistemi in Tempo Reale LS Riassunto di Sistemi in Tempo Reale LS Silvia Cereda July 10, 2007 1 Schedulazione di processi periodici Condizione necessaria (ma non sufficiente) affinché un insieme di N processi sia schedulabile è

Dettagli

Ricerca euristica. Funzioni di valutazione euristica. Esempi di euristica. Strategia best-first: esempio. Algoritmo di ricerca Best-First 03/03/15

Ricerca euristica. Funzioni di valutazione euristica. Esempi di euristica. Strategia best-first: esempio. Algoritmo di ricerca Best-First 03/03/15 Ricerca euristica Ricerca euristica Maria Simi a.a. 2014/2015 La ricerca esaustiva non è praticabile in problemi di complessità esponenziale Noi usiamo conoscenza del problema ed esperienza per riconoscere

Dettagli

Fondamenti di Automatica

Fondamenti di Automatica Fondamenti di Automatica Funzioni di trasferimento: stabilità, errore a regime e luogo delle radici Dott. Ing. Marcello Bonfè Dipartimento di Ingegneria - Università di Ferrara Tel. +39 0532 974839 E-mail:

Dettagli

Metodi e Modelli per la Simulazione

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

Dettagli

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

16.3.1 Alberi binari di ricerca

16.3.1 Alberi binari di ricerca 442 CAPITOLO 16. STRUTTURE DI DATI DINAMICHE root 7 5 11 2 8 13 10 Figura 16.11 Esempio di albero binario: ogni nodo contiene il dato da immagazzinare e tre puntatori che definiscono le sue relazioni di

Dettagli

4.1 Modelli di calcolo analisi asintotica e ricorrenze

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

Dettagli

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

Lezioni di Algebra Lineare III. Applicazioni lineari e matrici Struttura algebrica delle soluzioni dei sistemi lineari

Lezioni di Algebra Lineare III. Applicazioni lineari e matrici Struttura algebrica delle soluzioni dei sistemi lineari Versione ottobre novembre 2008 Lezioni di Algebra Lineare III. Applicazioni lineari e matrici Struttura algebrica delle soluzioni dei sistemi lineari Contenuto 1. Applicazioni lineari 2. L insieme delle

Dettagli

Problemi computazionali

Problemi computazionali Problemi computazionali Intrattabilità e classi computazionali Decidibilità e Trattabilità Problemi decidibili possono richiedere tempi di risoluzione elevati: Torri di Hanoi Decidibilità e Trattabilità

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

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

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

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst Impossibile visualizzare l'immagine. Scheduling della CPU Concetti di base La multiprogrammazione cerca di ottenere la massima utilizzazione della CPU. L esecuzione di un processo consiste in cicli d esecuzione

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