SCHEDULING SCHEDULING

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SCHEDULING SCHEDULING"

Transcript

1 Corso di Laurea Triennale in INGEGNERIA GESTIONALE Anno Accademico 2012/13 Prof. Davide GIGLIO 1

2 INDICE Esempio Introduttivo Generalità sui problemi di scheduling SINGLE MACHINE SPT (shortest processing time) scheduling EDD (earliest due date) scheduling Algoritmo di Moore Algoritmo di Smith FLOW-SHOP E JOB-SHOP Algoritmi di Johnson DI TASK PERIODICI SU SINGLE MACHINE Priority scheduling Timeline scheduling 2

3 ESEMPIO INTRODUTTIVO Quattro ragazzi (Anna, Bruno, Carla e Diego) abitano nello stesso appartamento Ogni sabato mattina comprano quattro quotidiani (La Repubblica, Corriere della Sera, La Stampa e Gazzetta dello Sport) che ciascuno vuole leggere nel proprio ordine preferito e per la durata che vuole Anna vuole leggere la Repubblica per 1 ora, poi il Corriere per 30 minuti, poi la Stampa per 2 minuti e infine la Gazzetta per 5 minuti Bruno vuole leggere il Corriere per 1 ora e 15 minuti, poi la Stampa per 3 minuti, poi la Repubblica per 25 minuti e infine la Gazzetta per 10 minuti Carla vuole leggere la Stampa per 5 minuti, poi il Corriere per 15 minuti, poi la Repubblica per 10 minuti e infine la Gazzetta per 30 minuti Diego vuole leggere la Gazzetta per 1 ora e 30 minuti, poi la Repubblica per 1 minuto, poi il Corriere per 1 minuto e infine la Stampa per 1 minuto I ragazzi sono molto abitudinari e quindi preferiscono aspettare che un giornale si liberi piuttosto che cambiare la propria sequenza preferita 3

4 ESEMPIO INTRODUTTIVO I ragazzi si alzano ad orari differenti e appena alzati possono e vogliono iniziare a leggere i giornali Anna si alza alle 8:30 Bruno si alza alle 8:45 Carla si alza alle 8:45 Diego si alza alle 9:30 Premesso che nessuno vuole uscire prima di avere concluso la lettura di tutti i giornali, qual è il più presto istante di tempo in cui i ragazzi possono uscire di casa? Questo è un problema di scheduling Trovare l ordine secondo cui i 4 giornali sono letti dai 4 ragazzi in modo da finire prima possibile 4

5 Un possibile schedule è il seguente ESEMPIO INTRODUTTIVO Repubblica Corriere Stampa Gazzetta Anna Diego Carla Bruno Bruno Carla Anna Diego Carla Bruno Anna Diego Diego Anna Carla Bruno a cui corrisponde il seguente Diagramma di Gantt Repubblica A D C B Corriere B C A D Stampa Gazzetta C B A D D A C B 8:30 9:00 10:00 11:00 12:00 11:51 5

6 ESEMPIO INTRODUTTIVO Quello appena visto è uno schedule ammissibile ( feasible ) ma non necessariamente ottimo Si osservi come il fatto di dovere rispettare la sequenza di lettura desiderata dai quattro ragazzi, fa sì che vi siano degli intervalli di tempo in cui alcuni giornali non vengono letti da nessuno, anche se vi sono delle persone che non stanno leggendo e devono ancora leggere tali giornali Ad esempio, Bruno alle 11:05 non sta leggendo e vi è libera la Gazzetta che lui non ha ancora letto; ma Bruno prima della Gazzetta vuole leggere la Repubblica che però è occupata; la conseguenza è che sia Bruno che la Gazzetta rimangono non attivi 6

7 ESEMPIO INTRODUTTIVO Non tutte le combinazioni sono possibili Un esempio di schedule non ammissibile è il seguente Repubblica Corriere Stampa Gazzetta Diego Bruno Anna Carla Diego Carla Bruno Anna Diego Bruno Carla Anna Anna Diego Carla Bruno La non ammissibilità è dovuta al fatto che Anna non può iniziare a leggere la Gazzetta prima di avere letto gli altri tre giornali (in particolare la Repubblica che è bloccata da Diego) e Diego non può iniziare a leggere la Repubblica prima di avere letto la Gazzetta (che è bloccata da Anna) 7

8 Uno schedule migliore è il seguente ESEMPIO INTRODUTTIVO Repubblica Corriere Stampa Gazzetta Anna Bruno Carla Diego Bruno Carla Anna Diego Carla Bruno Anna Diego Diego Anna Carla Bruno a cui corrisponde il seguente Diagramma di Gantt Repubblica A B C D Corriere B C A D Stampa Gazzetta C B A D D A C B 8:30 9:00 10:00 11:00 12:00 11:45 8

9 ESEMPIO INTRODUTTIVO Quello appena visto è un altro schedule ammissibile, migliore di quello visto in precedenza (infatti il completion time è alle 11:45 invece che alle 11:51) Questo schedule è stato ottenuto dopo che si è osservato che la Gazzetta, che è il giornale la cui lettura viene terminata per ultima, rimaneva non letta per 6 minuti, dalle 11:05 alle Invertendo l ordine di lettura della Repubblica per quanto riguarda Bruno e Diego è stato possibile anticipare alle 11:05 l inizio della lettura della Gazzetta da parte di Carla, facendo quindi scomparire l intervallo di 6 minuti in cui la Gazzetta non veniva letta Si noti che anche in questo schedule è la lettura della Gazzetta che determina il completion time Lo schedule appena visto è ottimo? La risposta è no 9

10 Uno schedule ottimo è il seguente ESEMPIO INTRODUTTIVO Repubblica Corriere Stampa Gazzetta Carla Anna Bruno Diego Carla Bruno Anna Diego Carla Bruno Anna Diego Carla Diego Bruno Anna a cui corrisponde il seguente Diagramma di Gantt Repubblica C A B D Corriere C B A D Stampa C B A D Gazzetta C D B A 8:30 9:00 10:00 11:00 12:00 11:30 10

11 ESEMPIO INTRODUTTIVO In questo schedule, a differenza dei precedenti, i 4 ragazzi non iniziano a leggere appena possibile Anna si alza alle 8:30 ma inizia a leggere il suo primo giornale (la Repubblica) alle 9:15 Bruno si alza alle 8:45 ma inizia a leggere il suo primo giornale (il Corriere) alle 9:05 Diego si alza alle 9:30 ma inizia a leggere il suo primo giornale (la Gazzetta) alle 9:45 Solo Carlo inizia a leggere il suo primo giornale (la Stampa) appena alzato Questo ha consentito di ottenere uno schedule ammissibile il cui completion time è alle 11:30 (migliore quindi dei precedenti) Perché si può affermare che lo schedule appena visto sia ottimo? Si osservi come esso sia stato ottenuto facendo si che la lettura della Gazzetta (che anche in precedenza era quella che determinava il completion time) inizi prima, alle 9:15 invece che alle 9:45 Si facciano adesso le seguenti considerazioni: La Gazzetta, se letta consecutivamente dai 4 ragazzi, impegna 2 ore e 15 minuti 11

12 ESEMPIO INTRODUTTIVO Anna può iniziare a leggere la Gazzetta non prima delle 10:02 (in quanto si alza alle 8:30 e legge per 92 minuti i giornali che precedono la Gazzetta nella sua sequenza). Se la sequenza della Gazzetta inizia con Anna, il completion time non può essere inferiore alle 12:17 Bruno può iniziare a leggere la Gazzetta non prima delle 10:28 (in quanto si alza alle 8:45 e legge per 103 minuti i giornali che precedono la Gazzetta nella sua sequenza). Se la sequenza della Gazzetta inizia con Bruno, il completion time non può essere inferiore alle 12:43 Carlo può iniziare a leggere la Gazzetta non prima delle 9:15 (in quanto si alza alle 8:45 e legge per 30 minuti i giornali che precedono la Gazzetta nella sua sequenza). Se la sequenza della Gazzetta inizia con Carlo, il completion time non può essere inferiore alle 11:30 Diego può iniziare a leggere la Gazzetta non prima delle 9:30 (che è l ora in cui si alza, essendo la Gazzetta il primo giornale nella sua sequenza). Se la sequenza della Gazzetta inizia con Diego, il completion time non può essere inferiore alle 11:45 Il completion time non può quindi essere inferiore alle 11:30 E l unica soluzione ottima? Non è detto... 12

13 ESEMPIO INTRODUTTIVO Per determinare la soluzione ottima non è pensabile enumerare tutti i possibili schedule e poi scegliere uno di quelli che hanno il completion time più basso Con n job da eseguire su m macchine vi sono (n!) m possibili schedule Nell esempio introduttivo i job sono i ragazzi e le macchine sono i giornali da leggere Si hanno pertanto (4!) 4 = possibili schedule Con un computer molto rapido si potrebbero analizzare tutti Analizzando, ad esempio, 1000 schedule al secondo, ci vorrebbero circa 5 minuti e mezzo Ma aumentando anche solo di 1 il numero di job/ragazzi si avrebbero da analizzare (5!) 4 = possibili schedule In questo caso ci vorrebbero circa 58 ore (più 2 giorni!) L enumerazione diretta non è un buon metodo di risoluzione dei problemi di scheduling 13

14 GENERALITÀ SUI PROBLEMI DI Il problema generico di scheduling è quello definito come General Job-Shop Problem n m Job Macchine {J 1,J 2,...,J n } {M 1,M 2,...,M m } Ciascun job deve essere processato da ciascuna macchina una e una sola volta Vincoli tecnologici possono specificare un ordine secondo cui i job devono essere processati dalle macchine Un caso particolare è rappresentato dal flow-shop problem in cui i vincoli tecnologici specificano che tutti i job devono visitare le macchine secondo la stessa sequenza Un operazione consiste nell esecuzione di un job su una macchina o i,j Operazione della macchina i sul job j 14

15 GENERALITÀ SUI PROBLEMI DI Assunzioni classiche che caratterizzano i problemi di scheduling Due operazioni relative allo stesso job non possono essere eseguite simultaneamente Le operazioni, una volta partite, non possono essere interrotte, devono essere completate ( no preemption ) I job sono processati da ciascuna macchina, una e una sola volta Un job non può essere cancellato, deve essere portato a completamento I tempi di esecuzione dei job sulle macchine (processing time) sono indipendenti dalla sequenza di servizio, cioè dallo schedule Quest ultima ipotesi significa che i set-up, se previsti, sono operation-dependent e che i tempi di trasferimento tra le macchine sono non significativi I job possono rimanere in attesa che una macchina diventi disponibile Ciascuna macchina può processare un solo job alla volta (le risorse sono single-server) 15

16 GENERALITÀ SUI PROBLEMI DI Le macchine possono essere idle Le macchine non si guastano mai e sono disponibili per tutto l intervallo di tempo che caratterizza il problema di scheduling I vincoli tecnologici sono noti in anticipo e non possono variare nel tempo Non vi sono grandezze stocastiche che caratterizzano il problema. In particolare: Il numero di job è noto e fisso Il numero delle macchine è noto e fisso I tempi di esecuzione dei job sulle macchine (processing time) sono noti e fissi Gli istanti in cui i job sono disponibili (release time) sono noti e prefissati Tutte le altre grandezze necessarie per caratterizzare un problema di scheduling sono note e fisse 16

17 GENERALITÀ SUI PROBLEMI DI PARAMETRI che caratterizzano i job e le macchine r i p i,j d i Release time (o release date o ready time) Processing time Due date a i Allowance a i = d i r i 17

18 VALORI GENERALITÀ SUI PROBLEMI DI che caratterizzano i job in relazione a un particolare schedule W i,k W i C i F i L i T i E i Waiting time Total waiting time Completion time Flow time Lateness Tardiness Earliness W i = P m k=1 W i,k C i = r i + P m k=1 (W i,k + p i,j(k) ) F i = C i L i = C i r i d i T i = max{c i d i, 0} = max{l i, 0} E i = max{d i C i, 0} = max{ L i, 0} con il pedice j(k) si indica la macchina M j(k) che è la macchina che esegue la k-th operazione del job, operazione che viene pertanto indicata come o i,j(k) 18

19 GENERALITÀ SUI PROBLEMI DI Data una certa grandezza (total waiting time, completion time, ecc.), si considerano spesso il valore medio e il valore massimo di una tale grandezza X i GRANDEZZA VALORE MEDIO VALORE MASSIMO X =(1/n) P n i=1 X i X max = max{x 1,X 2,...,X n } 19

20 VALORI GENERALITÀ SUI PROBLEMI DI che caratterizzano le macchine in relazione a un particolare schedule VALORI P I n j Idle time I j = C max i=1 p i,j relativi a un particolare schedule in uno specifico istante di tempo N w (t) N p (t) N c (t) N u (t) Numero di job in attesa (o non pronti) al tempo Numero di job in esecuzione al tempo t Numero di job completati al tempo t Numero di job ancora da completare al tempo t t 20

21 GENERALITÀ SUI PROBLEMI DI Sono valide le seguenti relazioni: N w (t) +N p (t) +N c (t) =n N w (t) +N p (t) =N u (t) N u (0) = n N u (C max )=0 Essendo inoltre tali valori riferiti ad un particolare istante di tempo, il valore medio si può calcolare considerando l integrale su tutto l intervallo di tempo che caratterizza lo schedule VALORE MEDIO N x = 1 C max Z Cmax 0 N x (t)dt 21

22 INDICATORI DI PERFORMANCE PER PROBLEMI DI CRITERI BASATI SUL COMPLETION TIME F max C max F C Flow time massimo Completion time massimo (makespan) Flow time medio Completion time medio Il makespan è il tempo totale di produzione P n A volte si usano medie pesate del tipo i=1 P n ic i e i=1 if i con 1, 2,..., n e 1, 2,..., n pesi opportuni (la cui somma è generalmente 1) Si tratta di valori da minimizzare 22

23 INDICATORI DI PERFORMANCE PER PROBLEMI DI CRITERI BASATI SULLE DUE DATE L L max T T max n T Lateness media Lateness massima Tardiness media Tardiness massima Numero di job tardy Anche per questi indicatori è possibile prendere in considerazione delle medie pesate Si tratta di valori da minimizzare 23

24 INDICATORI DI PERFORMANCE PER PROBLEMI DI CRITERI BASATI SULL INVENTORY E SULL UTILIZZAZIONE DELLE MACCHINE N c N p I I max Numero medio di job completati Numero medio di job in corso di esecuzione Idle time medio Idle time massimo, I, I max sono valori da minimizzare N c N p è un valore da massimizzare 24

25 INDICATORI DI PERFORMANCE PER PROBLEMI DI INDICATORI REGOLARI Un indicatore R si dice regolare ( misura regolare ) se è non decrescente rispetto al completion time Sia R funzione dei completion time C 1,C 2,...,C n. Tale misura è regolare se dati risulta C 1 apple C 0 1, C 2 apple C 0 2,..., C n apple C 0 n R(C 1,C 2,...,C n ) apple R(C 0 1,C0 2,...,C0 n ) In pratica, se si hanno due schedule nel primo dei quali i job vengono completati non in ritardo rispetto al completamento dei job del secondo schedule, l utilizzo di una misura regolare assicura che il primo schedule non è peggiore del secondo (è quindi possibile scartare il secondo a favore del primo) 25

26 INDICATORI DI PERFORMANCE PER PROBLEMI DI Gli indicatori basati sul completion time (flow time massimo e medio, completion time massimo e medio) e sulla due date (lateness massima e media, tardiness massima e media, numero di job tardy) visti in precedenza sono misure regolari Non sono misure regolari gli indicatori che tengono conto della earliness 26

27 INDICATORI DI PERFORMANCE PER PROBLEMI DI EQUIVALENZE TRA INDICATORI Due indicatori sono equivalenti se uno schedule che è ottimo per il primo è ottimo anche per il secondo e viceversa TEOREMA I seguenti indicatori di performance sono equivalenti: C, F, W e L TEOREMA Uno schedule che è ottimo rispetto a L max, è anche ottimo rispetto T max TEOREMA I seguenti indicatori di performance sono equivalenti:, e C max N p I TEOREMA N u e TEOREMA N w e C/C max W /C max sono indicatori di performance equivalenti sono indicatori di performance equivalenti 27

28 CLASSIFICAZIONE DEI PROBLEMI DI n/m/a/b NUMERO DI JOB NUMERO DI MACCHINE DISCIPLINA DI SERVIZIO INDICATORE DI PERFORMANCE Disciplina di servizio (se m>1) F P G Flow shop (l ordine delle macchine è lo stesso per tutti i job) Permutation flow-shop (l ordine delle macchine è lo stesso per tutti i job e inoltre si deve trovare uno schedule in cui l ordine di esecuzione dei job è lo stesso per tutte le macchine) General job shop (nessun vincolo tecnologico) Esempio: 6/2/F/C max 28

29 SINGLE MACHINE n/1/a/b Sono problemi semplici ma di un certo interesse pratico (processori nontime-sharing, impianti dedicati alla produzione di specifici item, macchine bottleneck all interno di impianti complessi) Nei problemi di single machine scheduling si assume che tutti i job da processare siano disponibili all inizio, ovvero r i =08J i,i =1,...,n Un risultato che sta alla base della risoluzione dei problemi di single machine scheduling è il seguente TEOREMA In un problema n/1//b, dove B è una misura regolare, esiste uno schedule ottimo in cui non vi sono idle time, cioè la macchina inizia a processare i job all istante t =0 e continua senza interruzioni fino a t temporaneo = C max 29

30 SINGLE MACHINE La conseguenza del precedente teorema è che nei problemi n/1//b (con B misura regolare), per la determinazione di uno schedule ottimo, è sufficiente considerare i permutation schedule Bisogna quindi trovare un permutazione di venga minimizzato l indicatore B J 1,J 2,...,J n in modo che Sia k l indice che indica la posizione di un job nella sequenza di esecuzione è pertanto il job che viene eseguito per k -esimo J i(k) è il processing time del job che viene eseguito per k -esimo p i(k) è la due date del job che viene eseguito per k -esimo d i(k) (si considereranno definizioni analoghe per le altre grandezze che caratterizzano un problemi di scheduling) 30

31 SPT (SHORTEST PROCESSING TIME) n/1//f Si vuole minimizzare il tempo medio di attraversamento del sistema (flow time medio) TEOREMA In un problema tale che n/1//f, il flow time medio è minimizzato da una sequenza p i(k) p i(1) apple p i(2) apple p i(3) apple... apple p i(n) essendo il processing time del job che viene processato per k-esimo Uno schedule fatto in questo modo prende il nome di SPT schedule Uno schedule SPT risolve in maniera ottima anche i seguenti problemi di scheduling: n/1//c, n/1//w, n/1//l, n/1//n u, n/1//n w (cioè minimizza anche il completion time medio, il tempo medio di attesa, la lateness media, il numero medio di job ancora da completare e il numero medio di job in attesa) 31

32 EDD (EARLIEST DUE DATE) n/1//l max Si vuole minimizzare la lateness massima TEOREMA In un problema n/1//l max sequenza tale che, la lateness massima è minimizzato da una essendo la due date del job che viene processato per k-esimo d i(k) d i(1) apple d i(2) apple d i(3) apple... apple d i(k) Uno schedule fatto in questo modo prende il nome di EDD schedule Uno schedule EDD risolve in maniera ottima anche il problema di scheduling: n/1//t max (cioè minimizza anche la tardiness massima) 32

33 ALGORITMO DI MOORE n/1//n T Si vuole minimizzare il numero di job in ritardo (tardy job), indipendentemente da quanto sono in ritardo. Tale problema è risolto dal seguente algoritmo (Algoritmo di Moore) 33

34 ALGORITMO DI MOORE ALGORITMO STEP 1 Sequenziare i job secondo la regola EDD in modo da definire una sequenza di job (J i(1),j i(2),...,j i(n) ) tale che d i(k) apple d i(k+1) per ogni k =1, 2,...,n 1; sia essa la sequenza corrente STEP 2 Trovare il primo job tardy, sia esso si trova alcun job, passare allo step 4 STEP 3 J i(l), nella sequenza corrente; se non Trovare nella sequenza (J i(1),j i(2),...,j i(l) ) il job con il più alto processing time ed escludere esso dalla sequenza corrente; ritornare allo step 2 con una sequenza corrente aggiornata (è più corta di 1 rispetto a prima) STEP 4 Costruire uno schedule composto dalla sequenza corrente di job seguita dai job che sono stati esclusi nelle varie iterazioni dello step 3 (questi ultimi possono essere messi in qualunque ordine); tale schedule è ottimo 34

35 SINGLE MACHINE SCHEDULE OTTIMI VS. SCHEDULE EFFICIENTI Nei casi precedenti è stato mostrato come sia possibile determinare uno schedule che sia ottimo rispetto un certo indicatore di performance In alcuni casi ha però senso considerare delle funzioni di costo che tengano conto di più indicatori di performance (ad esempio, se si vuole penalizzare sia il completamento in ritardo dei job sia i costi di inventory è necessario utilizzare una funzione di e F ) T max In questi casi l obiettivo è determinare uno schedule efficiente Dati due schedule S e S 0, si dice che S 0 è efficiente rispetto gli indicatori di performance µ 1,µ 2,...,µ v se non esiste uno schedule S tale che µ 1 apple µ 0 1 µ 2 apple µ µ v apple µ 0 v con una diseguaglianza stretta in almeno un caso Si dice anche che non esiste uno schedule S che domina S 0 35

36 SINGLE MACHINE SCHEDULE OTTIMI VS. SCHEDULE EFFICIENTI Il risultato importante è che se il costo totale è una funzione crescente nelle variabili µ 1,µ 2,...,µ v prese singolarmente, uno schedule che garantisca il costo minimo (cioè uno schedule ottimo) deve essere uno schedule efficiente T max (un esempio di funzionale di costo crescente nei suoi argomenti e F è la funzione c(t max, F )=4T max +7F ) Si può quindi procedere nella ricerca di tutti gli schedule efficienti e poi, sulla base della funzione di costo adottata, scegliere quello che presenta il costo minore (che sarà quindi lo schedule ottimo) 36

37 ALGORITMO DI SMITH Si voglia determinare uno schedule efficiente rispetto al tempo medio di attraversamento del sistema Fe alla tardiness massima Per ottenere tale schedule si può sfruttare il seguente Algoritmo di Smith L algoritmo di Smith consente di minimizzare il flow time medio (che, avendo supposto nullo il release time di ogni job, coincide con il completion time medio) nell ipotesi che nessun job sia tardy, ovvero che T max =0 (quindi l algoritmo di Smith non trova di per sè uno schedule efficiente ma verrà sfruttato per la determinazione di esso) L algoritmo di Smith si basa sul seguente teorema T max TEOREMA In un problema n job / 1 macchina in cui tutte le due date sono rispettate ( T max =0) esiste uno schedule che minimizza F e in cui il job J P k è n l ultimo ad essere processato, P se e solo se d k i=1 p i e p k p l per n tutti i job J l tali che d l i=1 p i 37

38 ALGORITMO DI SMITH ALGORITMO STEP 1 Siano k = n, = P n i=1 p i e U = {J 1,J 2,...,J n } STEP 2 Trovare J i(k) in U tale che d i(k) e p i(k) p l per tutti i job J l tali che STEP 3 Decrementare k di 1; decrementare della quantità p i(k) ; eliminare J i(k) da U STEP 4 d l Se ci sono ancora job da schedulare (cioè se k 1) ritornare allo step 2; altrimenti fermarsi; in quest ultimo caso, lo schedule ottimo per il problema considerato è (J i(1),j i(2),...,j i(n) ) Ovviamente questo algoritmo va eseguito solamente dopo avere verificato che esista uno schedule EDD in cui T max =0 38

39 ALGORITMO DI SMITH Si rilassi adesso la condizione T max =0, con l obiettivo di determinare uno schedule efficiente rispetto a F e T max F L algoritmo di Smith può essere utilizzato in modo da minimizzare la condizione T max apple Bisogna innanzitutto incrementare tutte le due date della quantità poi considerare il seguente step 2 modificato con e STEP 2 Trovare J i(k) in U tale che d i(k) e p i(k) p l per tutti i job J l tali che d l ; se bisogna effettuare una scelta per J i(k), scegliere quello che ha la due date maggiore Con tale modifica, o è impossibile costruire uno schedule oppure lo schedule risultante è uno schedule efficiente rispetto a F e T max 39

40 FLOW-SHOP E JOB-SHOP Quando il numero di macchine è maggiore di 1, si parla di scheduling in the flow-shop oppure di scheduling in the general job-shop Questi problemi sono di gran lunga più complicati rispetto a quelli visti nel caso di single-machine scheduling. Soltanto per un limitato insieme di problemi esistono degli algoritmi costruttivi che consentono di ottenere lo schedule ottimo Nel caso non siano disponibili algoritmi costruttivi per risolvere un certo problema di scheduling, è necessario ricorrere a metodologie enumerative (come la programmazione dinamica e il branch-and-bound) oppure a metodologie euristiche che però non sono in grado di fornire la soluzione ottima di un problema Anche per questa categoria di problemi assumeremo che tutti i job da processare siano disponibili all inizio, ovvero 40

41 FLOW-SHOP In un flow-shop tutti i job visitano le macchine nello stesso ordine (vincolo tecnologico) Job J 1 Processing Order M 1 M 2 M 3... M m J 2 M 1 M 2 M 3... M m J n M 1 M 2 M 3... M m Esistono due risultati di carattere generale per quanto riguarda i problemi di flow-shop scheduling TEOREMA In un problema n/m/f/b, con B misura regolare, è sufficiente considerare schedule in cui vi sia la stessa sequenza di esecuzione dei job sulle prime due macchine, M 1 e M 2 41

42 TEOREMA FLOW-SHOP In un problema n/m/f/f max non c è bisogno di considerare gli schedule in cui vi sia una diversa sequenza di esecuzione dei job sulle ultime due macchine, M m 1 e M m Conseguenza diretta di questi due teoremi è che, al fine di determinare uno schedule ottimo, nei problemi n/2/f/b (con qualsiasi B purché regolare) n/3/f/f max è possibile considerare esclusivamente i permutation schedule Il problema Johnson n/2/f/f max può essere risolto attraverso l Algoritmo di 42

43 ALGORITMO DI JOHNSON Si devono processare n job attraverso 2 macchine, ciascun job deve visitare le macchine nella sequenza M 1 - M 2, in modo da minimizzare il tempo massimo di attraversamento del sistema (problema n/2/f/f max ) Avendo supposto che i release time siano nulli, tale problema equivale a minimizzare il completion time massimo (makespan) L algoritmo di Johnson si basa sulla seguente considerazione: dato che all inizio la macchina M 2 sarà necessariamente idle (dovendo attendere che il primo job che viene eseguito venga processato da M 1 ), è ragionevole ipotizzare che convenga iniziare a processare sulla macchina il job con il processing time più breve su M 1 analogamente, dato che alla fine sarà idle la macchina, è ragionevole ipotizzare che l ultimo job da eseguire, sulla macchina M 2, sia il job con il processing time più breve su M 2 M 1 M 1 43

44 ALGORITMO DI JOHNSON M 1 M 2 È IDLE QUANDO SI ESEGUE IL PRIMO JOB SU M 1 M 1 È IDLE QUANDO SI ESEGUE L ULTIMO JOB SU M 2 M 2 Sulla base di questa considerazione (e sul fatto che sia sufficiente considerare i permutation schedule), l algoritmo di Johnson determina uno schedule ottimo che consiste in una permutazione di {J 1,J 2,...,J n } tale che i primi job che vengono eseguiti hanno bassi processing time su M 1, mentre gli ultimi job che vengono eseguiti hanno bassi processing time su M 2 Siano, per semplicità: a i = p i,1 Processing time del job sulla macchina b i = p i,2 Processing time del job J i sulla macchina M 2 J i M 1 44

45 ALGORITMO DI JOHNSON ALGORITMO STEP 1 Siano STEP 2 Sia k =1 e l = n U = {J 1,J 2,...,J n } la lista dei job ancora da schedulare STEP 3 Trovare il valore più piccolo tra tutti gli e dei job ancora da schedulare STEP 4 Se il valore più piccolo è a i, schedulare J i nella k-esima posizione della sequenza di esecuzione, togliere J i dalla lista dei job ancora da schedulare, incrementare k di 1, andare allo step 6 STEP 5 b i Se il valore più piccolo è, schedulare J i nella l-esima posizione della sequenza di esecuzione, togliere J i dalla lista dei job ancora da schedulare, decrementare l di 1, andare allo step 6 STEP 6 Se vi sono ancora job da schedulare tornare allo step 3; altrimenti stop a i b i 45

46 ALGORITMO DI JOHNSON L algoritmo di Johnson può essere adattato per risolvere il problema di scheduling n/2/g/f max (in cui non vi è più il vincolo che ciascun job deve essere processato da tutte le macchine) Essendo 2 le macchine, è possibile classificare i job nel seguente modo: Tipo A: job che vengono processati solo da M 1 Tipo B: job che vengono processati solo da M 2 Tipo C: job che vengono processati prima da M 1 e poi da M 2 Tipo D: job che vengono processati prima da M 2 e poi da Uno schedule ottimo può essere ottenuto applicando il seguente algoritmo M 1 46

47 ALGORITMO DI JOHNSON ALGORITMO STEP 1 Schedulare i job di tipo A in qualsiasi ordine; sia STEP 2 Schedulare i job di tipo B in qualsiasi ordine; sia S A S B la sequenza ottenuta la sequenza ottenuta STEP 3 Schedulare i job di tipo C applicando l algoritmo di Johnson visto in precedenza; sia la sequenza ottenuta STEP 4 S C Schedulare i job di tipo D applicando l algoritmo di Johnson visto in precedenza (facendo attenzione perché bisogna considerare M 2 come prima macchina e come seconda); sia la sequenza ottenuta M 1 STEP 5 Uno schedule ottimo è dato dalle seguenti sequenze di esecuzione S D M 1 M 2 : S C! S A! S D : S D! S B! S C 47

48 DI TASK PERIODICI SU SINGLE MACHINE Si considerino attività (task) che devono essere eseguite periodicamente. In questo caso, i job sono i singoli elementi di un task periodico, ovvero le singole esecuzioni dell attività in questione Essendo i task attivati periodicamente, l obiettivo è quello di eseguire i vari job all interno di ogni periodo di attivazione; in altre parole, si ha una deadline in corrispondenza della fine di ogni periodo di attivazione Si suppone che il periodo di attivazione e il tempo di esecuzione dei vari task (quindi dei job) siano costanti ISTANTE DI ATTIVAZIONE DEADLINE a i (k) d i (k) =a i (k + 1) k-esimo JOB DEL TASK i (k+1)-esimo JOB DEL TASK i (k+2)-esimo JOB DEL TASK i t PERIODO DI ATTIVAZIONE PERIODO DI ATTIVAZIONE PERIODO DI ATTIVAZIONE 48

49 DI TASK PERIODICI SU SINGLE MACHINE I vari task da eseguire sono indipendenti tra loro Il problema da affrontare è quello di schedulare su una single machine un insieme di task periodici in modo che tutte le deadline siano soddisfatte n Si considerino task periodici caratterizzati da periodo di attivazione e tempo di esecuzione p i i Il fattore di utilizzazione della single machine è nx p i U = i=1 U apple 1 Condizione necessaria per la schedulabilità dei task è che sia Tale condizione è anche sufficiente solo per alcuni algoritmi di scheduling periodico; per altri la condizione sufficiente sarà U apple U lsm, con U lsm < 1 valore che caratterizza lo specifico algoritmo e che dipende anche dal numero di task da processare i 49

50 ALGORITMO RATE MONOTONIC PRIORITY ORDERING (RMPO) Ad ogni task viene assegnata una priorità inversamente proporzionale al proprio periodo di attivazione La priorità viene utilizzata per schedulare i task mediante un meccanismo di preemption Ad ogni attivazione di un nuovo job di un task, si aggiorna la coda dei job pronti e si manda in esecuzione quello caratterizzato dalla maggiore priorità TASK 1 TASK 2 TASK 3 t t t PREEMPTION DEL TASK 1 SUL TASK 2 PREEMPTION DEL TASK 1 SUL TASK 3 PREEMPTION DEL TASK 3 SUL TASK 2 PREEMPTION DEL TASK 1 SUL TASK 3 50

51 ALGORITMO RATE MONOTONIC PRIORITY ORDERING (RMPO) L algoritmo RMPO è un algoritmo statico: la priorità dei diversi task è assegnata a priori e rimane tale per tutta la durata del funzionamento del sistema L algoritmo RMPO è ottimo nel campo dello scheduling di processi periodici con assegnazione statica delle priorità Questo significa anche che se un insieme di task periodici non sono schedulabili tramite l algoritmo RMPO, allora non esiste nessun altro algoritmo di tipo statico che riesca a risolvere lo stesso problema di scheduling La schedulabilità di task periodici attraverso l algoritmo RMPO è garantita per utilizzazioni inferiori al valore massimo U lsm = n(2 1/n 1) 1 ln

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

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

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

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

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

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

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

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

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

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

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

Scheduling di processi HRT

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

Dettagli

Sistemi Real-Time Ing. Rigutini Leonardo

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

Dettagli

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

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

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

Scheduling. Scheduling 14/12/2003 1/7

Scheduling. Scheduling 14/12/2003 1/7 Scheduling In un computer multiprogrammato più processi competono per l'uso della CPU. La parte di sistema operativo che decide quale processo mandare in esecuzione è lo scheduler. Batch OS: scheduling

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

Corso di Automazione Industriale 1. Capitolo 3

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

Dettagli

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

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

SCHEDULING INDICE SCHEDULING ESEMPIO INTRODUTTIVO ESEMPIO INTRODUTTIVO SCHEDULING SCHEDULING

SCHEDULING INDICE SCHEDULING ESEMPIO INTRODUTTIVO ESEMPIO INTRODUTTIVO SCHEDULING SCHEDULING orso di Laurea Triennale in INGEGNERIA GESTIONALE Anno Accademico 2012/13 Prof. Davide GIGLIO INDIE Esempio Inroduivo Generalià sui problemi di scheduling SINGLE MAHINE SPT (shores processing ime) scheduling

Dettagli

Ottimizzazione della produzione tramite software di scheduling

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

Dettagli

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 2 Algoritmi di scheduling 2.1 Sistemi Real Time In un sistema in tempo reale (real time) il tempo gioca un ruolo essenziale. Le applicazioni di tali sistemi sono molteplici e di larga diffusione.

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

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

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

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo CPU Scheduling della CPU: commuta l uso della CPU tra i vari processi Scheduler della CPU (a

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

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

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

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

Lezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 6 Sistemi operativi 31 marzo 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 6.1 Di cosa parliamo in questa lezione? La schedulazione 1 e caratteristiche

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

Lo scheduling. Tipici schedulatori

Lo scheduling. Tipici schedulatori Lo scheduling Un processo durante la sua evoluzione è o running o in attesa di un evento. Nel secondo caso trattasi della disponibilità di una risorsa (CPU, I/O, struttura dati, ecc.) di cui il processo

Dettagli

Sistemi di Controllo Real Time

Sistemi di Controllo Real Time Sistemi di Controllo Real Time Automazione 13/10/2015 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO SISTEMI REAL TIME CLASSIFICAZIONE DEI SISTEMI REAL TIME PARALLELISMO E PROGRAMMAZIONE CONCORRENTE SISTEMI

Dettagli

SISTEMI IN TEMPO REALE

SISTEMI IN TEMPO REALE SISTEMI IN TEMPO REALE Definizione [Stankovic 88] I sistemi real-time (RT) sono quei sistemi di calcolo in cui la correttezza di funzionamento non dipende soltanto dalla validità dei risultati ottenuti

Dettagli

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

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

Dettagli

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

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

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

Lez. 4 Lo scheduling dei processi. Corso: Sistemi Operativi Danilo Bruschi

Lez. 4 Lo scheduling dei processi. Corso: Sistemi Operativi Danilo Bruschi Sistemi Operativi Lez. 4 Lo scheduling dei processi 1 Cicli d'elaborazione In ogni processo i burst di CPU si alternano con i tempi di I/O 2 Uso tipico di un calcolatore 3 CPU-bound e I/O-bound Processi

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

Scheduling della CPU:

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

Dettagli

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

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

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

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

Dettagli

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano scheduling Riedizione modifi cata delle slide della Prof. DI Stefano 1 Scheduling Alternanza di CPU burst e periodi di I/O wait a) processo CPU-bound b) processo I/O bound 2 CPU Scheduler Seleziona uno

Dettagli

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi.

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi. Concetti fondamentali Scheduling della CU Introduzione allo scheduling Uno degli obbiettivi della multiprogrammazione è quello di massimizzare l utilizzo delle risorse e in particolare della CU er raggiungere

Dettagli

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione SISTEMI OPERATIVI (parte prima - gestione dei processi) Tra i compiti di un sistema operativo sicuramente troviamo i seguenti: Gestione dei processi Gestione della memoria Gestione del file-system Ci occuperemo

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

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

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

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

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

Processi e Thread. Scheduling (Schedulazione)

Processi e Thread. Scheduling (Schedulazione) Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: attivita` di allocazione della risorsa CPU ai processi. Scheduler

Dettagli

Implementazione di sistemi real time

Implementazione di sistemi real time Implementazione di sistemi real time Automazione 28/10/2015 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO HARDWARE ABSTRACTION LAYER IMPLEMENTAZIONE EVENT-DRIVEN IMPLEMENTAZIONE TIME-DRIVEN SISTEMI DI

Dettagli

Capitolo 5: Scheduling della CPU! Scheduling della CPU! Concetti di Base! Alternanza di Sequenze di CPU- e I/O-Burst!

Capitolo 5: Scheduling della CPU! Scheduling della CPU! Concetti di Base! Alternanza di Sequenze di CPU- e I/O-Burst! Capitolo 5: Scheduling della CPU Criteri di Scheduling Algoritmi di Scheduling Cenni Scheduling per sistemi multprocessore Modelli Asimmetrico e Simmetrico Scheduling della CPU 5.2 Concetti di Base Alternanza

Dettagli

Capitolo 6: CPU scheduling

Capitolo 6: CPU scheduling Capitolo 6: CPU scheduling Concetti di base. Criteri di schedulazione. Gli algoritmi di schedulazione. Schedulazione per sistemi multiprocessore. Schedulazione per sistemi in tempo reale. Schedulazione

Dettagli

Scheduling. Lo scheduler è la parte del SO che si occupa di

Scheduling. Lo scheduler è la parte del SO che si occupa di Scheduling Lo scheduler è la parte del SO che si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L algoritmo di scheduling (la politica utilizzata dallo scheduler) ha impatto

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

Scheduling. Livelli Algoritmi

Scheduling. Livelli Algoritmi Scheduling Livelli Algoritmi Introduzione Lo scheduling Ha lo scopo di decidere quale processo eseguire in un dato istante Si realizza mediante un componente specifico del sistema operativo Lo scheduler

Dettagli

Sistemi Operativi. Scheduling dei processi

Sistemi Operativi. Scheduling dei processi Sistemi Operativi Scheduling dei processi Scheduling dei processi Se più processi sono eseguibili in un certo istante il sistema deve decidere quale eseguire per primo La parte del sistema operativo che

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

I Sistemi di produzione PULL

I Sistemi di produzione PULL I Sistemi di produzione PULL Sistema Push Il sistema push pianifica e schedula la produzione basandosi sulla previsione di domanda o sull acquisizione di ordini dei clienti. Quindi si controlla il rilascio

Dettagli

Gli stati di un processo

Gli stati di un processo Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere

Dettagli

SISTEMI DI PRODUZIONE DISCRETA

SISTEMI DI PRODUZIONE DISCRETA Corso di Laurea Triennale in INGEGNERIA GESTIONALE Anno Accademico 212/13 Prof. Davide GIGLIO GENERALITÀ SUI PROCESSI PRODUTTIVI DISCRETI I processi produttivi possono dar luogo a prodotti continui ( fluidi

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

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

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

Dettagli

RTAI e scheduling. Andrea Sambi

RTAI e scheduling. Andrea Sambi RTAI e scheduling Andrea Sambi Scheduling Linux Due politiche di scheduling priority-driven possibili. FIFO priorità uguali Processo 1 iniziato Processo 1: iterazione 1 Processo 1: iterazione 2 Processo

Dettagli

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni Sistemi operativi real time basati su Linux: gestione delle risorse e dei processi. Tesina per l esame di Sistemi Operativi a cura di. Prof. Aldo Franco Dragoni Corso di laurea in Ingegneria Informatica

Dettagli

Scheduling della CPU Simulazione in linguaggio Java

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

Dettagli

Sistemi Operativi Kernel

Sistemi Operativi Kernel Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni

Dettagli

JAVA REAL-TIME: ANALISI DELL ARCHITETTURA E VALUTAZIONE SPERIMENTALE DELLA PIATTAFORMA SOLARIS 10.9

JAVA REAL-TIME: ANALISI DELL ARCHITETTURA E VALUTAZIONE SPERIMENTALE DELLA PIATTAFORMA SOLARIS 10.9 JAVA REAL-TIME: ANALISI DELL ARCHITETTURA E VALUTAZIONE SPERIMENTALE DELLA PIATTAFORMA SOLARIS 10.9 Candidato: Marco Nanni RELATORE: Chiar.mo Prof. Eugenio Faldella CORRELATORI Chiar.mo Prof. Marco Prandini

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

Low Power Scheduling per Sistemi Real Time

Low Power Scheduling per Sistemi Real Time Low Power Scheduling per Sistemi Real Time Corso di Sistemi Real Time A.A. 2007-08 Ing. Giordano Kaczynski Sistemi Real Time 1 Introduzione Il consumo di energia nei sistemi portatili negli ultimi anni

Dettagli

Corso di Gestione dei sistemi di trasporto. Cap. 10 Pianificazione e ottimizzazione di terminal container. S. Sacone, S.

Corso di Gestione dei sistemi di trasporto. Cap. 10 Pianificazione e ottimizzazione di terminal container. S. Sacone, S. Corso di Gestione dei sistemi di trasporto Cap. 10 Pianificazione e ottimizzazione di terminal container S. Sacone, S. Siri - DIST Introduzione Negli ultimi anni si è fatta sempre più pressante l esigenza

Dettagli

Schedulazione in RTAI

Schedulazione in RTAI Schedulazione in RTAI RTAI: modulo kernel rt_hello_km.c #include #include Thread real-time... Ciclo infinito RT_TASK task; Periodico... void task_routine() { while(1) { /* Codice

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

Sistemi Operativi: Sistemi realtime

Sistemi Operativi: Sistemi realtime 1 Sistemi Operativi: Sistemi realtime Amos Brocco, Ricercatore, DTI / ISIN 30 luglio 2012 Basato su: [STA09] Operating Systems: Internals and Design Principles, 6/E, William Stallings, Prentice Hall, 2009

Dettagli

5. Scheduling della CPU. 5.1 Concetti Fondamentali. 5.1.2. Lo scheduler della CPU

5. Scheduling della CPU. 5.1 Concetti Fondamentali. 5.1.2. Lo scheduler della CPU 5. Scheduling della CPU 1 Il multitasking e il time sharing (quando è usato) cercano di massimizzare l utilizzo della CPU. Per questo, il progettista del SO deve stabilire delle regole per decidere, quando

Dettagli

5. Scheduling della CPU

5. Scheduling della CPU 1 5. Scheduling della CPU Il multitasking e il time sharing (quando è usato) cercano di massimizzare l utilizzo della CPU. Per questo, il progettista del SO deve stabilire delle regole per decidere, quando

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

1 Concetti Introduttivi

1 Concetti Introduttivi 1 Concetti Introduttivi 1.1 Real time Esistono vari livelli di real time: Hard si garantisce che ogni job venga eseguito rigorosamente entro un certo lasso di tempo (esempio: comandi per il movimento 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

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

Un sistema multi-agente per lo scheduling on-line in ambito manifatturiero

Un sistema multi-agente per lo scheduling on-line in ambito manifatturiero Università degli Studi di Genova Facoltà di Ingegneria TESI DI LAUREA Un sistema multi-agente per lo scheduling on-line in ambito manifatturiero Relatori: Chiar.mo Prof. Antonio Boccalatte Chiar.mo Prof.

Dettagli

G. Piscitelli Politecnico di Bari 1 of 23

G. Piscitelli Politecnico di Bari 1 of 23 SISTEMI IN TEMPO REALE Strongly recommended readings: Scheduling Algorithms and O.S. support for Real-Time Systems (January 1994) Real-Time Computing: A New Discipline of Computer Science and Engineering

Dettagli

Schedulazione non omogenea

Schedulazione non omogenea SERVER APERIODICI Mario Collotta Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania mcollotta@diit.unict.it Schedulazione non omogenea Task periodici hard RT con RM

Dettagli

Corso di Elettronica dei Sistemi Programmabili. Sistemi Operativi Real Time. Introduzione. Aprile 2014 Stefano Salvatori 1/28

Corso di Elettronica dei Sistemi Programmabili. Sistemi Operativi Real Time. Introduzione. Aprile 2014 Stefano Salvatori 1/28 Corso di Elettronica dei Sistemi Programmabili Sistemi Operativi Real Time Introduzione Aprile 2014 Stefano Salvatori 1/28 Sommario Definizioni livelli di astrazione processi di tipo batch e processi interattivi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso

Dettagli

Processo - generalità

Processo - generalità I processi Processo - generalità Astrazione di un attività; Entità attiva che ha un suo percorso evolutivo; Attività = azione dedicata al raggiungimento di uno scopo Il processo esegue istruzioni per svolgere

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

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

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

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

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

Dettagli

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007 2007 SISTEMI OPERATIVI Gestione dei processi Domande di verifica Luca Orrù Centro Multimediale Montiferru 13/05/2007 Gestione dei processi 1. Qual è la differenza tra un programma e un processo? Un programma

Dettagli

Scheduling. Dipartimento di Informatica Università di Verona, Italy. Sommario

Scheduling. Dipartimento di Informatica Università di Verona, Italy. Sommario Scheduling Dipartimento di Informatica Università di Verona, Italy Sommario Concetto di scheduling Tipi di scheduling Lungo termine Breve termine (scheduling della CPU) Medio termine Scheduling della CPU

Dettagli

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) #include void main (int argc, char *argv[]) { pid = fork(); /* genera nuovo processo */ if (pid < 0) { /* errore */ fprintf(stderr,

Dettagli