CAPITOLO 6 La programmazione operativa (operations scheduling)



Похожие документы
Programmazione della produzione MT MT

Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali. Sistemi informativi aziendali

Pianificazione e controllo delle risorse

Organizzazione della produzione

Esercizi di Gestione della Produzione Industriale. Tabella 1: tempi di lavorazione di un set di job.

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

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

Corso di Informatica

1. Considerazioni generali

Sistemi Organizzativi

Ottimizzazione Multi Obiettivo

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione

SCHEDULING SCHEDULING

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

Produzione e forza lavoro

Modello Di Schedulazione Con Capacità Finita

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

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique

RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007

Sistemi Operativi. 5 Gestione della memoria

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

Domande a scelta multipla 1

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

La valorizzazione dei movimenti di magazzino

Scheduling. Scheduling 14/12/2003 1/7

Soluzione dell esercizio del 2 Febbraio 2004

Controllo di gestione budget settoriali budget economico

Lo scheduling. Tipici schedulatori

GESTIONE AVANZATA DEI MATERIALI

Scheduling. Sistemi Operativi e Distribuiti A.A Bellettini - Maggiorini. Concetti di base

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

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

REGOLAZIONE (E TASSAZIONE OTTIMALE) DI UN MONOPOLIO CON PIÙ LINEE DI PRODUZIONE

La schedulazione. E.Mumolo

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

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

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

LE LINEE DI ASSEMBLAGGIO Introduzione

UNIVERSITÀ DEGLI STUDI DI BERGAMO - Facoltà di Ingegneria CORSO SISTEMI DI CONTROLLO DI GESTIONE Ingegneria Informatica Prof. Sergio Mascheretti

GESTIONE AVANZATA DEI MATERIALI

Fasi di creazione di un programma

Creare diagrammi di Gantt con Visio 2003

Corso introduttivo all utilizzo di TQ Qualifica

Sistemi Operativi Kernel

Cluster. Vicino alla temperatura critica gli spin formano grandi gruppi (cluster)

CHIUSURE di MAGAZZINO di FINE ANNO

LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ

Epoca k Rata Rk Capitale Ck interessi Ik residuo Dk Ek 0 S 0 1 C1 Ik=i*S Dk=S-C1. n 0 S

Scheduling della CPU:

Ottava Edizione. La Programmazione e Controllo della Produzione Prof. Sergio Cavalieri

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

Processi e Thread. Scheduling (Schedulazione)

APPLICAZIONI DELLA RICERCA OPERATIVA

REGOLAMENTO LIVE ROULETTE

Criteri di Valorizzazione in Inventario Documentazione tecnica

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante

OGGETTO: Istanza di interpello - ALFA snc - Somme corrisposte al socio a seguito di recesso. - Trattamento fiscale.

4. SERIE NUMERICHE FIGURALI

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

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

ing. consuelo rodriguez

SCHEDULATORI DI PROCESSO

Ricerca Operativa Esercizio 1

Logistica Magazzino: Distinta base

Management Sanitario. Modulo di Ricerca Operativa

I SISTEMI DI GESTIONE DELLA SICUREZZA

Facoltà di Scienze Politiche Corso di Economia Politica. Esercitazione di Microeconomia sui capitoli 11, 12 e 13

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

GUIDA - Business Plan Piano d impresa a 3/5 anni

( x) ( x) 0. Equazioni irrazionali

Intelligenza Artificiale

La valorizzazione delle scorte con Access 2002

Corso di Informatica

Il piano principale di produzione

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

Informatica. Rappresentazione dei numeri Numerazione binaria

Capitolo 10 Costi. Robert H. Frank Microeconomia - 5 a Edizione Copyright The McGraw-Hill Companies, srl

Analisi e diagramma di Pareto

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

LE FUNZIONI A DUE VARIABILI

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI

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

Introduzione alla teoria dei database relazionali. Come progettare un database

7. LE RIMANENZE DI MAGAZZINO

Basi di dati 9 febbraio 2010 Compito A

Calcolatori: Algebra Booleana e Reti Logiche

TECNICHE DI SIMULAZIONE

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

Algoritmi e strutture dati. Codici di Huffman

Le tecniche di scheduling (1)

Descrizione dettagliata delle attività

Транскрипт:

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à Lo scheduling n lavorazioni su 1 macchina n lavorazioni su 2 macchine Il diagramma di Gantt

Funzioni della PO Fa riferimento al breve periodo e si articola in tre momenti principali :! loading Destinare ordini ai centri di lavorazione. sequencing Stabilire la sequenza di lavorazione degli ordini su un centro di lavorazione. scheduling Avviare l esecuzione dell attività programmata. Controllo di officina.

Fase di loading Nella fase di allocazione (loading) delle operazioni sulle singole risorse disponibili, nota l entità di ciascun ordine e, quindi, il relativo fabbisogno di macchine e di attrezzature, si verifica la possibilità di soddisfare tale fabbisogno con le risorse disponibili ripartendo l insieme degli ordini tra le singole stazioni di lavoro In sintesi Significa l assegnare i job ai centri di processamento. Una corretta assegnazione è tale da minimizzare i costi, l idle time ed i tempi di completamento

Fase di sequencing Nella fase di sequencing si ricerca, per ogni centro di lavoro, la sequenza secondo la quale conviene che vengano eseguiti gli ordini in precedenza attribuiti a tale centro

Fase di scheduling Nella fase di scheduling vero e proprio, a ciascun ordine, oramai assegnato ad uno specifico centro ed al quale compete una specifica posizione nella sequenza produttiva, viene associato un istante di inizio ed uno di fine lavorazione

IN PRATICA Non sempre è necessario affrontare tutte le fasi sopra riportate. Ad esempio è evidente che se il sistema è costituito da un unica macchina, la fase 1 non esiste!!!

Obiettivi della PO Rispettare le date di consegna Minimizzare i lead time Minimizzare i costi e i tempi di set-up Minimizzare le scorte in corso lavorazione Massimizzare l utilizzo di macchine e forza lavoro.

Tempo di completamento Per tempo di completamento C j si intende il tempo a cui l ultimo task del job j (e, di conseguenza, l intero job j) termina.

Makespan Si definisce massimo tempo di completamento o makespan il valore massimo dell insieme C max = max {C 1, C 2,., C n }, ossia il tempo di completamento del job che termina per ultimo; esso rappresenta la misura (rispetto al tempo di riferimento iniziale t 0 ) del tempo necessario ad ultimare tutte le attività.

Flow time (F j ) o tempo di attraversamento del job j è il tempo che trascorre dall inizio del primo job (I j ) sulla prima macchina fino al completamento del job j (C j ) F j = C j -I j

Due Date Il tempo di consegna (anche detto due date) d j indica l istante di tempo rispetto sempre ad un istante iniziale t 0 =0 entro il quale l esecuzione del job j dovrebbe essere terminata. In genere, la violazione della data di consegna, determinata da un overtime di produzione comporta dei costi per penale, per perdita di fiducia da parte del cliente, di immagine, ecc Si comprende che, mentre i costi per penale sono noti per contratto di fornitura, i restanti costi non sono facilmente ed immediatamente determinabili ma risultano, in genere, abbastanza cospicui più che della stessa penale.

Ritardo: LATENESS Si riferisce alla differenza tra il tempo di completamento del job e la sua data di consegna e può essere MAGGIORE oppure MINORE di 0 L i = C i - D i!

Ritardo positivo: TARDINESS È il valore maggiore fra zero e la differenza tra il tempo di completamento (Flow time) e la data di consegna (Due Date) di un job

Criteri più comuni per misurare le prestazioni o la bontà di un algoritmo In relazione al completion time: Max flow time: FM = max { F j } Max completion time: CM = max { C j } Mean flow time: Fm = Σ F j / n Mean completion time: Cm = Σ C j / n In relazione alle due date: Max lateness: LM = max { L j } Max tardiness: TM = max { T j } Mean lateness: Lm = Σ L j / n Mean tardiness: Tm = Σ T j / n Numero di job in ritardo: Nt = Σ U(T j ) con U(T j ) =1 se T j >0; =0 se T j =0 Ritardo medio dei job in ritardo: Rm=T j / Nt

Algoritmi di loading Metodo dell assegnazione Rappresenta una tipica applicazione di programmazione lineare. Esso può essere applicato in quelle particolari situazioni in cui c è una coincidenza del numero di job con il numero di macchine o di persone a cui assegnare i suddetti job Obiettivo minimizzare o massimizzare alcune misure di efficienza

Metodo dell assegnazione Condizioni Ci sono n job da distribuire su n macchine Ogni job deve essere assegnato ad una ed una sola destinazione Solo un criterio può essere utilizzato (minimizzazione dei costi, massimizzazione dei profitti, o minimizzazione del tempo di completamento, per esempio)

Metodo dell assegnazione Si consideri un problema di minimizzazione (minim. dei costi o dei tempi di processamento) C ij rappresenta il tempo o il costo richiesto dalla persona o dalla macchina i per il job j X ij =1 se la persona o la macchina i sono assegnati al job j X ij = 0 se la persona o la macchina i non sono assegnati al job j Funzione obiettivo min Σ i Σ j x ij c ij Vincoli: Σ i x ij = 1 Σ j x ij = 1

Metodo dell assegnazione I due vincoli indicano che una persona o una macchina sono assegnate ad un unico job ed ogni job è processato da un unica macchina o un unica persona Il modello dell assegnazione può essere anche espresso da una tabella in cui le righe rappresentano i job e le colonne rappresentano le macchine o i lavoratori a cui associare tali job. I valori interni alla tabella rappresentano il costo o il tempo impiegato per l esecuzione di quel lavoro su quella macchina o per quel lavoratore

Metodo dell assegnazione Step 1) Sottrarre il numero più piccolo in ogni riga per ogni numero di quella riga e poi sottrarre il numero in ogni colonna per ogni numero in quella colonna. Questo step ha l effetto di ridurre i numeri nella tabella fino ad ottenere una serie di zero, significando possibilità di costi zero. 2) Tracciare il numero minimo di linee verticali e orizzontali necessari a coprire tutti gli zeri della tabella. Se il numero di linee equivale al numero di righe o di colonne presenti nella tabella allora è possibile ottenere già la soluzione finale (procedere allo step 4). Se, invece, il numero di linee è minore del numero di righe o colonne, procedere allo step 3. 3) Sottrarre il numero più piccolo non coperto da una linea per ogni altro numero non coperto e aggiungere esso ai numeri presenti all intersezioni delle due linee. 4) L assegnazione ottima sarà sempre localizzata nello zero. Per una valida assegnazione selezionare una riga o una colonna che contiene solo uno zero. L assegnazione sarà eseguita relativamente alla riga e alla colonna che si intersecano in quello zero. Questo processo continuerà fin quando non sarà completata l assegnazione di ogni job a persone o macchine

Metodo dell assegnazione ESEMPIO Step 1a. Sottrarre il numero più piccolo in ogni riga per ogni numero della riga stessa

Metodo dell assegnazione Step 1b. Eseguire la stessa operazione per le colonne

Metodo dell assegnazione Step 2. Tracciare il minimo numero di linee per coprire tutti gli zeri presenti in tabella. Nel caso in esame sono solo due le linee ad essere tracciate per cui la soluzione ottima ancora non è determinata

Metodo dell assegnazione Step 3. Sottrarre il numero più piccolo non coperto (2 nella tabella) ad ogni altro numero non coperto ed aggiungere esso al numero presente all intersezione delle due righe

Metodo dell assegnazione Ritornare allo step 2. Coprire gli zeri con un numero minimo di righe Risultato finale L assegnazione ottimale sarà in corrispondenza degli zeri, per cui partendo dal job S-66, l unica assegnazione possibile sarà quella alla macchina B. Di conseguenza l unica assegnazione possibile per T-50 sarà quella alla macchina A, e quella per R-34 sarà C. Quella trovata sarà la soluzione che minimizza i tempi, ed il tempo totale sarà di 25, pari alla somma di 6, 10, e 9, ovvero i tre termini corrispondenti alle tre assegnazioni

Il job sequencing Regole di priorità 1 FIFO (first-in, first-out). Primo ad arrivare, primo a essere lavorato. Le lavorazioni vengono processate secondo l ordine con cui giungono al reparto. 2 SPT (shortest processing time). Tempo di processo minore. Per prima si esegue la lavorazione a tempo di completamento minore, poi quella immediatamente più lunga ecc. Talvolta questa regola è detta SOT (shortest operating time). Spesso è usata in combinazione con una regola sul ritardo, per scongiurare eccessivi ritardi delle lavorazioni con i tempi più lunghi. 3 EDD (earliest due date). Data di consegna. Per prima si esegue la lavorazione con la data di scadenza più prossima. 4 STR (slack time remaining). Tempo residuo. Si calcola il tempo rimanente alla data di consegna meno il tempo di processo rimanente. Gli ordini a slack minore (STR) vengono evasi per primi.

Il job sequencing Regole di priorità 5 STR/OP (slack time remaining per operation). Tempo residuo per operazione. Gli ordini a slack minore per numero di operazioni vengono evasi per primi (STR/OP=STR/numero di operazioni rimanenti). 6 CR (critical ratio). Rapporto critico. Il rapporto critico è la differenza fra la data di consegna e la data attuale diviso tempo residuo di lavorazione. Gli ordini con il CR inferiore vengono evasi per primi. 7 LIFO (last-in, first-out). Ultimo ad arrivare, primo a essere lavorato. Spesso applicata inconsapevolmente, non da espresse disposizioni. Al loro arrivo, i materiali di lavorazione vengono messi in cima e di solito l operatore preleva i materiali a cominciare dall alto. 8 Ordine casuale o random. Sovente supervisori e operatori scelgono a loro piacimento quale lavorazione effettuare.

Esempio di job sequencing: FIFO Supponete di dover effettuare le quattro lavorazioni (A, B, C, D) su un unica macchina. Com è il programma FIFO? Lavorazioni (in ordine di arrivo) Tempo di processo. (gg.) Data consegna (gg. da oggi) A 4 5 B 7 10 C 3 6 D 1 4 Tutte le lavorazioni vengono eseguite in tempo? Risposta: programma FIFO Lavorazioni (in ordine di arrivo) Tempo di processo. (gg.) Data consegna (gg. da oggi) A 4 5 B 7 10 C 3 6 D 1 4 Tempo di flusso (gg.) 4 11 14 15 No, le lavorazioni B, C e D saranno eseguite in ritardo.

Esempio di job sequencing: SPT Supponete di dover effettuare le quattro lavorazioni (A, B, C, D) su un unica macchina Lavorazioni (in ordine di arrivo) Tempo di processo. (gg.) Data consegna (gg. da oggi) A 4 5 B 7 10 C 3 6 D 1 4 Com è il programma SPT? Risposta: programma SPT Tutte le lavorazioni vengono eseguite in tempo? Lavorazioni (in ordine di arrivo) Tempo di processo. (gg.) Data consegna (gg. da oggi) D 1 4 C 3 6 A 4 5 B 7 Tempo di flusso (gg.) 1 4 8 10 15 No, le lavorazioni A e B saranno eseguite in ritardo.

Esempio di job sequencing: EDD Supponete di dover effettuare le quattro lavorazioni (A, B, C, D) su un unica macchina Com è il programma earliest due date first? Lavorazioni (in ordine di arrivo) Risposta: programma EDD Tempo di processo. (gg.) Data consegna (gg. da oggi) A 4 5 B 7 10 C 3 6 D 1 4 Tutte le lavorazioni vengono eseguite in tempo? Lavorazioni (in ordine di arrivo) Tempo di processo. (gg.) Data consegna (gg. da oggi) D 1 4 A 4 5 C 3 6 B 7 Tempo di flusso (gg.) 1 5 8 10 15 No, le lavorazioni C e B saranno eseguite in ritardo.

Esempio di job sequencing: Metodo CR (rapporto critico) Supponete di dover effettuare le quattro lavorazioni (A, B, C, D) su un unica macchina. Com è il programma CR? Lavorazioni (in ordine di arrivo) Per stilare questo programma si calcola il rapporto critico (CR) per ogni lavorazione. Posto che oggi sia il Giorno 1, e che per completare il lavoro siano previsti altri 1 giorni per A, 2 per B, 2 per C e 3 per D, ne deriva il seguente programma: CR(A)=5/(1+4)=1 (Eseguire questa per prima, insieme a D) CR(B)=10/(7+2)=1.1 (Eseguire questa dopo A e D) CR(C)=6/(3+2)=1.2 (Eseguire questa per ultima) CR(D)=4/(1+3)=1 (Eseguire questa per prima, insieme a A) Tempo di processo. (gg.) Data consegna (gg. da oggi) A 4 5 B 7 10 C 3 6 D 1 4 Tutte le lavorazioni vengono eseguite in tempo? No, solo la prima sarà eseguita in tempo.

Esempio di job sequencing: LIFO Supponete di dover effettuare le quattro lavorazioni (A, B, C, D) su un unica macchina Com è il programma LIFO? Lavorazioni (in ordine di arrivo) Tempo di processo. (gg.) Data consegna (gg. da oggi) A 4 5 B 7 10 C 3 6 D 1 4 Tutte le lavorazioni vengono eseguite in tempo? Risposta: programma LIFO Lavorazioni (in ordine di arrivo) Tempo di processo. (gg.) Data consegna (gg. da oggi) D 1 4 C 3 6 B 7 10 A 4 Tempo di flusso (gg.) 1 4 11 5 15 No, le lavorazioni B e A saranno eseguite in ritardo.

Esempio di job sequencing: la regola di Johnson (Parte 1) Supponete di dover svolgere le seguenti cinque lavorazioni, caratterizzate da diversi tempi operativi nelle due fasi di produzione. Qual è la sequenza di lavorazione secondo la regola di Johnson? Tempo in ore Lavoraz. Fase 1 Fase 2 A 1,50 1,25 B 2,00 3,00 C 2,50 2,00 D 1,00 2,00

Esempio di job sequencing: la regola di Johnson (Parte 2) Selezionare la lavorazione dal tempo operativo più breve in entrambe le fasi. Si tratta di D, che prevede il tempo più breve nella prima fase. Posizionate D il prima possibile nella sequenza dei lavori da effettuare (sotto). Time in Hours Jobs Stage 1 Stage 2 A 1.50 1.25 B 2.00 3.00 C 2.50 2.00 D 1.00 2.00 Eliminata D, scegliete il successivo tempo più breve (A) e ponetelo al quarto posto nella sequenza delle lavorazioni. Eliminata A, scegliete il successivo tempo più breve. C è un legame a due fasi per due diverse lavorazioni. In questo caso, collocate la lavorazione con il tempo più breve il prima possibile nella sequenza dei lavori da effettuare. Quindi collocate la lavorazione con il tempo più breve nella seconda fase il più tardi possibile nella sequenza dei lavori da effettuare. Job Sequence 1 2 3 4 Job Assigned D B C A

Diagramma di Gantt MACCHINA 1 I J MACCHINA 2 I J MACCHINA 1 MACCHINA 2 J I J I

Tecniche di scheduling Una differenziazione riguardante le tecniche di scheduling è quella relativa alla differenza esistente fra forward scheduling e backward scheduling.

Forward Scheduling Metodologia di schedulazione secondo la quale lo schedulatore comincia con una prestabilita data di inizio per la prima operazione e procede con le operazioni successive, calcolando i tempi in avanti rispetto alla data da cui si è partiti Vantaggioso quando il consumatore, esterno o interno, chiede il minimo tempo di approvvigionamento per un particolare ordine

Backward Scheduling Metodologia di schedulazione secondo la quale lo schedulatore comincia con una data prestabilita della fine dell ultima operazione e da questa calcola le date delle operazioni precedenti effettuando un calcolo all indietro fino a giungere alla prima operazione della lista Vantaggio si può rinviare il più possibile il rilascio di un ordine cominciando la sua lavorazione solo quando un ulteriore rinvio potrebbe compromettere il rispetto della data di consegna dell ordine stesso si evita il sovraccarico dell impianto di produzione evitando di effettuare una lavorazione prima del necessario