Organizzazione della produzione

Documenti analoghi
Organizzazione della produzione

Sistemi Organizzativi

Organizzazione della produzione

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica

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

Automazione Industriale (scheduling+mms) scheduling+mms

ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO

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

1. Considerazioni generali

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

Le attuali tendenze del mercato

Cenni di schedulazione in tempo reale. E.Mumolo

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

SCHEDULING SCHEDULING

1. Considerazioni generali

Sistemi Organizzativi docente: Stefano Smriglio

Soluzioni degli esercizi di formulazione di PL{0, 1}

Problema Determinare la miscelazione ottimale delle materie prime in modo da massimizzare il profitto complessivo

CAPITOLO 6 La programmazione operativa (operations scheduling)

Introduzione alla teoria dello scheduling

Metodi di Ottimizzazione per la Logistica e la Produzione

Sistemi Operativi. La gestione delle risorse

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

Parte 3: Gestione dei progetti, Shop scheduling

APPLICAZIONI DELLA RICERCA OPERATIVA

Programmazione operativa

Programmazione Lineare Intera: Piani di Taglio

Processi di cost management - Programmazione multiperiodale

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

Operations Management

Il Sistema Operativo Concorrenza e Grafi di precedenza

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

1. Classificazione delle risorse

Ottimizzazione della produzione tramite software di scheduling

Principi di Schedulazione in tempo reale

Schedulazione di attività in presenza di attività interrompibili

CASE STUDY 2. Fabbricazione dell acciaio. Un problema di pianificazione: Minimizzazione dei costi di carica del forno. Dati. Formulazione del problema

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

LEZIONE 12. v = α 1 v α n v n =

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

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

Sistemi di elaborazione in tempo reale: un introduzione

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

Schedulazione real-time di task PERIODICI

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

Schedulazione delle Attività di un Progetto in Presenza di Multi-Calendari

La Gestione dei Progetti. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Metodi di Ottimizzazione per la Logistica e la Produzione

Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29

SISTEMI DI PRODUZIONE DISCRETA

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities

Problemi di localizzazione di servizi (Facility Location Problems)

Project Scheduling: PERT. Il PERT ha potenzialità superiori rispetto a quelle di un semplice mezzo per la pianificazione ed il controllo.

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano

4.1 Localizzazione e pianificazione delle base station per le reti UMTS

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

Pianificazione dei progetti

La Gestione dei Progetti. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Sommario Codifica dei dati Macchina Astratta Definizioni Esempi

Pianificazione dei progetti. Alberto Caprara DEIS - Università di Bologna

LEZIONE 13. v =α 1 v α i 1 v i 1 + α i v i = =α 1 v α i 1 v i 1 + α i (λ 1 v λ i 1 v i 1 ) =

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

Universita degli Studi di Siena

BILANCIAMENTO DI UNA LINEA DI MONTAGGIO MANUALE

Cognome e nome: Matricola: Posto:

Architettura hardware

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

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33

1 Giochi a somma costante, a somma zero e antagonistici

Programmazione della produzione MT MT

Progettazione di Algoritmi

COMPITO DI RICERCA OPERATIVA. max 5 2x 1 + 3x 2 x 3 = 2 + x 1 5x 2 x 4 = 5 + x 2. x 5 = 1 + x 1 x 2

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

65(a), (b), (c) e (d). Esse stabiliscono che in configurazione di decollo e con

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

Fondamenti di Informatica

Ambienti di calcolo a griglia Parte 2. Docente: Marcello CASTELLANO

Il Branch & Bound. Definizione 1. Sia S R n. La famiglia S = {S 1, S 2,..., S k S} tale che S 1 S 2 S k = S viene detta suddivisione di S.

Attività Precedenze Tempo (gg) A - 5 B - 10 C A 3 D B 2 E B 4 F C, D 6 G F, E 3

TEORIA DEI SISTEMI SISTEMI LINEARI

GROUP TECHNOLOGY e PRODUZIONE A CELLE

A) Assumere un responsabile di vendita B) Stabilire il prezzo del prodotto C) Assumere gli agenti di vendita D) Istruire gli agenti di vendita E)

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

Esercizi di PLI. a cura di A. Agnetis. Risolvere il seguente problema di PLI con l algoritmo dei piani di Gomory:

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

UNIVERSITA DEGLI STUDI DI PADOVA

Cognome e Nome... Ricerca Operativa 2 AA

Scheduling della CPU

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Scheduling della CPU. Capitolo 6 - Silberschatz

Compito di Informatica Grafica 5 appello 11/07/2011. Nome e Cognome Numero di Matricola

Dischi e CPU. Alcuni esercizi sulle prestazioni (seconda parte)

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Introduzione ai grafi

2.2 Alberi di supporto di costo ottimo

Transcript:

Scheduling

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

Pianificazione della produzione: schedulazione di dettaglio Sono dati: Un insieme di lavori (job): ognuno costituito da una o più operazioni Un insieme di risorse (macchine) che devono essere utilizzate per eseguire i lavori

Scheduling delle operazioni Scelta dei tempi di inizio e fine di ogni operazione su ogni macchina

Esempio: fotocopie Silvia (S) e Francesca (F) giungono nello stesso momento ad una macchina fotocopiatrice. F deve fare 1 fotocopia, S ne deve fare 100. Il galateo imporrebbe a S di lasciar passare per prima F, che impegna la macchina per un tempo breve e poi la lascia libera. È questa una buona idea? Analisi. Supponiamo che l esecuzione di una fotocopia richieda 3 secondi. Due casi: S precede F 303 F precede S 3 0 300 Attesa totale = 300 + 303 = 603 0 Attesa totale = 3 + 303 = 306 303

Esempio: fotocopie E se Silvia (S) giungesse prima di Francesca (F) (che arriva all istante r f )? S F 0 300 r f 303 Attesa totale = 300 + 303 r f = 603 r f Di nuovo, il galateo imporrebbe a Silvia di interrompere le proprie copie in favore di Francesca: 0 303 r f r f + 3 Attesa totale = 3 + 303 = 306

Esempio: CPU uno dei compiti del sistema operativo (multitasking) è quello di disciplinare l accesso alla CPU dei diversi programmi di calcolo (eventualmente associati ad una priorità). il processamento di un programma può essere interrotto per consentire il completamento di altri. Ciò evita che un programma lungo ne blocchi altri molto brevi che hanno priorità più bassa. L obiettivo tipico consiste nel minimizzare l attesa complessiva dei programmi.

Esempio: voli in atterraggio L area terminale di un aeroporto contiene l insieme dei velivoli prossimi all atterraggio. Il sistema di controllo dell aeroporto permette di far atterrare al più un volo alla volta e la durata della manovra di atterraggio è nota per ogni velivolo. Ad ogni velivolo è inoltre associato un tempo previsto di atterraggio Obiettivo del controllore può essere quello di decidere la sequenza in modo da minimizzare la somma (pesata) dei ritardi. Vincoli aggiuntivi: - a causa della turbolenza, si deve garantire una certa separazione in atterraggio fra un aeromobile di grandi dimensioni ed di piccole dimensioni - precedenze fra voli

Scheduling delle operazioni Consideriamo: 3 lavori e 3 macchine Job Sequenza delle operazioni operazione=(macchina, tempo) J 1 (M 1,10) (M 2,5) (M 3,6) J 2 (M 2,5) (M 1,8) - J 3 (M 1,2) (M 3,10) (M 2,4)

Diagramma di Gantt Job Sequenza Operazioni J 1 (M 1,10) (M 2,5) (M 3,6) J 2 (M 2,5) (M 1,8) - J 3 (M 1,2) (M 3,10) (M 2,4) M 1 1 3 2 M 2 2 1 3 M 3 3 1 5 10 12 15 20 22 26 28

Diagramma di Gantt Job Sequenza Operazioni J 1 (M 1,10) (M 2,5) (M 3,6) J 2 (M 2,5) (M 1,8) - J 3 (M 1,2) (M 3,10) (M 2,4) M 1 3 1 2 M 2 2 1 3 M 3 3 1 2 5 12 17 20 21 23

Esempio Aldo (A), Bruno (B), Carlo (C), Duilio (D) condividono un appartamento. Ogni mattino ricevono 4 giornali: Financial Times (FT), Guardian (G), Daily Express (DE), Sun (S). Ciascun lettore inizia la lettura ad una certa ora, ha la propria sequenza fissata di lettura dei gionali e legge ciascun giornale per un tempo prefissato: lettore Ora inizio Sequenza lettura (tempo in min.) Aldo 8.30 FT(60) G (30) DE (2) S(5) Bruno 8.45 G(75) DE(3) FT(25) S(10) Carlo 8.45 DE(5) G(15) FT(10) S(30) Duilio 9.30 S(90) FT(1) G(1) DE(1)

Esempio tutti i lettori preferiscono (eventualmente) aspettare che un giornale (il prossimo nella propria sequenza) sia disponibile anziché modificare la sequenza prefissata. nessun lettore rilascia un giornale prima di averlo letto completamente. ciascun lettore termina la lettura di tutti i giornali prima di uscire. i quattro lettori attendono che tutti abbiano terminato di leggere prima di uscire di casa Problema: Qual è la minima ora in cui A, B, C, D possono uscire?

Classificazione dei problemi di scheduling Caratterizzazione dei lavori: tempo di processamento p j (p kj ) data di consegna (duedate o deadline) d j data di rilascio (release date) r j peso del lavoro (priorità) w j tempo di set-up tra due lavori s ij

Classificazione dei problemi di scheduling Caratterizzazione delle risorse e dell ambiente produttivo: macchina singola macchine parallele identiche scorrelate uniformi Flow shop Job shop

Macchina singola LAVORI M

Macchine parallele M 1 LAVORI M 2 M 3

Macchine in linea (Flow shop) LAVORI M 1 M 2 M m

Esempio M 1 M 2 IN OUT

Esempio M 1 M 2 IN OUT

Job shop LAVORI M 1 M 2 M 3

Misure di prestazione Dato il lavoro i con release date e duedate: tempo di completamento C i tempo di attraversamento F i = C i r i Lateness L i = C i d i Tardiness T i = max{ 0, C i d i } Earliness E i = max{ 0, d i C i } Lavori in ritardo (lavori) U i = 1 se C i > d i U i = 0 se C i d i

Lateness (Ritardo) Ritardo del lavoro i : L i = C i -d i L i (C i ) L i > 0 C i - d i L i < 0 anticipo d i ritardo C i d i : tempo di consegna (duedate) per il lavoro i

Misure di prestazione (sistema) somma dei tempi di completamento: Σ i C i flow time totale: Σ i F i massima Lateness: L max = max i L i massima Tardiness: T max = max i T i Tardiness totale pesata Σ i w i T i makespan C max = max i C i numero di lavori in ritardo Σ i U i

Equivalenza tra misure Misure di prestazione ( ) = = = = = + = = n i i i n i i n i i n i i n i i d r F d C L 1 1 1 1 1

Misure di prestazione Una sol. che minimizza L max minimizza anche T max (ma, in generale, non è vero il viceversa): T max max = = max max { T,..., T,0} { max{ L,0},...,max { L,0 } { L,..., L,0} = max{ L,0} 1 1 1 n n = n max =

Esempio Lavori 1 2 3 4 5 p i 8 16 10 7 2 Sequenza ottima (5, 4, 1, 3, 2)

Esempio Aldo (A), Bruno (B), Carlo (C), Duilio (D) condividono un appartamento. Ogni mattino ricevono 4 giornali: Financial Times (FT), Guardian (G), Daily Express (DE), Sun (S). Ciascun lettore inizia la lettura ad una certa ora, ha la propria sequenza fissata di lettura dei gionali e legge ciascun giornale per un tempo prefissato: lettore Ora inizio Sequenza lettura (tempo in min.) Aldo 8.30 FT(60) G (30) DE (2) S(5) Bruno 8.45 G(75) DE(3) FT(25) S(10) Carlo 8.45 DE(5) G(15) FT(10) S(30) Duilio 9.30 S(90) FT(1) G(1) DE(1)

Esempio tutti i lettori preferiscono (eventualmente) aspettare che un giornale (il prossimo nella propria sequenza) sia disponibile anziché modificare la sequenza prefissata. nessun lettore rilascia un giornale prima di averlo letto completamente. ciascun lettore termina la lettura di tutti i giornali prima di uscire. i quattro lettori attendono che tutti abbiano terminato di leggere prima di uscire di casa Problema: Qual è la minima ora in cui A, B, C, D possono uscire?

Soluzioni Il problema equivale a: determinare in quale ordine ciascun giornale deve esser letto dai quattro lettori in modo da minimizzare il tempo di lettura totale. una possibile soluzione: giornale Lett. 1 Lett. 2 Lett. 3 Lett. 4 FT A D C B G B C A D DE C B A D S D A C B

Giorn. FT G DE S L1 A B C D L2 D C B A L 3 C A A C L4 B D D B Diagramma di Gantt FT A D C B G B C A D DE C B A D S D 8.30 9.00 10.00 11.00 11.51 A C B

lettore inizio Sequenza lettura Aldo 8.30 FT G DE S Bruno 8.45 G DE FT S Carlo 8.45 DE G FT S Duilio 9.30 S FT G DE FT A D Vincoli tecnologici C B G B C A D DE C B A D S D 8.30 9.00 10.00 11.00 11.51 A C B

Commenti FT A D C B G DE S C B C A B D 8.30 9.00 10.00 11.00 11.51 A D A D C B un lettore può essere inattivo (in idle) in certi periodi (C in [10.15, 11.01]) ci può essere un giornale fermo anche se c è un lettore disponibile che deve ancora leggerlo: B potrebbe avere S 11.05, ma questo violerebbe la sua sequenza; FT potrebbe avere C alle 9.30 ma viola la soluzione

Esercizi Determinare il valore del tempo di completamento di tutte le letture per la seguente soluzione: giornale Lett. 1 Lett. 2 Lett. 3 Lett. 4 FT D B A C G D C B A DE D B C A S A D C B Determinare uno schedule migliore di quello proposto in precedenza

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

Elementi di un problema di scheduling job: attività da svolgere Fotocopia, esecuzione di un programma di calcolo, lettura di un giornale Un job può rappresentare una singola attività o un insieme di attività (task) tecnologicamente legate macchine: risorse che eseguono le attività Fotocopiatrice, CPU, giornali L esecuzione di un attività su una macchina è dettaoperazione. I problemi di scheduling si classificano in base alle caratteristiche dei task e all architettura delle macchine

Attributi dei job tempo di processamento p ij : durata del processamento del job j sulla macchina i release date r j : tempo in cui j arriva nel sistema, rendendosi disponibile al processamento due date d j : tempo entro il quale si desidera che il job j sia completato (data di consegna) pesow j : indica l importanza del job j Notazione a tre campi: α/β/γ: α descrive il sistema di macchine β rappresenta vincoli e modalità di processamento (0, 1 o più componenti) γ indica l obiettivo

Campo α Macchina singola (1) : ciascun job richiede una singola operazione da eseguirsi sull unica macchina disponibile Macchine identiche parallele(p m ) : ciascun job richiede una singola operazione da eseguirsi su una qualunque delle m macchine identiche. Flowshop(F m ) : m macchine in serie. Ciascun job deve essere processato su ciascuna di esse (m task). Tutti i job hanno lo stesso routing. Una volta terminata un operazione il job viene posto nel buffer della macchina successiva 1 2 m Job shop (J m ) : ciascun job deve essere processato da un sottoinsieme di un insieme di m macchine, secondo un proprio routing.

Campo β Release dates (r j ) : il job j non può iniziare il processamento prima dell istante r j Tempidiset-up(s jk ) : tempo richiesto per il riattrezzaggio delle macchine fra i job j e k. Se dipende dalla macchina i, si esprime con s i jk Preemption(prmp) : è ammesso interrompere un operazione su una macchina prima del suo completamento per iniziare una nuova operazione. Il processamento eseguito prima dell interruzione non va perso: quando l operazione viene ripresa, essa richiede solo il tempo rimanente di processamento vincolidiprecedenza(prec) : un job può essere processato solo se tutti i job di un certo insieme sono stati completati. Grafo delle precedenze. Se ciascun job ha al più un predecessore e un successore β = chain. breakdown(brkdwn) : le macchine non sono sempre disponibili, ma hanno periodi fissati di interruzione del servizio

Campo γ Definizioni. C j L j = C j d j tempo di completamento del job j lateness del job j T j = max(l j,0) tardiness del job j U j = 1 sec j >d j (tardy job) e 0 altrimenti Makespan(C max ) : max (C 1,, C n ) tempo di completamento dell ultimo job MassimaLateness(L max ) Tempototalepesatodicompletamento(Σw j C j ) Tardinesstotalepesata(Σw j T j ) Numeroditardyjob(ΣU j )

Definizioni di base Una funzione obiettivo si dice regolare se è nondecrescente in C 1,, C n Una permutazione dei job che definisce l ordine con cui i job sono processati su una certa macchina si dice sequenza Una soluzione di un problema di scheduling si dice schedule. Consiste nell assegnamento di un istante di inizio a ciascuno dei task di ogni job (se prmp, istanti di inizio di ciascuna delle parti in cui viene suddiviso un task) uno schedule ammissibile è detto nondelay se nessuna macchina è ferma quando esiste un operazione disponibile al processamento

Esempio: fermi macchina non forzati Richiedere che lo schedule sia privo di fermi macchina non forzati può portare a comportamenti controintuitivi. Esempio:P 2 /prec/c max 2 job 1 2 3 4 5 6 7 8 9 10 1 10 p j 7 6 6 1 2 1 1 7 7 14 3 5 8 4 6 7 9

P 2 /prec/c max Regola di buon senso: mandare una parte processabile sulla prima macchina libera. 1 2 3 10 5 8 4 Soluzione: 6 7 9 M2 M1 1 2 9 4 6 5 7 8 3 10 32 0 10 20 30

Soluzione ottima 2 Nonostante l idea di non fermare le macchine se non necessario sia ragionevole, la seguente soluzione migliora quella ottenuta dalla regola precedente: 4 1 10 3 5 8 M2 M1 1 2 8 9 4 6 5 7 3 10 27 0 10 20 30 6 7 9 fermo macchina forzato

Scheduling su singola macchina Descrizione del problema Un insieme di n operazioni deve essere eseguito su una macchina Dati I tempi di processamento p i, i=1,,n, del lavoro i sulla macchina sono noti. Obiettivo Sequenziare le operazioni sulla macchina in modo da minimizzare la somma dei tempi di completamento. min Σ i C i