I problemi di scheduling

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "I problemi di scheduling"

Transcript

1 I problemi di scheduling ESTRATTO DAL VOLUME Operations Management Modelli e metodi per la logistica II Edizione Autore: Giuseppe Bruno Edizioni Scientifiche Italiane

2 SOMMARIO. I problemi di scheduling riguardano l uso nel tempo di risorse limitate per le quali esiste una domanda di utilizzazione. In questo capitolo, dopo una introduzione nella quale si effettua la descrizione e la classificazione dei possibili problemi, si passano in rassegna i principali modelli e si illustrano le tecniche utilizzabili per la loro risoluzione INTRODUZIONE Un processo di produzione si compone di operazioni per effettuare le quali è necessario l impiego di risorse (manodopera, macchinari). Si pone, pertanto, il problema di allocare le operazioni alle risorse disponibili ( loading), di determinare la sequenza secondo la quale le operazioni vanno eseguite (sequencing) ed infine di definire, per ciascuna operazione, una schedulazione ossia l individuazione degli istanti di inizio e di completamento di ciascuna operazione (scheduling). I termini scheduling o schedulazione possono essere utilizzati per indicare la tempificazione secondo la quale le operazioni devono essere realizzate e il processo che conduce alla individuazione di tale tempificazione. Diverse applicazioni possono essere ricondotte a problemi di scheduling: la disciplina di accesso di utenti ad un servizio, l assegnazione di operazioni a stazioni di lavoro durante il processo di trasformazione di un prodotto, la tempificazione di attività da svolgere all interno di un progetto complesso, l attribuzione di aule ad un insieme di classi, la regolazione degli accessi di veicoli ad un incrocio attraverso il controllo semaforico, l assegnazione di binari a convogli ferroviari, l utilizzazione di piste e/o gates da parte di aerei in arrivo o in partenza da un aeroporto. La definizione di uno scheduling può essere molto complicata per la

3 presenza di vincoli relativi alle attività da svolgere ed alle risorse a disposizione. Possono esistere, ad esempio, relazioni di precedenza tra le operazioni (es: la trasformazione di un prodotto avviene secondo una sequenza ordinata di lavorazioni), vincoli sui tempi di realizzazione (es: una dete r- minata procedura deve completarsi entro un tempo stabilito) e/o sulle modalità di utilizzo di una certa risorsa (es: due aerei che decollano in successione devono rispettare una distanza di sicurezza), sull uso simultaneo di risorse (es: due treni non possono sostare nello stesso tempo sullo stesso binario), sui tempi di disponibilità delle risorse (es: le aule a disposizione possono essere utilizzate soltanto in certi orari della giornata), sulla continuità nell uso delle risorse (es: dopo un certo periodo di utilizzazione le risorse vanno sottoposte ad operazioni di manutenzione), sui tempi di attesa per l effettuazione di un operazione (es: un utente che accede ad un servizio non può rimanere in attesa più di un certo periodo massimo). Per definire una schedulazione efficiente bisogna individuare opportuni parametri di valutazione legati all uso delle risorse, alla capacità di assicurare una risposta alle richieste in maniera rapida e soddisfacente, al contenimento dei costi di gestione. La scelta dell obiettivo da perseguire dipende dalle applicazioni, dai casi particolari e dalle scelte del decisore. I problemi di scheduling possono essere rappresentati attraverso opportuni modelli. La complessità dei modelli dipende dalle risorse a disposizione, dalla tipologia dei vincoli presenti, dalla scelta degli obiettivi. Nel seguito si illustrano i modelli fondamentali per la descrizione dei problemi di scheduling DEFINIZIONI FONDAMENTALI Sia M un insieme di m macchine e O un insieme di n operazioni da effettuare; un problema di scheduling consiste nell assegnare le operazioni O alle macchine M nel rispetto di alcuni vincoli. Le macchine rappresentano le risorse e possono essere indicate anche con i termini processori o stazioni di lavoro; le operazioni sono le richieste di utilizzazione e possono essere indicate anche con i termini attività, compiti o task. Una macchina é dedicata se può svolgere solo determinate operazioni; è, invece, non dedicata o parallela se essa può effettuare tutte le possibili operazioni; in quest ultimo caso le macchine possono essere identiche se hanno la stessa velocità di processamento, uniformi se la velocità è differente ma costante ed indipendente dall operazione, incorrelate se le velocità dipendono dall operazione da effettuare.

4 In presenza di macchine dedicate ha senso parlare di lavorazione o job, ossia di un insieme di operazioni caratterizzate dal fatto che due operazioni successive devono essere realizzate su macchine differenti. A ciascuna operazione j è possibile associare i seguenti parametri: Tempo di esecuzione o di processamento (processing time) p kj E il tempo che occorre alla macchina k per eseguire l operazione j. Nel caso di macchine identiche si ha che pkj=pj mentre, per macchine uniformi, pkj=pj/vk dove pj è detto tempo di processamento standard ed è dato dal tempo di esecuzione dell operazione j con la macchina più lenta, e vk è il fattore di velocità della macchina k. Peso o priorità (weight) wj È una misura della priorità dell operazione j. Ponendo wu=1 per l operazione u ritenuta meno importante, il peso wj>1 rappresenta un indice di priorità dell operazione j rispetto all operazione u. Tempo di rilascio (release time) r j E l istante di tempo a partire dal quale l operazione j è pronta per essere processata. Se tale istante è lo stesso per ogni operazione, si pone r j=0 per ogni j. In questo caso si parla di scheduling statico in contrapposizione al caso generale di scheduling dinamico. Tempo di inizio (start time) s j E l istante in cui viene iniziata l operazione j e, pertanto, s j r j. Tempo di completamento (completion time) C j E l istante di tempo in corrispondenza del quale termina l esecuzione di j. Tempo di flusso (flow time) Fj=Cj-rj Rappresenta l intervallo tra l istante in cui l operazione è pronta per essere eseguita e l istante in cui l operazione é completata; in altri termini, il tempo di flusso é dato dalla somma dei tempi di attesa e di quelli di esecuzione. Nel caso di scheduling statico (rj=0 j) il tempo di flusso coincide con il tempo di completamento. Tempo di scadenza (due date) d j Rappresenta l istante entro cui l operazione j dovrebbe essere completata; se tale scadenza non viene rispettata occorre valutare una penalità. Termine massimo (deadline) d j Indica il termine perentorio entro cui bisogna completare l operazione j; a differenza del tempo di scadenza, non è ammissibile una schedulazione

5 con operazioni che abbiano tempi di completamento oltre le deadlines. Ritardo (lateness) Lj=Cj-dj E la differenza tra il tempo di completamento e il tempo di scadenza; se Lj>0 l operazione é stata completata in ritardo rispetto alla scadenza; se Lj<0, invece, essa é stata completata in anticipo. Tardiness Tj= max{lj, 0} Ha significato analogo al ritardo ma tiene conto solo dei ritardi rispetto ai tempi di completamento. Scorrimento (slack) slj=dj-rj-pj Rappresenta lo scorrimento temporale possibile per l esecuzione dell operazione. Tempo di setup (setup time) sij Rappresenta il tempo minimo necessario al passaggio, su una determinata macchina, dall operazione i all operazione j. In pratica, una operazione j può iniziare a partire dall istante sj=ci+sij, se Ci è il tempo di completamento dell operazione i che la precede. Una soluzione di un problema di scheduling viene rappresentata utilizzando i diagrammi di Gantt. Sull ascissa si riporta il tempo mentre le ordinate vengono suddivise sulla base del numero delle macchine; ogni operazione è raffigurata con un rettangolo di base pari al tempo di processamento. Utilizzando questa rappresentazione, in Figura 6.1 è illustrato il significato di alcune delle variabili introdotte. F j p j j j r j C j dj t dj C j t Lj<0, Dj=0 FIG Tempo di flusso, ritardo e tardiness Lj>0, Dj<0

6 Risolvere un problema di scheduling significa determinare la tempificazione delle operazioni su ogni macchina nel rispetto dei seguenti vincoli: ogni macchina deve effettuare al più una operazione alla volta e, viceversa, ogni operazione deve essere eseguita al massimo da una macchina alla volta; un operazione j deve essere realizzata all interno dell intervallo [rj, dj]; tutte le operazioni devono essere eseguite nel rispetto dei vincoli tecnologici e sulla disponibilità delle risorse. I vincoli tecnologici possono essere di vario tipo. Se l esecuzione di un operazione può essere interrotta per essere ripresa in tempi successivi si parla di scheduling preemptive, altrimenti di scheduling non preemptive (Figura 6.2). In alcuni casi possono esistere vincoli di precedenza tra operazioni; se per iniziare l esecuzione di u occorre prima completare v si dirà che u<v. Se tra due operazioni esiste una relazione di precedenza, esse si dicono dipendenti, in caso contrario si parla di operazioni indipendenti. E possibile utilizzare diversi criteri per valutare l efficienza di una schedulazione. Gli obiettivi più comuni riguardano la minimizzazione di uno dei parametri indicati in Figura 6.3. Macchina 1 j Macchina 2 j t FIG Scheduling preemptive di un operazione su due macchine Obiettivo Espressione 1 Tempo di completamento massimo (makespan) Cmax= max{cj} 2 Somma pesata dei tempi di completamento wjcj 3 Somma pesata dei tempi di flusso wjfj 4 Somma pesata dei ritardi wjlj 5 Ritardo massimo Lmax= max{lj} 6 Massima tardiness Tmax= max{tj} 7 Numero di operazioni in ritardo δ(lj) con δ(lj)=1 se Lj>0; δ(lj)=0 se Lj 0 8 Numero pesato di operazioni in ritardo w j δ(lj) con δ(lj)=1 se Lj>0; δ(lj)=0 se Lj 0 9 Somma pesata delle tardiness wjtj

7 FIG Obiettivi per problemi di scheduling Minimizzare il tempo massimo di completamento di un operazione detto makespan (obiettivo 1) è l obiettivo più frequentemente utilizzato per ottenere una schedulazione con la più efficiente utilizzazione complessiva delle risorse, dal momento che completare le operazioni il più presto possibile rende le risorse disponibili prima per altre utilizzazioni (Figura 6.4). La minimizzazione della somma dei tempi di completamento, dei tempi di flusso o dei ritardi (obiettivi 2,3,4) è orientata a minimizzare il tempo di attesa medio delle operazioni. Tali obiettivi coincidono nel senso che una soluzione che ottimizza la somma dei tempi di completamento ottimizza anche gli altri due obiettivi e viceversa. Essi risultano inoltre robusti, nel senso che schedulazioni ottimali secondo questi obiettivi producono buone soluzioni anche rispetto ad altri obiettivi. La minimizzazione del massimo ritardo, della massima tardiness e del numero di operazioni in ritardo (obiettivi 5,6,7) puntano a ridurre le inefficienze complessive della schedulazione rispetto alle scadenze. Gli obiettivi della somma pesata delle tardiness e del numero pesato delle operazioni in ritardo (obiettivi 8,9) danno luogo a problemi molto complessi dal punto di vista computazionale. I criteri di ottimizzazione, quindi, possono distinguersi in obiettivi o- rientati all efficienza o al makespan (obiettivo 1), obiettivi orientati ai tempi di flusso o ai tempi di risposta (obiettivi 2,3,4) e obiettivi orientati al rispetto delle scadenze (obiettivi 5,6,7,8,9). Tutti gli obiettivi indicati sono funzioni non decrescenti dei tempi di completamento delle operazioni e, pertanto, sono detti regolari. Per chiarire questo concetto si faccia riferimento ad una schedulazione con valore di funzione obiettivo f e che presenti, per l operazione k, un tempo di completamento Ck; se si considera una nuova schedulazione con gli stessi tempi di completamento ad eccezione dell operazione k caratterizzata da un tempo di completamento C k>ck, in corrispondenza di questa schedulazione un obiettivo regolare sarà certamente caratterizzato da un nuovo valore f f. Macchina Macchina Macchina 3 3 7

8 Cmax FIG Makespan per una schedulazione su tre macchine t CLASSIFICAZIONE DEI PROBLEMI DI SCHEDULING Per effettuare una classificazione dei problemi di scheduling, occorre analizzare le caratteristiche delle macchine e delle operazioni, il tipo e la natura dei vincoli da soddisfare e la funzione obiettivo. Sulla base delle caratteristiche delle operazioni è possibile distinguere tra problemi a fase unica e problemi multifase. Nel primo caso tutte le lavorazioni richiedono una sola operazione e, pertanto, si può parlare indifferentemente di lavorazione o operazione (job o task); le operazioni possono essere realizzate su una sola macchina (scheduling su macchina singola) o su più macchine (scheduling su macchine parallele). Nello scheduling multifase ogni job richiede che si effettuino operazioni su macchine dedicate tra le quali esistono vincoli di precedenza. E possibile distinguere tra problemi Flow Shop in cui le operazioni sono eseguite dallo stesso insieme di macchine e con lo stesso ordine di precedenza e problemi Job Shop in cui ciascun job può presentare caratteristiche diverse. Per quanto riguarda i vincoli temporali, si parla di problemi dinamici quando le operazioni possono essere eseguite solo a partire da un certo istante (rj) e problemi statici quando non vi sono vincoli sul tempo di inizio e le operazioni, quindi, sono tutte disponibili a partire dallo stesso istante. Possono esistere, inoltre, vincoli sul tempo di fine al più tardi (dj o dj), sulla possibilità o meno di scheduling con interruzione (preemptive), sull esistenza di relazioni di precedenza tra operazioni, oltre a vincoli generali sul processo di schedulazione (es: esistenza di buffers di capacità limitata, limitazione sul numero di operazioni da realizzare per ogni lavorazione). In sintesi, per definire un problema di scheduling, è necessario specificare una terna di informazioni α β γ con α informazioni sul processo di scheduling (numero e tipo di macchine (identiche, uniformi, incorrelate), monofase o multifase); β informazioni relative ai vincoli presenti; γ funzione obiettivo. Nelle Figure 6.5 e 6.6 sono indicati i codici che saranno utilizzati per indicare i diversi problemi. Ad esempio P rj, preemptive ΣFj indica un

9 problema di scheduling dinamico su macchine parallele con possibilità di interruzioni in cui si intende minimizzare la somma dei tempi di flusso; F2 Cmax, invece, indica un Flow Shop a due macchine con l obiettivo di minimizzare il makespan TECNICHE DI RISOLUZIONE DI PROBLEMI DI SCHEDULING I problemi di scheduling sono caratterizzati da difficoltà computazionali molto diverse secondo il tipo di problema. Ne consegue che, in base alla complessità, si ricorre a tecniche esatte o a tecniche euristiche di risoluzione. Le tecniche euristiche, a loro volta, si dividono in tecniche costruttive e migliorative. Nel seguito si illustrano modelli e metodi di risoluzione per diversi tipi di problemi (monofase su macchina singola e macchine parallele, multifase Flow Shop e Job Shop) TECNICHE COSTRUTTIVE Tecniche basate su liste di priorità Si tratta di algoritmi che consentono, sulla base di regole o indici di priorità (dispatching rules), di ordinare le operazioni da eseguire. Le regole di priorità possono essere statiche o dinamiche: quelle statiche sono caratterizzate da indici di priorità che non variano durante la schedulazione; nelle regole dinamiche, invece, gli indici sono aggiornati dinamicamente. Per schedulazioni su macchina singola la lista di priorità rappresenta l ordine secondo il quale le operazioni devono essere schedulate. Nel caso di schedulazione su più macchine, invece, le operazioni vengono assegnate nell ordine indicato alle macchine che si rendono mano mano disponibili per effettuare un operazione. Di seguito sono descritte le regole di priorità più utilizzate. Codice Problema 1 Macchina singola P Macchina parallele R Macchine incorrelate Fm Flow Shop su m macchine Jm Job Shop su m macchine FIG Codici per la descrizione dei problemi (α)

10 Codice rj sij Preemptive Vincoli Scheduling dinamico Presenza di tempi di setup Possibilità di schedulazione con interruzione FIG Codici per la descrizione dei vincoli (β) Random: si eseguono le operazioni secondo un ordine casuale. FCFS ( First Come First Served): nel caso dinamico, le operazioni sono eseguite seguendo l ordine con cui si rendono disponibili; in pratica, si ordinano le operazioni secondo il tempo di rilascio crescente. WSPT ( Weighted Shortest Processing Time): si ordinano le operazioni secondo il rapporto wj/pj crescente; se wj=1 j, equivale a processare secondo il tempo di processamento crescente (SPT). WLPT ( Weighted Longest Processing Time): si ordinano le operazioni nell ordine del rapporto wj/pj decrescente; se wj=1 j, equivale a processare secondo il tempo di processamento decrescente (LPT). EDD (Earliest Due Date): si eseguono le operazioni secondo il tempo di scadenza crescente. MST (Minimum Slack Time): si eseguono le operazioni secondo il valore di slack slj=dj-rj-pj crescente. CR (Critical Ratio): in presenza di tempi di rilascio e scadenze, il rapporto ( dj-rj)/pj è un indice della criticità della lavorazione: quanto più basso è il rapporto tanto più la schedulazione è critica. In particolare, per (dj-rj)/pj=1, per evitare un ritardo, la lavorazione deve essere schedulata a partire dall istante rj. La regola CR, prevede, quindi, che le o- perazioni vengano eseguite secondo il rapporto (dj-rj)/pj crescente. LTWK (Least Total WorK): nel caso multifase si ordinano i jobs secondo l ordine crescente del tempo di processamento totale su tutte le macchine; la LTWK corrisponde alla regola SPT nel caso monofase. MOPNR ( Most OPeratioN Remaining): nel caso multifase si ordinano i jobs secondo l ordine decrescente della somma dei tempi di processamento delle operazioni ancora da assegnare; la MOPNR coincide con la regola LPT nel caso monofase.

11 Alcune regole, come ad esempio la MST o la CR, possono essere applicate dinamicamente sostituendo ad rj il valore dell istante in corrispondenza del quale l operazione j può iniziare al più presto. La scelta della regola dipende dal tipo di problema e, soprattutto, dall obiettivo che si considera. A titolo esemplificativo, si riporta l ordine di schedulazione risultante dall applicazione delle diverse regole su macchina singola per un insieme di operazioni (Figura 6.7). Approccio del collo di bottiglia (bottleneck) Nei problemi a più macchine e, in particolare, nei problemi multifase, accade frequentemente che vi sia la presenza di una macchina più importante delle altre che assume, quindi, la funzione di collo di bottiglia (bottleneck) nel processo di schedulazione. Questa diversa importanza può essere dovuta, ad esempio, alla peculiarità della lavorazione che essa svolge, ai tempi di processamento più elevati, al fatto che la gran parte se non la totalità dei jobs richiede il passaggio per quella macchina. In queste circostanza, invece di considerare il problema nel suo complesso, si affronta il problema della schedulazione della macchina bottleneck come problema a macchina singola. A partire dalla soluzione così determinata, si ricavano le schedulazioni delle altre macchine considerando, eventualmente, la presenza di vincoli di precedenza rispetto alla operazione eseguita sulla macchina bottleneck TECNICHE MIGLIORATIVE Gli algoritmi costruttivi forniscono una soluzione ammissibile a partire dalla quale è possibile innescare procedure migliorative. Un algoritmo migliorativo definisce una mossa che consente di individuare l intorno della soluzione corrente all interno del quale scegliere la soluzione migliore. Le mosse più utilizzate per implementare procedure migliorative sono le mosse di scambio tra operazioni. Esse possono riguardare operazioni assegnate alla stessa macchina o a macchine diverse. Nel primo caso si ottengono intorni di dimensioni più contenute, ma si riducono i tempi per l esecuzione della mossa. Nelle Figure 6.8 e 6.9 sono illustrati esempi di mosse di scambio di o- perazioni assegnate alla stessa macchina e a macchine diverse. Operazioni Tempo di processamento pj Scadenza dj Regola Ordine di schedulazione

12 A 2 7 Random Qualsiasi B 8 16 SPT A-C-E-B-D-F C 4 4 LPT F-D-B-E-C-A D EDD C-A-E-B-D-F E 5 15 MST C-A-F-D-B-E F CR C-A-F-B-E-A FIG Applicazione delle regole di priorità ad un insieme di operazioni Le mosse di scambio possono essere utilizzate anche all interno di procedure metaeuristiche quali Simulated Annealing e Tabu Search. Per quanto riguarda gli Algoritmi Genetici bisogna ricorrere a codifiche a permutazione per poter applicare gli operatori genetici modificati Per problemi su macchina singola una possibile codifica è data dalla successione delle operazioni sulla macchina; ad esempio le schedulazioni indicate in Figura 6.8 sono rappresentate dalle stringhe: A B C D A C B D Nel caso di schedulazione su più macchine, si può distinguere un numero di sottostringhe pari al numero di macchine; ad esempio, le soluzioni indicate in Figura 6.9 sono rappresentate dalla codifica: A B E G C D F A C E G B D F Macchina 1 A B C D Macchina 1 A C B D t FIG Mossa di scambio tra operazioni assegnate alla stessa macchina Macchina 1 A B Macchina 2 E G Macchina 3 C D F t

13 Macchina 1 A C Macchina 2 E G Macchina 3 B D F t FIG Mossa di scambio tra operazioni assegnate a macchine diverse SCHEDULING SU MACCHINA SINGOLA I problemi su macchina singola sono di particolare interesse perché i metodi per la loro risoluzione possono essere adattati per affrontare casi più complessi. Nel seguito se ne illustrano alcuni distinguendo il caso statico dal caso dinamico PROBLEMI STATICI I problemi statici possono essere risolti in maniera efficiente dal momento che, con riferimento alle funzioni obiettivo più utilizzate, essi risultano risolvibili in tempo polinomiale. Nel seguito si illustrano le tecniche risolutive, distinguendo tra funzioni obiettivo orientate al makespan, ai tempi di flusso ed al rispetto delle scadenze. 1 Cmax La soluzione ottima si ottiene schedulando le operazioni secondo un ordine qualsiasi ottenendo Cmax=Σpj. In Figura 6.10 sono indicate due diverse sequenze di operazioni che forniscono lo stesso makespan. 1 ΣwjCj; 1 ΣwjFj; 1 ΣwjLj; I problemi con funzioni obiettivo orientate ai tempi di flusso possono essere risolti in maniera ottimale con la regola WSPT, che, nel caso wj=1 j, coincide con la regola SPT. Questo risultato può essere evidenziato con un semplice esempio di due operazioni (A, B) con uguale priorità e tempi di processamento diversi (es: pa=1 e pb=3). Per la soluzione A-B si ha ΣC j=1+4=5 mentre, per la soluzione B-A, ΣCj=3+4=7; la schedulazione migliore, dunque, prevede di anticipare le operazioni con i tempi di processamento minori. (Figura 6.11). Macchina 1 A B C

14 t Macchina 1 C A B FIG Esempio di schedulazione statica su una macchina t Macchina 1 A B B A FIG Possibili schedulazioni di due operazioni su una macchina 1 Lmax, 1 Tmax, Entrambi i problemi possono essere risolti in tempo polinomiale con la regola EDD (Earliest Due Date) SCHEDULING SU MACCHINE PARALLELE I problemi su macchine parallele risultano di diversa complessità secondo il tipo di funzione obiettivo, i vincoli e le tipologie delle macchine (identiche, uniformi, incorrelate). Mentre i problemi preemptive sono in generale polinomiali, i problemi non preemptive sono NP-hard. Nel seguito si illustrano alcune tecniche risolutive per entrambi i casi SCHEDULING PREEMPTIVE P preemptive Cmax Per ottenere la soluzione ottima è necessario realizzare la condizione di perfetto bilanciamento del carico di lavoro tra le m macchine, cosa che consentirebbe di ottenere C max=σpj/m. Tuttavia, se vi è di un operazione con tempo di processamento maggiore di (Σpj/m), il bilanciamento perfetto non può realizzarsi; di conseguenza l espressione del makespan è C * max max 1 m ( p j, max ( p j )) dove il primo valore si ottiene nel caso di bilanciamento perfetto, mentre il secondo prevale quando è presente un operazione con tempo di processamento maggiore di (Σpj/m). In entrambi i casi per ottenere la soluzione ottima si può procedere nel seguente modo. Si assegni ad una macchina qualsiasi la prima operazione;

15 successivamente si attribuiscano nell ordine le altre assicurandosi che, se l operazione corrente k dovesse presentare un tempo di completamento Ck>C * max, si interrompe all istante C * max e si assegna il residuo tempo di processamento (Ck-C * max) ad un altra macchina libera. Il procedimento viene iterato fino ad assegnare tutte le operazioni. Le schedulazioni di Figura 6.21 sono state realizzate applicando il metodo esposto. Macchina 1 A B Macchina 1 A Macchina 2 B C D Macchina 2 B C D Macchina 3 D E F Macchina 3 D E t t FIG Scheduling con e senza bilanciamento nel caso P preemptive C max SCHEDULING NON PREEMPTIVE P Cmax Mentre nella schedulazione preemptive le variabili xij sono continue, nel caso non preemptive, non potendo interrompersi l esecuzione di un operazione, le xij sono binarie (0 o 1). Si può comprendere, quindi, per quale ragione il problema P Cmax è di tipo NP-hard anche per P 2. Poiché una soluzione è tanto migliore quanto più ci si avvicina al bilanciamento perfetto, una regola di priorità che produce buoni risultati è la LPT ( Longest Processing Time). L applicazione di questa regola, infatti, consente di assegnare prioritariamente le operazioni con tempi di processamento maggiori, in modo da tentare il bilanciamento con l assegnazione successiva delle operazioni con tempi di processamento più brevi. Esempio Considerando la lista di operazioni in Tabella da eseguire su 3 macchine, utilizzando la regola LPT si ottiene la schedulazione riportata in Figura 6.26 con C max=18. A partire dalla soluzione ottenuta con l applicazione della regola LPT, si può innescare una qualsiasi tecnica migliorativa. Se si considera, ad esempio, la mossa di scambio di due operazioni assegnate a due macchine diverse (es: C-G) si ottiene la soluzione ottima di

16 Figura 6.22 con C max=17. Operazione A B C D E F G p j d j Macchina 1 A B Macchina 2 E G Macchina 3 C D F t FIG Schedulazione con la regola LPT per un problema P C max Macchina 1 A B Macchina 2 E C Macchina 3 G D F t FIG Schedulazione dopo una mossa di scambio per un problema P C max dopo una mossa di scambio P Σ Cj; P Σ Fj; P Σ Lj Il problema è risolvibile in tempo polinomiale applicando la regola SPT (Shortest Processing Time). Esempio Considerando le operazioni indicate in Tabella, utilizzando la regola SPT si ottiene la schedulazione riportata in Figura 6.28 con ΣC j= C A+ + C G= = 73. Operazione A B C D E F G p j

17 Macchina 1 G D E Macchina 2 C F Macchina 3 A B t FIG Schedulazione con la regola SPT per un problema P Σ C j P Lmax; P Tmax Come nel caso P Cmax il problema risulta NP-hard per P2. La regola EDD (Earliest Due Date) produce buone soluzioni subottimali. Esempio Considerando le operazioni indicate in Tabella, utilizzando la regola EDD si ottiene la schedulazione di Figura 6.29 con L max= max(l A,, L G)= max(0, 0, 0, 0, (17-16), 0, (21-18))= 3. Operazione A B C D E F G p j d j Macchina 1 C D F Macchina 2 B E Macchina 3 A G t FIG Schedulazione con la regola EDD per un problema P L max

Metodi di Ottimizzazione mod. Modelli per la pianificazione delle attività

Metodi di Ottimizzazione mod. Modelli per la pianificazione delle attività Metodi di Ottimizzazione mod. Modelli per la pianificazione delle attività Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Metodi di Ottimizzazione mod.

Dettagli

Organizzazione della produzione

Organizzazione della produzione Scheduling Organizzazione della produzione PRODOTTO che cosa chi ORGANIZZAZIONE PROCESSO come FLUSSO DI PRODUZIONE COORDINAMENTO PIANIFICAZIONE SCHEDULING quando Pianificazione della produzione: schedulazione

Dettagli

Organizzazione della produzione

Organizzazione della produzione Scheduling Organizzazione della produzione PRODOTTO che cosa chi ORGANIZZAZIONE PROCESSO come FLUSSO DI PRODUZIONE COORDINAMENTO PIANIFICAZIONE SCHEDULING quando Pianificazione della produzione: schedulazione

Dettagli

Problema del Job Shop

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

Dettagli

Operations Management

Operations Management La schedulazione dei progetti Estratto da Operations Management Modelli e metodi per la logistica II Edizione Autore: Giuseppe Bruno Edizioni Scientifiche Italiane I problemi di scheduling 21 6.8 - LA

Dettagli

Le attuali tendenze del mercato

Le attuali tendenze del mercato Minimizzazione del makespan mediante un software di scheduling in un Job Shop ed in un Flexible Flow Shop A partire da una classificazione dell architettura delle linee produttive, viene proposto un caso

Dettagli

Programmazione della produzione nei sistemi automatizzati

Programmazione della produzione nei sistemi automatizzati Programmazione della produzione nei sistemi automatizzati 1 Programmazione della produzione Pianificazione di lungo periodo: quali prodotti collocare sul mercato (livello strategico) Pianificazione aggregata

Dettagli

Cenni di schedulazione in tempo reale. E.Mumolo

Cenni di schedulazione in tempo reale. E.Mumolo Cenni di schedulazione in tempo reale E.Mumolo mumolo@units.it Task in tempo reale Un task t i è una sequenza di processi in tempo reale τ ik ciascuno caratterizzato da un tempo d arrivo r ik un tempo

Dettagli

Lezione R4. Sistemi embedded e real-time

Lezione R4. Sistemi embedded e real-time Lezione R4 Sistemi embedded e real-time 30 ottobre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R4.1 Di cosa parliamo in questa lezione?

Dettagli

Problemi di Scheduling

Problemi di Scheduling Problemi di Scheduling Vincenzo Suraci Automazione STRUTTURA DEL NUCLEO TEMATICO SCHEDULING A LIVELLO DI COORDINAMENTO CLASSIFICAZIONE DEGLI ALGORITMI DI SCHEDULING SCHEDULING DI TASK PERIODICI 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

Schedulazione real-time di task PERIODICI

Schedulazione real-time di task PERIODICI Schedulazione real-time di task PERIODICI Sono la maggioranza delle attività di elaborazione. Es. regolazione, acquisizione, filtraggio, monitoraggio, comando di attuatori etc. Ipotesi: Tutte le richieste

Dettagli

Modello di Sistema Real Time. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo

Modello di Sistema Real Time. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo Modello di Sistema Real Time Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo Sistema in tempo reale 2 Processori e risorse 3 Processori e risorse 4 Risorse 5 Ready queue I descrittori

Dettagli

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4 Macchine parallele M 1 J 1 J 2 LAVORI M 2 J 3 J 4 M 3 Macchine parallele Scheduling su macchine parallele scorrelate R C max Descrizione del problema n lavori devono essere processati da m macchine diverse

Dettagli

Operation scheduling. Corso di GPM Secondo Modulo Quinta Unità Didattica

Operation scheduling. Corso di GPM Secondo Modulo Quinta Unità Didattica Operation scheduling Manufacturing Execution Systems Manufacturing execution system (MES): sistema informativo per scheduling, dispatching, tracking, monitoring, e controllo della produzione Collegamento

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) Disegnare la rete di progetto con le attività sugli archi, e la rete di progetto con le attività sui nodi.

1) Disegnare la rete di progetto con le attività sugli archi, e la rete di progetto con le attività sui nodi. Un progetto di ricerca e sviluppo di una società si compone di 12 (principali) attività con precedenze, durate normali b ij (in giorni), costi diretti c ij (in dollari) delle attività alla loro durata

Dettagli

Linea di 4 macchine con buffer

Linea di 4 macchine con buffer La soluzione del 2JSP è la generalizzazione di quella data da Aker per 2 lavori J i di m operazioni in serie da eseguire su una linea con buffer intermedi: ciascuno di lunghezza temporale t i sulla macchina

Dettagli

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4 Macchine parallele M 1 J 1 J 2 LAVORI M 2 J 3 J 4 M 3 Macchine parallele Scheduling su macchine parallele scorrelate R C max Descrizione del problema n lavori devono essere processati da m macchine diverse

Dettagli

1. Problemi di ottimizzazione combinatoria

1. Problemi di ottimizzazione combinatoria 1. Problemi di ottimizzazione combinatoria Un istanza I di un problema di ottimizzazione combinatoria è la coppia (X, f), dove: o X Ω è un insieme finito (soluzioni ammissibili) o f è una funzione di costo

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

ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO

ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO Lo scenario produttivo Una nota azienda produce capi di abbigliamento per l alta moda Ogni capo è costituito da vari pezzi

Dettagli

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica 2010-11 Scheduling: Introduzione CARLO MANNINO Sapienza Università di Roma Dipartimento di Informatica e Sistemistica Problemi di scheduling

Dettagli

max z = c T x s.t. Ax b

max z = c T x s.t. Ax b 3 PROGRAMMAZIONE LINEARE A NUMERI INTERI 51 3 Programmazione lineare a numeri interi 3.1 Problemi lineari interi Dato il problema lineare ordinario (PLO): aggiungendo la condizione di integrità: max z

Dettagli

UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II CORSO DI RICERCA OPERATIVA II docente Ing. Giuseppe Bruno ESERCIZI CAPITOLO 2 - TECNICHE DI PREVISIONE

UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II CORSO DI RICERCA OPERATIVA II docente Ing. Giuseppe Bruno ESERCIZI CAPITOLO 2 - TECNICHE DI PREVISIONE UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II CORSO DI RICERCA OPERATIVA II docente Ing. Giuseppe Bruno ESERCIZI CAPITOLO 2 - TECNICHE DI PREVISIONE Esercizio 1 In tabella sono riportati i valori delle

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

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max Makespan con set-up dipendenti dalla sequenza 1/s jk /C max 1/s jk /C max Un tempo di riattrezzaggio (set-up) s jk è richiesto fra il processamento di j e quello di k. In questo caso, C max dipende dalla

Dettagli

Struttura del Corso. Durata

Struttura del Corso. Durata Manuel Iori Dipartimento di Scienze e Metodi dell Ingegneria (DISMI) Università degli studi di Modena e Reggio Emilia Via Amendola 2, Pad. Buccola, 42122 Reggio Emilia web: www.or.unimore.it/iori/iori.htm

Dettagli

Metodi di Ottimizzazione per la Logistica e la Produzione

Metodi di Ottimizzazione per la Logistica e la Produzione Metodi di Ottimizzazione per la Logistica e la Produzione Parte III Manuel Iori Dipartimento di Scienze e Metodi dell Ingegneria Università di Modena e Reggio Emilia Anno Accademico 2016/17 MOLP Parte

Dettagli

Introduzione al Project Scheduling

Introduzione al Project Scheduling Da qui in avanti, faremo riferimento alla gestione della tempistica di un progetto e in particolare al processo di determinazione della schedula di progetto. Supporremo pertanto di aver effettuato il processo

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

Problema del Job Shop

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

Dettagli

7) Determinare il(i) percorso(i) critico(i), indicando la modalità impiegata per la determinazione.

7) Determinare il(i) percorso(i) critico(i), indicando la modalità impiegata per la determinazione. Ad un industria metallurgica è stata commissionata la realizzazione di un prototipo di una nuova lega metallica, per la quale riceverà un compenso di 600000. L industria a tal proposito predispone la realizzazione

Dettagli

Ottimizzazione e Controllo 2015/2016 ESERCITAZIONE

Ottimizzazione e Controllo 2015/2016 ESERCITAZIONE Ottimizzazione e Controllo 2015/2016 ESERCITAZIONE Esercizio 1. Sono dati 6 job da processare su un centro di lavorazione automatizzato che può eseguire una sola lavorazione alla volta. Di ciascun job

Dettagli

Scheduling della CPU. Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Scheduling della CPU. Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino Scheduling della CPU Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Concetti fondamentali Uno degli obbiettivi della multiprogrammazione è quello di massimizzare

Dettagli

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

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della 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 della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi. Scheduler (a breve

Dettagli

Programmazione operativa

Programmazione operativa Programmazione operativa GESTIONE DELLA PRODUZIONE Uglietti Luigi 14 maggio 2009 l.uglietti@wisefrogs.com La programmazione operativa La programmazione operativa (o di breve periodo, o scheduling), ha

Dettagli

Problemi di PersonnelScheduling

Problemi di PersonnelScheduling Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Problemi di PersonnelScheduling Docente: Renato Bruni bruni@dis.uniroma1.it Corso di: Ottimizzazione Combinatoria

Dettagli

Schedulazione di dettaglio Macchine in parallelo

Schedulazione di dettaglio Macchine in parallelo Lezione 8 Schedulazione di dettaglio Macchine in arallelo Dati: Una lista di lotti (job) che devono essere rocessati da un sistema roduttivo comosto da un set di macchine in arallelo. Siano i lotti caratterizzati

Dettagli

Scheduling della CPU

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

Dettagli

Introduzione al Project Scheduling

Introduzione al Project Scheduling Da qui in avanti, faremo riferimento alla fase di gestione della tempistica di un progetto. Supporremo pertanto di aver effettuato il processo di pianificazione del contenuto del progetto e tramite lo

Dettagli

PROBLEMA DEL COMMESSO VIAGGIATORE

PROBLEMA DEL COMMESSO VIAGGIATORE PROBLEMA DEL COMMESSO VIAGGIATORE INTRODUZIONE Il problema del commesso viaggiatore (traveling salesman problem :TSP) è un classico problema di ottimizzazione che si pone ogni qual volta, dati un numero

Dettagli

Grafo per n/m/g/c max r i =0

Grafo per n/m/g/c max r i =0 M1 M2 M3 M JOB SHOP SENZA RICIRCOLAZIONE Grafo per n/m/g/c max r i =0 Archi (precedenze) disgiuntivi(macch.) Arco(precedenza) congiuntivo(pezzi) 1,1 2,1 3,1 I 2,2 1,2,2 3,2 F 1,3 2,3,3 Operazione(i,j):

Dettagli

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Il problema dell assegnamento degli stati versione del 9/1/03 Sintesi: Assegnamento degli stati La riduzione del numero

Dettagli

Project Management. Nozioni fondamentali. Definizione di Project Management. Prof.ssa E. Gentile a.a

Project Management. Nozioni fondamentali. Definizione di Project Management. Prof.ssa E. Gentile a.a Project Management Prof.ssa E. Gentile a.a. 2011-2012 Prof.ssa E. Gentile Sistemi Informativi su Web 1 Nozioni fondamentali Imparare le procedure per la creazione di un piano, la verifica dell'avanzamento

Dettagli

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata Lezione R7 bloccanti e job aperiodici Sistemi embedded e real-time 20 novembre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R7.1 Di

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano

Dettagli

Problemi di localizzazione di servizi (Facility Location Problems)

Problemi di localizzazione di servizi (Facility Location Problems) 9. Problemi di Localizzazione di Servizi 1 Problemi di localizzazione di servizi (Facility Location Problems) Dato un insieme di clienti richiedenti una data domanda di merce e dato un insieme di possibili

Dettagli

Il Sistema Operativo Ripasso

Il Sistema Operativo Ripasso ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Concetti di base Sistema Operativo Risorse Funzioni e Struttura Bootstrap, Kernel, Shell Gestione dei Processi Processo e PCB Algoritmi

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema

Dettagli

Lezione 1. Le tipologie di problemi di gestione della produzione e delle reti logistiche

Lezione 1. Le tipologie di problemi di gestione della produzione e delle reti logistiche Lezione 1 Le tipologie di problemi di gestione della produzione e delle reti logistiche Obiettivo: introdurre la terminologia da usarsi per formulare i problemi industriali da risolvere nell ambito della

Dettagli

Ricerca per ispezione guidata (Branch and Bound) per min L max con r j 0

Ricerca per ispezione guidata (Branch and Bound) per min L max con r j 0 Per esporre il più importante algoritmo per lo scheduling in sistemi ad instradamento differenziato occorre considerare un estensione del min L max Ricerca per ispezione guidata (Branch and Bound) per

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema

Dettagli

COLLEGIO DEI PERITI AGRARI E DEI PERITI AGRARI LAUREATI DELLA PROVINCIA DI SALERNO

COLLEGIO DEI PERITI AGRARI E DEI PERITI AGRARI LAUREATI DELLA PROVINCIA DI SALERNO Prot. n 65 Salerno, lì 20 Gennaio 2014 A tutti gli iscritti all Albo e nell Elenco Speciale LORO SEDI OGGETTO: Circolare n 13/2014. Libera Professione. Direzione Lavori: Cronoprogramma e Controllo dei

Dettagli

OTTIMIZZAZIONE NON LINEARE

OTTIMIZZAZIONE NON LINEARE OTTIMIZZAZIONE NON LINEARE In molti casi pratici non esistono algoritmi specifici per la soluzione del problema. Si utilizzano quindi algoritmi basati su approssimazioni locali della funzione o algoritmi

Dettagli

Automazione 12 Febbraio 2018

Automazione 12 Febbraio 2018 Automazione 12 Febbraio 2018 Esercizio 1 Si consideri un sistema di automazione operante a livello di coordinamento per il controllo di un robot pick-and-place (PNP1) così caratterizzato: Task A 1 ) ogni

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

Esercitazione: Job shop scheduling con vincoli di processo. 22/12/2010 Ottimizzazione della Logistica

Esercitazione: Job shop scheduling con vincoli di processo. 22/12/2010 Ottimizzazione della Logistica Esercitazione: ob shop scheduling con vincoli di processo 1 Descrizione del problema di scheduling capacitato Analizziamo una semplice officina meccanica con macchine. l processo tecnologico di un job

Dettagli

BILANCIAMENTO DI UNA LINEA DI MONTAGGIO MANUALE

BILANCIAMENTO DI UNA LINEA DI MONTAGGIO MANUALE BILANCIAMENTO DI UNA LINEA DI MONTAGGIO MANUALE PROBLEMA: Quante e quali operazioni assegnare a ciascuna stazione di lavoro per bilanciare la linea, ovvero per evitare colli di bottiglia o stazioni troppo

Dettagli

Strategie risolutive e algoritmi per problemi di partizionamento ottimo di grafi

Strategie risolutive e algoritmi per problemi di partizionamento ottimo di grafi Strategie risolutive e algoritmi per problemi di partizionamento ottimo di grafi Natascia Piroso 12 luglio 2007 Natascia Piroso Partizionamento ottimo di grafi 12 luglio 2007 1 / 17 Definizione Dato un

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi Università degli Studi di Roma La Sapienza Ottimizzazione nella Gestione dei Progetti - Esercitazione : calcolo degli schedule ottimi di FABIO D ANDREAGIOVANNI Dipartimento di Informatica e Sistemistica

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

Celle di fabbricazione

Celle di fabbricazione Celle di fabbricazione Produzione per parti (Classificazione Impiantistica) Produzione per parti Fabbricazione Montaggio (assemblaggio) Job Shop Celle di fabbricazione Linee transfer A posto fisso Ad Isola

Dettagli

Introduzione agli algoritmi euristici

Introduzione agli algoritmi euristici Introduzione agli algoritmi euristici Richiami Generico problema di ottimizzazione P. Ci si può sempre ricondurre a questa forma. Esempio: x R n, f(x)=c T x, h(x)=ax, c R m, A R mx2 Specificando n, m,

Dettagli

Algoritmo. Calcolabilità

Algoritmo. Calcolabilità Algoritmo In altri termini, l algoritmo può essere definito come la descrizione di un procedimento che ha le seguenti proprietà: deve essere esplicita e non ambigua per l interlocutore cui è destinata

Dettagli

CORSO DI INFORMATICA Maria Grazia Celentano

CORSO DI INFORMATICA Maria Grazia Celentano CORSO DI INFORMATICA Maria Grazia Celentano INFORMATICA E PROGRAMMAZIONE L Informatica è definita come la Scienza della Rappresentazione e dell Elaborazione dell informazione o, in altri termini, lo studio

Dettagli

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

1) Descrivere dettagliatamente a quale problema di scheduling corrisponde il problema. In una officina specializzata nella rettifca di motori aerei si devono eseguire le procedure di manutenzione periodica di alcune motori. Il processo di manutenzione di un motore coinvolge l esecuzione

Dettagli

Algoritmi di scheduling - Parte 1

Algoritmi di scheduling - Parte 1 Algoritmi di scheduling - Parte 1 Automazione I 12/11/2013 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO ALGORITMO RATE MONOTONIC PRIORITY ORDERING (RMPO) ALGORITMO EARLIEST DEADLINE FIRST (EDF) Via Ariosto

Dettagli

Appendice A: un esempio di scelta del mix ottimo di produzione in presenza di vincoli 19

Appendice A: un esempio di scelta del mix ottimo di produzione in presenza di vincoli 19 14 18-12-07 19:04 Pagina 411 Le decisioni di breve termine fra alternative diverse 411 i minori costi differenziali, almeno nella misura in cui la dimensione di costo è la più importante. Sebbene i costi

Dettagli

Problemi, algoritmi, calcolatore

Problemi, algoritmi, calcolatore Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione

Dettagli

Project Scheduling: CPM time analysis

Project Scheduling: CPM time analysis 1. Intoduzione Una volta costruita la rete di progetto AOA (attività sugli archi) G = (N, A) è possibile fare una prima analisi del progetto a partire dalla conoscenza delle durate (tempi di esecuzione)

Dettagli

Sistemi Operativi. La gestione delle risorse

Sistemi Operativi. La gestione delle risorse Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi

Dettagli

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata Lezione R11 embedded e real-time 18 dicembre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R11.1 Di cosa parliamo in questa lezione?

Dettagli

Teoria della complessità

Teoria della complessità Teoria della complessità Materiale consigliato: testo del corso capitolo 34 Introduzione agli algoritmi e strutture dati T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein McGraw Hill, 2005 Denise Salvi

Dettagli

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound. Ricerca Operativa A.A. 2007/2008 17. Esercitazione di laboratorio: Branch and Bound. Luigi De Giovanni - Ricerca Operativa - 17. Esercitazione di laboratorio: Branch and Bound 17.1 . Luigi De Giovanni

Dettagli

2 Introduzione È più semplice comprendere i sistemi hardware digitali considerando le modalità con cui vengono descritti, che possono essere distinte

2 Introduzione È più semplice comprendere i sistemi hardware digitali considerando le modalità con cui vengono descritti, che possono essere distinte 1 Introduzione L evoluzione dei sistemi hardware digitali negli ultimi cinquant anni è stata caratterizzata da miglioramenti in termini di funzionalità, costi e prestazioni mai visti in altri settori tecnologici.

Dettagli

Lezione R11. Di cosa parliamo in questa lezione?

Lezione R11. Di cosa parliamo in questa lezione? Di cosa parliamo in questa lezione? Lezione R In questa lezione si dà una visione introduttiva del problema della real-time in sistemi embedded e real-time 8 dicembre 0 3 4 Test e condizioni di schedulabilità

Dettagli

Sistemi Embedded e Real-time (M. Cesati)

Sistemi Embedded e Real-time (M. Cesati) Sistemi Embedded e Real-time (M. Cesati) Compito scritto del 20 settembre 2013 Esercizio 1. Si consideri il seguente sistema di task periodici non interrompibili: T 1 = (0, 0.5, 0.1, 0.5), T 2 = (1, 0.75,

Dettagli

IL MODELLO FLaIR. Descrizione sintetica del modello

IL MODELLO FLaIR. Descrizione sintetica del modello IL MODELLO FLaIR Descrizione sintetica del modello Il modello idrologico FLaIR (Forecasting of Landslides Induced by Rainfalls), proposto da Sirangelo e Versace nel 992, costituisce uno strumento di interpretazione

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

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni 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

Elementi di matematica - dott. I. GRASSI

Elementi di matematica - dott. I. GRASSI Gli assi cartesiani e la retta. Il concetto di derivata. È ormai d uso comune nei libri, in televisione, nei quotidiani descrivere fenomeni di varia natura per mezzo di rappresentazioni grafiche. Tali

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 14 Martedì 21-11-2017 Comportamento dei processi Durante la sua attività,

Dettagli

Laboratorio di Algoritmi

Laboratorio di Algoritmi Laboratorio di Algoritmi Progetto Fabbrica (gennaio 2019) Nota: La scadenza del progetto è fissata per lunedì 21 gennaio compreso. Nota: Si consiglia di consultare sulla pagina web il documento che riporta

Dettagli

Algoritmi e Strutture di Dati

Algoritmi e Strutture di Dati Algoritmi e Strutture di Dati Complessità dei problemi m.patrignani Nota di copyright queste slides so protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma n limitatamente,

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

Problemi di Ottimizzazione

Problemi di Ottimizzazione Problemi di Ottimizzazione Obiettivo: misura della qualità di una soluzione. Vincoli: condizioni che devono essere soddisfatte per ottenere una soluzione ammissibile. Problema di Ottimizzazione: determina

Dettagli

BOLLETTINO UNIONE MATEMATICA ITALIANA

BOLLETTINO UNIONE MATEMATICA ITALIANA BOLLETTINO UNIONE MATEMATICA ITALIANA Sezione A La Matematica nella Società e nella Cultura Guglielmo Guastalla Applicazioni di ricerca operativa nell ambito del traffico aereo Bollettino dell Unione Matematica

Dettagli

Indice. 1 Introduzione... 1

Indice. 1 Introduzione... 1 Indice 1 Introduzione............................................... 1 2 Esempi di modelli......................................... 7 2.1 Problema della dieta.................................... 7 2.2

Dettagli

Un algoritmo è costituito da una serie di passaggi che portano alla risoluzione di un problema.

Un algoritmo è costituito da una serie di passaggi che portano alla risoluzione di un problema. Algoritmi e Problem Solving Algoritmo Un algoritmo è costituito da una serie di passaggi che portano alla risoluzione di un problema. 1) I passaggi devono tener conto di vincoli imposti dal problema 2)

Dettagli

Linea monoprodotto con assiemature (modello:pettine): lotto, flusso. Minimo tempo di completamento: pezzo singolo, lotto finito, linea satura

Linea monoprodotto con assiemature (modello:pettine): lotto, flusso. Minimo tempo di completamento: pezzo singolo, lotto finito, linea satura Linea monoprodotto con assiemature (modello:pettine): lotto, flusso Minimo tempo di completamento: pezzo singolo, lotto finito, linea satura Sistemi di movimentazione PIPELINE In questo tipo di sistemi

Dettagli

ESERCITAZIONE 7 - Soluzioni. Algoritmi di schedulazione Fattibilità di sistemi real-time Gestione della memoria, paginazione e gestione del disco

ESERCITAZIONE 7 - Soluzioni. Algoritmi di schedulazione Fattibilità di sistemi real-time Gestione della memoria, paginazione e gestione del disco ESERCITAZIONE 7 - Soluzioni Algoritmi di schedulazione Fattibilità di sistemi real-time e gestione del disco 2 Algoritmi di schedulazione 3 Algoritmi di schedulazione (1) 1) Supponendo di utilizzare l

Dettagli

Modulo 1 Concetti di base della Tecnologia dell Informazione

Modulo 1 Concetti di base della Tecnologia dell Informazione Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette

Dettagli

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI 3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:

Dettagli

Capitolo 8. Pianificare e programmare le operations

Capitolo 8. Pianificare e programmare le operations Capitolo 8 Pianificare e programmare le operations Cosa è la pianificazione e programmazione delle operations? Pianificazione e programmazione delle operations Il processo con cui si mettono in equilibrio

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 7 Giovedì 3-11-2016 1 Scheduling Scheduling a breve termine Lo scheduler

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli