Harmonogramowania proces贸w produkcyjnych i przedsi臋wzi臋膰 inwestycyjnych – cze艣膰 II

Teoria szeregowania zada艅 wykorzystywana jest w harmonogramowaniu produkcji przemys艂owej, w systemach operacyjnych maszyn cyfrowych, w systemach wspomagania podejmowania decyzji, podczas planowania przedsi臋wzi臋膰 inwestycyjnych, podczas organizowania czasu pracy i podzia艂u obowi膮zk贸w.

Rysunek 1. Wykres Gantta -opis podstawowych parametr贸w. 殴r贸d艂o: opracowanie w艂asne
Rysunek 1. Wykres Gantta -opis podstawowych parametr贸w. 殴r贸d艂o: opracowanie w艂asne

Szeregowanie to wyznaczenie takiego rozdzia艂u w czasie i przestrzeni dost臋pnych zasob贸w produkcyjnych, by spe艂niaj膮c za艂o偶enia projektowe, uzyska膰 najlepsze mo偶liwe rozwi膮zanie zaspokajaj膮ce zapotrzebowanie na produkowane wyroby.

Za艂贸偶my, 偶e dysponujemy zbiorem n zada艅 Z = {Z1, ..., Zn}, wykonywanych przy u偶yciu m-elementowego zbioru maszyn M = {M1, ...,Mm}, kt贸re s膮 jedynymi zasobami w naszym modelu.

Nale偶y tak pokierowa膰 przep艂ywem zada艅 poprzez zbi贸r maszyn, aby uzyska膰 rozwi膮zanie najkorzystniejsze. Wyr贸偶nia si臋 przep艂ywowe zagadnienie kolejno艣ciowe (np. linia monta偶owa) oraz og贸lne zagadnienie kolejno艣ciowe, w tym szeregowanie zada艅 na maszynach r贸wnoleg艂ych.

Zadaniami mog膮 by膰 przyk艂adowo procesy produkcyjne, czynno艣ci inwestycyjne w projektach, obliczenia komputerowe. Maszyny mog膮 by膰 r贸偶nego typu, mog膮 to by膰 procesory komputer贸w, ludzie, energia, nak艂ady finansowe. Mo偶liwo艣ci jest wiele. Opiszemy teraz podstawowe parametry charakteryzuj膮ce model szeregowania zada艅:

  • Czas pij (ang. processing time) jest to czas wykonywania czynno艣ci Zj,, na maszynie Mi.
  • Moment przybycia rj (ang. release time) zadania Zj zwany te偶 wymiennie momentem zwolnienia lub gotowo艣ci zadania Zj. Jest to moment, w kt贸rym zadanie Zj staje si臋 dost臋pne, mo偶liwe do wykonania.
  • Termin zako艅czenie dj (ang. due date) zadania Zj jest to termin do kt贸rego nale偶y zako艅czy膰 wykonywanie zadania Zj . Dodatkowo terminy, kt贸re musz膮 by膰 bezwzgl臋dnie respektowane nazywa si臋 liniami krytycznymi.
  • Waga wj (ang. weight) zadania Zj okre艣la wa偶no艣膰 (koszt) zadania Zj. Zak艂ada si臋, 偶e zadania o jednakowym priorytecie wa偶no艣ci maj膮 tak偶e r贸wne wagi.

Przejdziemy teraz do om贸wienia parametr贸w, za pomoc膮 kt贸rych okre艣la si臋 po艂o偶enie danego zadania w czasie. Ka偶de zadanie produkcyjne Zj ma sw贸j czas rozpocz臋cia Sj i czas zako艅czenia Cj. Dodatkowo do najcz臋艣ciej spotykanych parametr贸w, umo偶liwiaj膮cych usytuowanie zadania w czasie nale偶膮:

  • Op贸藕nienie Lj (ang. lateness) zadania Zj wyznacza si臋 pod warunkiem, 偶e dla danego zadania okre艣lony jest termin jego 偶膮danego zako艅czenia dj . Op贸藕nienie jest miar膮 nieterminowo艣ci, odpowiada na pytanie, o ile czas zako艅czenia zadania Zj przekracza preferowany termin jego zako艅czenia i wyra偶a si臋 wzorem Lj = Cj dj. Ujemne op贸藕nienie odpowiada przedterminowemu uko艅czeniu zadania i lepszej obs艂udze systemu.
  • Sp贸藕nienie Tj (ang. tardiness) zadania Zj jest parametrem 艣ci艣le powi膮zanym z powy偶szym. Przyjmuje warto艣膰 0 gdy zadanie Zj uko艅czone zosta艂o przed 偶膮danym terminem zako艅czenia, w pozosta艂ych przypadkach Tj = Lj , czyli ostatecznie Tj = max{0, Lj}. Parametr ten wprowadzono w odpowiedzi na systemy produkcyjne, w kt贸rych przedterminowe uko艅czenie zadania nie przynosi 偶adnych wymiernych korzy艣ci.
  • Jednostkowa kara Uj (ang. unit penalty) zadania Zj jest parametrem logicznym, sygnalizuj膮cym o przekroczeniu preferowanego terminu zako艅czenia zadania Zj . W przypadku niedotrzymania planowanego terminu zostaje zwr贸cona warto艣膰 1, w przeciwnym wypadku otrzymamy warto艣膰 0

Bazuj膮c na powy偶szych danych mo偶emy spr贸bowa膰 oceni膰 dane uszeregowania zada艅. Jak 艂atwo si臋 domy艣li膰, nie istnieje uniwersalne kryterium optymalno艣ci. Za ka偶dym razem minimalizujemy koszty zwi膮zane z wyborem kolejno艣ci wykonywanych operacji, a te zwi膮zane s膮 ze specyfik膮 danego przedsi臋biorstwa. Czasami najwi臋kszymi kosztami obarczona b臋dzie ilo艣膰 op贸藕nionych zada艅, innym razem firma nara偶ona b臋dzie na najwi臋ksze straty, gdy przekroczy 艂膮czny czas przewidziany na wykonanie ca艂ego przedsi臋wzi臋cia. Niech fj(t) b臋dzie kosztem zako艅czenia zadania Zj w chwili t, fj {Cj, Lj, Tj, Uj}, w贸wczas do najcz臋艣ciej rozwa偶anych funkcji koszt贸w nale偶膮:

Koszt maksymalny, kt贸ry mo偶na wyrazi膰 jako fmax = max{fj : j = 1, ..., n}. Do tej grupy nale偶膮 na przyk艂ad:

  • Cmax, maksymalny czas zako艅czenia, zwany te偶 d艂ugo艣ci膮 uszeregowania,
  • Lmax, maksymalne op贸藕nienie,
  • Tmax, maksymalne sp贸藕nienie.

Koszt ca艂kowity, do kt贸rego nale偶膮 koszt sumaryczny i koszt sumaryczny wa偶ony, nazywany te偶 wa偶on膮 lub obci膮偶on膮 sum膮 koszt贸w. Og贸lnie koszt ca艂kowity wyra偶a si臋 wzorem fsum = ∑wjfj. Gdy wszystkie wagi s膮 takie same, przyjmuje si臋 fsum = ∑fj i jest to w贸wczas koszt sumaryczny. Do najcz臋艣ciej rozpatrywanych koszt贸w, wyst臋puj膮cych w tej klasie nale偶膮:

  • Cj , ca艂kowita, 艂膮czna d艂ugo艣膰 uszeregowania,
  • Lj , ca艂kowite op贸藕nienie (analogicznie ∑Tj to ca艂kowite sp贸藕nienie),
  • Uj , ilo艣膰 sp贸藕nionych zada艅,
  • wjTj , 艂膮czne wa偶one sp贸藕nienie.

Z ilo艣ci poj臋膰, zdefiniowanych powy偶ej, mo偶na by wnioskowa膰, i偶 dok艂adny opis przyk艂adowego modelu szeregowania zada艅 ze wszystkimi jego parametrami zajmuje niejednokrotnie kilka linijek tekstu. By艂oby tak z pewno艣ci膮, gdyby nie istnia艂a elastyczna symbolika, kt贸r膮 wprowadzono, aby upro艣ci膰 wielolinijkowe zapisy. Jest to tak zwana notacj臋 tr贸jpolowa.

maszyny|zadania|kryterium

Za pomoc膮 tego uniwersalnego zapisu mo偶na precyzyjnie i zwi臋藕le zdefiniowa膰 ka偶de zagadnienie z obszernej teorii szeregowania zada艅. My ograniczymy nasz膮 uwag臋 do tych warto艣ci p贸l, kt贸re odpowiadaj膮 problemom rozwa偶anym w szeregowaniu na maszynach r贸wnoleg艂ych.

Pole maszyny okre艣la typ systemu, czyli 艣rodowisko maszynowe. Je偶eli nie jest zaznaczone iloma maszynami dysponujemy, zak艂adamy, 偶e liczba maszyn stanowi parametr zagadnienia i w贸wczas stosujemy oznaczenia:

  • P – dla maszyn r贸wnoleg艂ych identycznych (maszyny r贸wnoleg艂e)
  • Q – dla maszyn r贸wnoleg艂ych jednorodnych (maszyny r贸wnoleg艂e)
  • R– dla maszyn r贸wnoleg艂ych dowolnych (maszyny r贸wnoleg艂e)
  • F – zagadnienie przep艂ywowe (maszyny dedykowane)
  • O – System otwarty (maszyny dedykowane)
  • J – System og贸lny/gniazdowy (maszyny dedykowane)

Natomiast, je偶eli liczba maszyn z jakiego艣 wzgl臋du jest ustalona i na przyk艂ad dysponujemy tylko dwoma identycznymi maszynami pracuj膮cymi r贸wnolegle, zapisujemy to jako P2. Og贸lnie, gdy mamy dane m maszyn danego rodzaju, odpowiada to zapisowi Pm, Qm lub Rm. Je偶eli dysponujemy tylko jedn膮 maszyn膮 wpisujemy w pierwszym polu notacji tr贸jpolowej cyfr臋 1, natomiast gdy problem jest bezprocesorowy zostawiamy pierwsze pole puste.

Pole zadania opisuje charakterystyki zada艅, dodatkowe ograniczenia. Pole to mo偶e pozosta膰 puste, pod warunkiem, 偶e zadania s膮 niepodzielne, niezale偶ne i wszystkie s膮 dost臋pne z chwil膮 rozpocz臋cia procesu (czyli rj = 0 dla i = 1, ..., n). W przeciwnym przypadku w polu tym umieszcza si臋 list臋 niekt贸rych spo艣r贸d poni偶szych parametr贸w:

  • pmtn – je偶eli dopuszczalna jest podzielno艣膰 (ang. preemption) zada艅,
  • prec – je偶eli wyst臋puj膮 zale偶no艣ci kolejno艣ciowe (ang. precedence contrains) pomi臋dzy zadania narzucone przez porz膮dek technologiczny. Rozpatruje si臋 ograniczenia kolejno艣ciowe tworz膮ce drzewo (ang. tree), las (ang. forest), drzewo skierowane (ang. in-tree, out-tree) lub 艂a艅cuch (ang. chains),
  • rj – je偶eli momenty przybycia dla zada艅 s膮 okre艣lone i r贸偶ni膮 si臋 mi臋dzy sob膮,
  • pj = 1 – je偶eli zadania maj膮 jednostkowe czasy wykonywania, zapis r贸wnowa偶ny to UET (ang. unit execution tasks). Rozpatruje si臋 r贸wnie偶 pj {0, 1} (ZUET)
  • setup – je偶eli wyst臋puj膮 przezbrojenia
  • batch – je偶eli wyst臋puje porcjowanie
  • no wait – je偶eli proces musi by膰 ci膮g艂y, bez czekania

Pole kryterium okre艣la posta膰 funkcji koszt贸w, wzgl臋dem kt贸rej dokonuje si臋 optymalizacji danego zagadnienia. Zatem b臋dzie przyjmowa膰 jedn膮 z postaci: Cmax, Lmax, ∑Tj , ∑wjTj , lub inn膮 ze wspominanych wcze艣niej. Warto prze艣ledzi膰 jak w praktyce notacja tr贸jpolowa upraszcza zapis. Poni偶ej przedstawiamy dwa przyk艂ady.

Przyk艂ad 1. Za艂贸偶my, 偶e dysponujemy dwoma pracownikami. Ka偶dy z nich mo偶e wykonywa膰 te same zadania, jednak ka偶dy z nich w innym tempie, sta艂ym dla danego zadania. Mog膮 tak偶e przerywa膰 swoje obowi膮zki w dowolnym momencie czasu. Niestety niekt贸re zadania s膮 im dostarczane dopiero po godzinie 12:00. Interesuje nas taki podzia艂 obowi膮zk贸w mi臋dzy tych dw贸ch pracownik贸w, kt贸ry zminimalizowa艂by ilo艣膰 sp贸藕nionych zada艅 przeznaczonych do wykonania w ci膮gu jednego dnia roboczego. Okazuj臋 si臋, 偶e jest to problem Q2|rj, pmtn|_Uj .

Przyk艂ad 2. Pewna hala produkcyjna zosta艂a wyposa偶ona w pi臋膰 identycznych maszyn. Kolejno艣膰 niekt贸rych zada艅 jest uzale偶niona od specyfiki procesu technologicznego. Dodatkowo wykonanie ka偶dego zadania obarczone jest pewnym kosztem (zwi膮zanym z eksploatacj膮 niekt贸rych cz臋艣ci maszyn produkcyjnych). Firma, dla kt贸rej wykonywane jest to zlecenie, zastrzeg艂a sobie w umowie, i偶 ca艂e przedsi臋wzi臋cie powinno by膰 uko艅czone przed terminem d. Ka偶dy dzie艅 zw艂oki obarczony zosta艂 pewn膮 kar膮 (bez premii dla przedterminowego uko艅czenia ca艂o艣ci przedsi臋wzi臋cia). Maj膮c szczeg贸艂owe dane o czasie trwania poszczeg贸lnych czynno艣ci,nale偶y wyznaczy膰 ca艂kowity wa偶ony koszt procesu, zwi膮zany z niedotrzymaniem danego terminu oddania przedsi臋wzi臋cia ”pod klucz”. Dla por贸wnania, interesuje nas tak偶e data mo偶liwie najszybszego terminu uko艅czenia ca艂o艣ci przedsi臋wzi臋cia (bez wzgl臋du na koszty). W tym przyk艂adzie, nale偶a艂oby rozwa偶a膰 kolejno problemy P5| prec |wjTj oraz P5| prec |Cmax.

Jak wida膰, wprowadzona symbolika znacznie u艂atwia zrozumienie danego problemu szeregowania i w efektywny spos贸b umo偶liwia przej艣cie do modelu matematycznego. Tak偶e w metodzie s艂u偶膮cej przedstawianiu wynik贸w uzyskanych metodami szeregowania zada艅 nie brakuje przejrzysto艣ci. Je偶eli pod poj臋ciem harmonogramu rozumie膰 b臋dziemy przyporz膮dkowanie maszyn do zada艅 w czasie, to w贸wczas wykres Gantta b臋dzie graficzn膮 metod膮 przedstawiania harmonogram贸w na diagramie s艂upkowym, wyrazi艣cie obrazuj膮c膮 etapy projektu na przestrzeni czasu. Czas zaznaczany jest na osi poziomej, a maszyny na pionowej. Praca zwi膮zana z wykonaniem ka偶dego zadania jest przedstawiana jako prostok膮t odpowiedniej d艂ugo艣ci.

Analizuj膮c Rysunek 1 艂atwo zauwa偶y膰, i偶 zadanie Zj uda艂o si臋 uko艅czy膰 przed 偶膮danym terminem jego zako艅czenia (dj). W zwi膮zku z tym, pozosta艂e parametry opisuj膮ce zadanie Zj maj膮 warto艣ci Lj = dj Cj < 0, Tj = max{0, Lj} = 0 oraz Uj = 0. Natomiast, aby poda膰 warto艣ci przyk艂adowych funkcji kosztu dla ca艂ego harmonogramu, musieliby艣my dodatkowo zna膰 warto艣ci parametru dj nie tylko dla zadania Zj , ale dla wszystkich zada艅. Poniewa偶 opr贸cz funkcji Cmax, ∑wjCj , pozosta艂e uzale偶nione s膮 od tego parametru. Na potrzeby przyk艂adu u艣ci艣lijmy, i偶 dj jest lini膮 krytyczn膮 dla ca艂ego procesu (dj = d = const). W贸wczas przyk艂adowo:

Lmax = max{Lj : j = 1, ..., n} = y,

Tmax = Lmax = y,

Tj = x + y,

Uj = 2.

Podsumowuj膮c, pe艂ny model problemu szeregowania zada艅 powinien dok艂adnie opisywa膰 rzeczywisto艣膰 (na przyk艂ad produkcyjn膮). Najkorzystniej jakby by艂 sformu艂owany z wykorzystaniem notacji tr贸jpolowej. Nast臋pnie, przy pomocy odpowiedniego algorytmu poszukuje si臋 rozwi膮zania mo偶liwie najbli偶szego rozwi膮zaniu optymalnemu. W wyniku tych operacji powinien powsta膰 harmonogram dzia艂a艅 w postaci wykresu Gantta.

Bibliografia

  1. „Kombinatoryczna teoria szeregowania” WMS AGH 2004, Anna D膮browska, Aleksandra Lipa

Anna D膮browska, logistica.pl



 
Aktualno艣ci
Mam 125-milimetrowe dzia艂o i potrafi臋 z niego strzela膰!Mam 125-milimetrowe dzia艂o i potrafi臋 z niego strzela膰!
Ile ton paliwa dziennie spala si臋 w samolotach F-16? Kto ma 152-milimetrowe dzia艂o o nazwie 鈥濴ady Gaga鈥? Jaka jest r贸偶nica mi臋dzy pu艂kownikiem a porucznikiem? Ponad 450 zaproszonych go艣ci, w tym wiele wspania艂ych osobisto艣ci 14 grudnia o godzinie 10.00 spotka艂o si臋 w Auli Wy偶szej Szko艂y Logistyki. Tematem kolejnej konferencji w ramach programu LogMeeting 鈥 Spotkania i warsztaty w WSL by艂a 鈥濴ogistyka w Wojsku鈥.
Na forum
Kt贸ra z podanych umiej臋tno艣ci jest najistotniejsza w pracy w dziale logistycznym?
znajomo艣膰 j. obcych
analityczne my艣lenie
prowadzenie prezentacji
zdolno艣ci interpersonalne
umiej臋tno艣ci informatyczne
   

Wyniki :: 
o portalu    ::    forum    ::    kontakt
(c) logistica.pl 2001-2009