Harmonogramowanie produkcji
Harmonogramowanie produkcji jest ściśle związane z planowaniem produkcji. Polega na: rozłożeniu w czasie przydziału zasobów do zleceń produkcyjnych, podziale zleceń na partie produkcyjne, określeniu terminów rozpoczęcia i zakończenia realizacji partii produkcyjnych na poszczególnych maszynach. Kryteria optymalności harmonogramu produkcji reprezentują kompromis pomiędzy kosztami niedotrzymania terminów zaspokojenia zapotrzebowania, kosztami utrzymywania zapasów i kosztami częstych zmian asortymentu produkcji.
Klasyczną metodą harmonogramowania produkcji jest szeregowanie zadań Rozwiązaniem problemu szeregowania zadań jest uszeregowanie, zwane też harmonogramem
Elementarne pojęcia: zadania, zasoby. Zadania (zlecenia) wykonanie ciągu czynności zwanych operacjami, z których każdy wymaga zaangażowania określonych zasobów. Przykłady zadań: proces obróbki detalu - w przemyśle maszynowym, proces montażu w przemyśle samochodowym, realizacja inwestycji w budownictwie, przygotowanie promu kosmicznego do wystrzelenia w realizacji projektu naukowo-badawczego, przetworzenie partii surowca w przemyśle petrochemicznym. Termin gotowości, żądany termin zakończenia, przerywalność, podzielność, sposoby wykonywania operacji (szczególne żądania zasobowe, alternatywne sposoby wykonania)
Elementarne pojęcia: zadania, zasoby. Przykłady zasobów: odnawialne (procesor, maszyny, robot) ograniczenia strumienia dostępności, nieodnawialne (surowce energetyczne, materiały podlegające zużyciu) ograniczenie globalnej ilości, podwójnie ograniczone (energia, kapitał) Dostępność (czasowe przedziały dostępności), ilość, koszt, podzielność (w sposób ciągły lub dyskretny), przywłaszczalność
6 Wybrane kryteria oceny harmonogramu długość uszeregowania średni czas przepływu maksymalne opóźnienie średnie spóźnienie n n C max C max ) ( 1 1 _ n N n n o N n n o r C N F N F o o ) max( max max n n n n n d C L L,0} max{ 1 1 _ n N n n o N n n o d C N T N T o o
Szeregowanie zadań W systemie składającym się z M stanowisk roboczych (maszyn) należy wykonać N zleceń. Każde zlecenie jest poleceniem wykonania określonej liczby sztuk produktu o numerze j = j n Proces wytwarzania produktu j składa się z operacji o numerach k K j Zadanie jest poleceniem jednokrotnego bądź wielokrotnego wykonania danej operacji. Operacje należące do procesu wytwarzania dowolnego produktu muszą być wykonywane w określonej kolejności Zadania są wykonywane na stanowiskach roboczych: równoległych (spełniających te same funkcje), dedykowanych (różniących się wykonywanymi funkcjami) 7
Szeregowanie zadań Dla maszyn dedykowanych wyróżnia się trzy systemy obsługi: 1. Otwarty (open shop) - każde zadanie musi być wykonywane przez wszystkie maszyny ale kolejność wykonywania nie jest narzucona, 2. Przepływowy (flow shop) - każde zadanie musi być wykonywane w tej samej kolejności przez wszystkie maszyny 3. Ogólny (job shop) podzbiór maszyn mających wykonać dane zadanie oraz kolejność wykonywania każdego zadania są dowolne, choć określone. 8
Szeregowanie zadań dla zleceń jednostkowych o ustalonych marszrutach (problem job shop) Założenia: 1. Zlecenia są jednostkowe i dotyczą różnych produktów. Dlatego mogą być numerowane indeksem produktów j. 2. Zadania są jednostkowe, niepodzielne i będą identyfikowane, jak operacje, parami indeksów (j,k). 3. Kolejność operacji-zgodna z numeracją (liniowy porządek). 4. Marszruty są ustalone (maszyny dedykowane), więc dany jest przydział stanowisk do operacji i(j,k). Dlatego problem szeregowania zadań sprowadza się do wyznaczenia chwil rozpoczęcia zadań S nk, przy czym czasy wykonania zadań (operacji) t jk mogą być określone bez podania indeksu stanowiska. 9
Reguły dyspozytorskie przydziału priorytetów do zadań oczekujących przed maszynami na wykonanie: LPT (longest processing time), najdłuższy czas wykonania SPT (shortest processing time), najkrótszy czas wykonania FIFO (first in first out), pierwszy przybył pierwszy obsłużony LIFO (last in first out), ostatni przybył pierwszy obsłużony EDD (earliest due time), kolejność wykonania zadań według terminów zamknięcia zleceń, czyli ich zadanych czasów zakończenia LWR (least work remaining), kolejność wykonania zadań według rosnących sum czasów przetwarzania zadań pozostałych do wykonania w zleceniach
Przykład W systemie składającym się z czterech maszyn: należy wykonać cztery zlecenia o następujących czasach przybycia, marszrutach i czasach przetwarzania zadań: Zlecenia j Czas przybycia r j Sekwencja zadań (czas wykonania) 1 0 L(10) D(20) G(35) 2 0 D(25) L(20) G(30) M(15) 3 20 D(10) M(10) 4 30 L(15) G(10) M(20)
Rozwiązanie problemu otrzymuje się analizując kolejne chwile, które mogą być chwilami startu pewnych zadań. Zadanie może być rozpoczęte w chwili: otwarcia zlecenia (jeśli zadanie jest pierwsze w zleceniu i wolna jest maszyna, na której zadanie to ma być wykonane), zakończenia poprzedniego zadania w zleceniu (jeśli wolna jest maszyna, na której ma być wykonane zadanie), zwolnienia maszyny, na której zadanie ma być wykonane. Może się zdarzyć, że na zwolnienie maszyny oczekuje więcej niż jedno zadanie. Wówczas powstaje konflikt, a do jego rozstrzygnięcia stosuje się przyjętą regułę priorytetu.
LWR
Szeregowanie zadań na pojedynczej maszynie Założenia: 1. zlecenia są jednostkowe i dotyczą różnych produktów. Dlatego mogą być numerowane C n indeksem produktów j, 2. zlecenia są tożsame z zadaniami, 3. brak ograniczeń kolejnościowych. Należy zdecydować o kolejności wykonywania zadań na maszynie 15
Szeregowanie zadań na pojedynczej maszynie F Średni czas przepływu i średnie opóźnienie są minimalne dla uszeregowania SPT L Maksymalne opóźnienie L max i maksymalne spóźnienie T max są minimalne dla uszeregowania EDD Średnie spóźnienie (suma spóźnień) jest minimalne dla metody podziału i oszacowań T 16
Szeregowanie zadań na maszynach równoległych Założenia: 1. zlecenia są jednostkowe i dotyczą różnych produktów. Dlatego mogą być numerowane indeksem produktów j, 2. zlecenia są tożsame z zadaniami, 3. brak ograniczeń kolejnościowych. Należy zdecydować o przydziale zadań do maszyn i o kolejności wykonywania przydzielonych zadań na każdej maszynie 17
Szeregowanie zadań na maszynach równoległych Algorytm Mc Naughtona dla zadań wywłaszczalnych Szeregowanie zadań niepodzielnych za pomocą algorytmów listowych Algorytm SPT (kryterium oceny uszeregowania: średni czas przepływu) Algorytm LPT (kryterium oceny uszeregowania: długość uszeregowania) Algorytm RPT (kryterium oceny uszeregowania: długość uszeregowania i średni czas przepływu) 18
Szeregowanie zadań wywłaszczalnych Zadania wywłaszczalne - takie zadania, których wykonywanie na danej maszynie może zostać przerwane w pewnej chwili czasu, a później (lub nawet w tej samej chwili czasu) wznowione na tej samej lub innej maszynie. Aby uszeregować zadania wywłaszczalne można zastosować algorytm McNaughtona. 19
Algorytm Mc Naughtona Mając n zadań i m maszyn, na których zadania te mają zostać wykonane, można wyznaczyć długość uszeregowania : C n * max max { max{τ j}, τ j } j m j1 1. Rozpocznij wykonywanie dowolnego zadania na dowolnym procesorze w chwili t = 0 2. Wybierz dowolne nie uszeregowane zadanie i rozpocznij jego wykonywanie na tym samym procesorze. Powtarzaj krok 2, aż do osiągnięcia lub wyczerpania zbioru zadań. 3. Część zadania pozostającą po osiągnięciu przydziel do innego wolnego procesora zaczynając od t = 0. Wróć do kroku 2. 1 * C max
Przykłady: j 1 2 3 4 5 j 2 3 2 3 2 C * max max { max{τ j}, } j j1 1 2 3 4 5 1 2 4 2 1 n 1 τ j m P 1 Z 1 Z 2 P 1 Z 1 Z 2 Z 3 P 2 Z 2 Z 3 Z 4 P 2 Z 3 Z 4 P 3 Z 4 Z 5 P 3 Z 4 Z 5 j j j 1 3 5 j 1 j 4 2 3 2 3 2 12 j 4 3 1 3 5 j1 1 2 4 2 110 j C * max max (3,12/3) 4 max (4,10/3) 4 C * max
Szeregowanie zadań dla procesów przepływowych Ogólny przepływowy system obsługi. kierunek przepływu wszystkich zleceń jest ten sam liczba zadań i użyte maszyny zależą od zlecenia 23
Szeregowanie zadań dla procesów przepływowych Idealny przepływowy system obsługi. kierunek przepływu wszystkich zleceń jest ten sam liczba zadań jest równa liczbie maszyn 25
Szeregowanie zadań dla procesów przepływowych Algorytm Johnsona dla systemu przepływowego z dwiema maszynami (algorytm ten minimalizuje długość uszeregowania C max zadań niepodzielnych ) Krok 1. Wybierz zlecenia dla których τ 1j τ2j Przydzielaj zadania tych zleceń do maszyn w kolejności nie malejących 1j. Krok 2. Pozostałe zlecenia uporządkuj w kolejności nie rosnących 2j zachowując tę samą kolejność zleceń na każdej z dwu maszyn. 26
Przykład: Szeregowanie zadań dla procesów przepływowych Krok 1. 5,1,4, 3,2 Krok 2. C * max 25 28
Balansowanie linii montażowej (BLM) Idea balansowania linii montażowej polega na wyznaczeniu minimalnej liczby stanowisk pracy (stacji, maszyn) poprzez optymalne ale uwzględniające ograniczenia kolejnościowe, rozdzielenie operacji na stanowiska. niewykorzystany czas pracy maszyn tworzących linię montażową 1 2 5 4 3 M1 M2 M3 29
Balansowanie linii montażowej Stacja robocza jest to segment linii montażowej, na której wykonywane są określone operacje. Jest ona scharakteryzowana przez swoją wielkość, wyposażenie oraz rodzaj operacji możliwych do wykonania. Stacje robocze mogą być podzielone ze względu na operatora na: stacje obsługi ręcznej, zautomatyzowane zrobotyzowane. Zbiór wykonywanych na stacji roboczej operacji nazwano jej obciążeniem Ruch na linii montażowej odbywa się od stacji początkowej do stacji końcowej, bez możliwości pominięcia jakiejkolwiek stacji pośredniej. 30
Balansowanie linii montażowej Montaż jest to proces gromadzenia i dopasowania do siebie różnych części w celu stworzenia finalnego produktu. Opisany jest przez wykaz części oraz czynności niezbędnych do wykonania zadania. Operacja jest to elementarna czynność całkowitego procesu montażu wykonywana na linii technologicznej. Czas konieczny do realizacji operacji nazwany został czasem wykonania operacji. Operacja jest rozważana jako czynność niepodzielna, gdyż żadna z operacji nie może być podzielona ma mniejszą czynność. 31
Balansowanie linii montażowej Cykl - wielkość, która charakteryzuje maksymalny czas obsługi montowanego produktu na każdej ze stacji roboczej. Jest parametrem wyznaczanym w oparciu o planowaną wielkość produkcji. Jednostka cyklu związana jest z jednostką czasów wykonywania operacji. 32
Założenie 1 Założenie 2 Definicja problemu BLM Wszystkie parametry wejściowe są znane Operacja nie może być przydzielona pomiędzy dwie lub więcej stacji roboczych Założenie 3 Operacje muszą być wykonane zgodnie z wymaganiami technologicznymi przedstawionymi w postaci relacji kolejnościowych 33
Definicja problemu BLM Założenie 4 Założenie 5 Wszystkie operacje muszą być wykonane Każda ze stacji jest wyposażona w narzędzia umożliwiające wykonanie każdej z operacji (koszty każdej stacji są stałe) Założenie 6 Czas wykonania operacji jest stały niezależnie od przydzielenia do stacji roboczej 34
Definicja problemu BLM Założenie 7 Każda operacja może być wykonana na dowolnej stacji Założenie 8 Linia nie posiada żadnych struktur równoległych i jest rozważana jako szeregowa Założenie 9 Projektowana linia jest przeznaczona do produkcji pojedynczego modelu produktu 35
Definicja problemu BLM Typ1 - cykl jest stały i dany. Celem jest minimalizacja przestojów stacji co jest równoważne z minimalizacją liczby stanowisk pracy. Typ 2 - liczba stacji jest dana i jest stała. Celem jest minimalizacja cyklu balansowanej linii co jest równoważne z maksymalizacją produkcji. 36
Matematyczny opis problemu BLM Klasyczny model BLM uwzględnia jedynie: zbiór operacji z relacją kolejnościową oraz czasy operacji (przy zadanym cyklu). Dany jest zbiór operacji montażowych: i, i 12,,..., n 37
Matematyczny opis problemu BLM Wszystkie operacje na linii montażowej wykonywane są według kolejności opartej o macierz relacji kolejności wykonywania operacji : v,i = 1,2,...,n v, i 1 0 operacja v jest bezpośrednim poprzednikiem operacji w przeciwnym przypadku i 38
Matematyczny opis problemu BLM Czasy wykonywania operacji : i, i 1,2,..., n Dany jest także cykl linii montażowej, który spełnia warunek: max c 1in i n i1 i 39
Matematyczny opis problemu BLM Problem BLM w takim modelu polega na wyznaczeniu stacji dla wykonywania danego podzbioru operacji, tak aby optymalny balans linii montażowej spełniał kryterium minimalizacji niewykorzystanego czasu pracy: lub Q mm m1 c i i m m i Q Mc i min min, m 1,2,...,M 40
Algorytmy BLM dokładne (metoda liniowego programowania dyskretnego, programowania sieciowego, programowania dynamicznego, podziału i oszacowań) heurystyczne 41
Algorytmy BLM Heurystyczne (m.in.): Ranked Positional Weight wagowe określenie pozycji każdej operacji (czas najdłuższej ścieżki od początku operacji do końca sieci) Kilbridge a i Wester a- ustala się porządek operacji oparty o liczbę operacji, które rozważaną operację poprzedzają Metoda macierzy kolejnościowej Hoffmana 42
Miary metody BLM Najlepsze balansowanie linii montażowych oznacza takie połączenie operacji, by dla każdej stacji roboczej suma czasów elementarnych była równa czasowi cyklu. Miary które pozwalają na porównywanie metod używanych do BLM: 1. efektywność linii Line Efficiency (LE), 2. współczynnik gładkości Smoothness Index (SI), 3. czas linii - Time (T). 43
Miary metody BLM Efektywność linii (LE) LE K i1 ST c K i 100% gdzie: K ilość stacji roboczych, c czas cyklu, ST czas wykorzystania stacji 44
Miary metody BLM Współczynnik gładkości (SI) SI K i1 ( STmax ST i ) 2 gdzie: ST max maksymalny czas stacji roboczej, ST i czas stacji i. 45
Miary metody BLM Czas linii (T) T ( K 1) c ST K gdzie: K ilość stacji roboczych, c czas cyklu, ST K czas ostatniej stacji. 46