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

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

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

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

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

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

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

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

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

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

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

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

1) Descrivere dettagliatamente a quale problema di scheduling corrisponde il problema.

1) Descrivere dettagliatamente a quale problema di scheduling corrisponde il problema. Un veicolo viene utilizzato da una società di trasporti per trasportare beni a partire da un unico deposito verso prefissate località di destinazione. Si supponga che occorre trasportare singolarmente

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

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

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

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

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

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

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

2. Leggi finanziarie di capitalizzazione

2. Leggi finanziarie di capitalizzazione 2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M

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

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

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

Dettagli

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

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

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

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

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

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

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

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

RETI DI TELECOMUNICAZIONE

RETI DI TELECOMUNICAZIONE RETI DI TELECOMUNICAZIONE SISTEMI M/G/1 e M/D/1 Sistemi M/G/1 Nei sistemi M/G/1: i clienti arrivano secondo un processo di Poisson con parametro λ i tempi di servizio hanno una distribuzione generale della

Dettagli

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

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

Dettagli

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

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

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

Dettagli

(a cura di Francesca Godioli)

(a cura di Francesca Godioli) lezione n. 12 (a cura di Francesca Godioli) Ad ogni categoria della variabile qualitativa si può assegnare un valore numerico che viene chiamato SCORE. Passare dalla variabile qualitativa X2 a dei valori

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

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 3 Algoritmi di scheduling Come caso particolare di studio, di seguito è discussa in dettaglio la politica di scheduling del sistema operativo LINUX (kernel precedente alla versione 2.6). Sono

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

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

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

Gestione del processore e dei processi

Gestione del processore e dei processi Il processore è la componente più importante di un sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo Il ruolo del processore

Dettagli

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse

Dettagli

CALCOLO COMBINATORIO

CALCOLO COMBINATORIO CALCOLO COMBINATORIO 1 Modi di formare gruppi di k oggetti presi da n dati 11 disposizioni semplici, permutazioni Dati n oggetti distinti a 1,, a n si chiamano disposizioni semplici di questi oggetti,

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

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

MODELLISTICA DI IMPIANTI E SISTEMI 2

MODELLISTICA DI IMPIANTI E SISTEMI 2 MODELLISTICA DI IMPIANTI E SISTEMI 2 Indice 1 Dalla traccia al modello 2 1.1 BAS................................................ 4 I Traccia Si consideri il problema della gestione efficiente dei servizi

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

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

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Statistica. Lezione 6

Statistica. Lezione 6 Università degli Studi del Piemonte Orientale Corso di Laurea in Infermieristica Corso integrato in Scienze della Prevenzione e dei Servizi sanitari Statistica Lezione 6 a.a 011-01 Dott.ssa Daniela Ferrante

Dettagli

Fondamenti e didattica di Matematica Finanziaria

Fondamenti e didattica di Matematica Finanziaria Fondamenti e didattica di Matematica Finanziaria Silvana Stefani Piazza dell Ateneo Nuovo 1-20126 MILANO U6-368 silvana.stefani@unimib.it 1 Unità 9 Contenuti della lezione Operazioni finanziarie, criterio

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

Traccia di soluzione dell esercizio del 25/1/2005

Traccia di soluzione dell esercizio del 25/1/2005 Traccia di soluzione dell esercizio del 25/1/2005 1 Casi d uso I casi d uso sono in Figura 1. Ci sono solo due attori: il Capo officina e il generico Meccanico. Figura 1: Diagramma dei casi d uso. 2 Modello

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

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

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

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

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

Dettagli

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

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

Dettagli

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0

LEZIONE 23. Esempio 23.1.3. Si consideri la matrice (si veda l Esempio 22.2.5) A = 1 2 2 3 3 0 LEZIONE 23 231 Diagonalizzazione di matrici Abbiamo visto nella precedente lezione che, in generale, non è immediato che, data una matrice A k n,n con k = R, C, esista sempre una base costituita da suoi

Dettagli

J. Assfalg Appunti di Sistemi Operativi

J. Assfalg Appunti di Sistemi Operativi Lo scheduler di Linux (kernel 2.4) La politica di scheduling di Linux si propone il raggiungimento dei seguenti obiettivi (molti dei quali sono in contrasto): timesharing gestione di priorità dinamiche

Dettagli

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

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

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

CONTROLLO DI GESTIONE DELLO STUDIO

CONTROLLO DI GESTIONE DELLO STUDIO CONTROLLO DI GESTIONE DELLO STUDIO Con il controllo di gestione dello studio il commercialista può meglio controllare le attività svolte dai propri collaboratori dello studio nei confronti dei clienti

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Valutazione degli investimenti aziendali

Valutazione degli investimenti aziendali Finanza Aziendale Analisi e valutazioni per le decisioni aziendali Valutazione degli investimenti aziendali Capitolo 18 Indice degli argomenti 1. Definizione e classificazione degli investimenti 2. I profili

Dettagli

Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore

Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore 5.2 Silberschatz, Galvin and Gagne 2005 1 Massimizzare lʼutilizzo della

Dettagli

Matrice Excel Calcolo rata con IMPORTO DEL FINANZIAMENTO determinato dall'utente

Matrice Excel Calcolo rata con IMPORTO DEL FINANZIAMENTO determinato dall'utente Matrice Excel Calcolo rata con IMPORTO DEL FINANZIAMENTO determinato dall'utente L'acquisto di un immobile comporta un impegno finanziario notevole e non sempre è possibile disporre della somma di denaro

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

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

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

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

Dettagli

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

4. Operazioni elementari per righe e colonne

4. Operazioni elementari per righe e colonne 4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R Studio di funzione Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R : allo scopo di determinarne le caratteristiche principali.

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Leasing secondo lo IAS 17

Leasing secondo lo IAS 17 Leasing secondo lo IAS 17 Leasing: Ias 17 Lo Ias 17 prevede modalità diverse di rappresentazione contabile a seconda si tratti di leasing finanziario o di leasing operativo. Il leasing è un contratto per

Dettagli

Esponenziali elogaritmi

Esponenziali elogaritmi Esponenziali elogaritmi Potenze ad esponente reale Ricordiamo che per un qualsiasi numero razionale m n prendere n>0) si pone a m n = n a m (in cui si può sempre a patto che a sia un numero reale positivo.

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

Transitori del primo ordine

Transitori del primo ordine Università di Ferrara Corso di Elettrotecnica Transitori del primo ordine Si consideri il circuito in figura, composto da un generatore ideale di tensione, una resistenza ed una capacità. I tre bipoli

Dettagli

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza vers.3 in lavorazione Docente SAFFI FABIO Contenuti 01.Esercizi generici sul diagramma di flusso - flow chart... 2

Dettagli

Un modello matematico di investimento ottimale

Un modello matematico di investimento ottimale Un modello matematico di investimento ottimale Tiziano Vargiolu 1 1 Università degli Studi di Padova Liceo Scientifico Benedetti Venezia, giovedì 30 marzo 2011 Outline 1 Investimento per un singolo agente

Dettagli

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni CARLO MANNINO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica

Dettagli

Programmazione dinamica

Programmazione dinamica Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli