• Nie Znaleziono Wyników

Heurystyka dla zadania z jedną maszyną

W dokumencie Index of /rozprawy2/11310 (Stron 21-37)

Przy pomocy zaproponowanego modleu przez Beraldiego (2008), nazwanego LSPIPM (ang. Lot-sizing and Scheduling Problem with Identical Parallel Machines) można efektywnie rozwiązywać jedynie zadania niewielkich rozmiarów, sformułowano więc dla tego podejścia algorytmy heurystyczne wykorzystujące rolowany horyzont planowania oraz dekompozycję problemu metodą fix-and-relax (Beraldi et al., 2008).

Mehdizadeh (2015) dla problemu planowania wielkości i szeregowania partii wy-robów na maszynach równoległych w przypadku, gdy czasy przezbrojeń nie są zależne od kolejności wyrobów przydzielonych do danej maszyny, przedstawia sformułowany model programowania całkowitoliczbowego liniowego. Następnie proponuje dla sfor-mułowanego zadania metaheurystykę wykorzystującą podejście oparte na algorytmie dla problemu optymalizacji tłumienia drgań (ang. vibration damping optimization, VDO).

Mensendiek (2015) dla zadania problemu planowania wielkości i szeregowania partii wyrobów na identycznych maszynach równoległych z ustalonymi terminami wy-konania wyrobów przedstawia sformułowany model matematyczny wykorzystujący model dla zadania przydziału ze zmiennymi binarnymi; model ma na celu minima-lizację sumarycznego opóźnienia. Ze względu na NP-trudność zadania skonstruowano algorytm tabu search oraz hybrydowy algorytm genetyczny, przy pomocy których roz-wiązywane są zadania większych rozmiarów

Zaprezentowany wybór rozwijanych obecnie modeli dla problemu planowania wielkości i szeregowania partii produkcyjnych z jedną maszyną oraz maszynami równo-ległymi, niezależnie od kwestii ujętych w budowanych zadaniach, w celu ich rozwiąza-nia formułuje się modele matematyczne oparte w większości na zadarozwiąza-niach przydziału. Zadania tego typu charakteryzują się występowaniem dużej ilość zmiennych, gdzie duży udział w modelach mają często zmienne binarne.

Dlatego ze względu na NP-trudność modele matematyczne pozwalają na uzy-skanie rozwiązania optymalnego dla zadań o niewielkich rozmiarach.

Rzeczywiste problemy harmonogramowania produkcji stanowią najczęściej za-dania o dużych rozmiarach, zaś akceptowalny czas oczekiwania na rozwiązanie nie jest szczególnie długi, więc w celu efektywnego rozwiązywania tych problemów kon-struuje się odpowiednie algorytmy heurystyczne i metaheurystyczne, wśród których przeważają algorytmy genetyczne i algorytmy tabu search.

1.5 Heurystyka dla zadania z jedną maszyną

W tej części przedstawiono zaproponowany przez Haasego (1994) ukierunkowany, lo-sowy, heurystyczny algorytm dla zadania szeregowania partii produkcyjnych na jednej maszynie P LSP , nazwany BAP LSP (ang. backward add-method for the PLSP).

Rozdział 1

Algorytm BAP LSP dla zadania szeregowania partii produkcyjnych na jednej maszynie, pozwala bardzo szybko wyznaczyć dobre rozwiązania. Wzrost rozmiaru za-dania, tylko nieznacznie wpływa na wydłużenie czasu ich poszukiwania. Dzięki temu, stosując tę heurystykę, możliwe staje się rozwiązanie zadań, dla których bardzo trud-ne jest uzyskanie rozwiązań przy zastosowaniu modeli matematycznych. Dlatego też istotnym problemem wydaje się rozszerzenie działania algorytmu dla zadań z maszy-nami równoległymi.

Przyjmijmy, że zdolność produkcyjne Ct dla wszystkich okresów planowania t są sobie równe i wynoszą 1, oraz czasy wykonania poszczególnych wyrobów pj też są równe i wynoszą 1. Wtedy popyt na wyroby wyrażony jest jednostką zdolności produkcyjnej. Ct= 1, pj = 1 djd 0 j Ct0/p0j

Koszty wykonania przezbrojenia SC pozostają takie same jak dla zadania w któ-rym popyt na wyroby wyrażony jest w sztukach. Przeliczenia wymagają koszty utrzy-mywania zapasów które muszą odpowiadać popytowi wyrażanemu jednostką zdolności produkcyjnej:

hj ← h0jC

0

t p0j

Całkowity pozostały popyt (wymagana zdolność produkcyjna) na wyrób j od okresu t do końca horyzontu planowania T , który musi zostać zaplanowany w okresach 1, . . . , t zdefiniowano jako: f Dj,t = T X t0=t (djt0 − qjt0), j ∈ N , t ∈ T (1.12) Początkowe wartości Dfj0 = 0 (j = 1, . . . , N ).

Całkowity pozostały popyt (całkowita pozostała wymagana zdolność produk-cyjna), zdefiniowana jest jako:

T D = N X j=1 f Dj1 (1.13)

Dla każdego wyrobu j, kolejny okres, posiadający dodatni popyt, zdefiniowany jest jako: ndjt = 0 jeżeli t = 0 t jeżeli djt > 0 (j = 1, . . . , N ; t = 1, . . . , T ) ndj,t−1 w przeciwnym razie (1.14)

Pozostała zdolność produkcyjna od okresu 1 do t, zdefiniowano jako:

e Ct = t X τ =1 Cτ (1.15)

Harmonogram produkcji tworzony jest od ostatniego okresu planowania do okresu pierwszego. Jeżeli maszyna jest w gotowości do produkcji wyrobu i w okresie t, to wyrób ten produkowany jest dopóki pozostały całkowity popyt Df > 0 (τ ≤ t).

W sytuacji gdy dla wyrobu i utworzono partię produkcyjną dłuższą niż jeden okres od τ do t popyt di,τ −1, . . . , di,t będzie zaspokojony całkowicie przez tę partię produk-cyjną. Dlatego okres t0 = ndi,τ −1 staje się następnym okresem, dla którego popyt na dany wyrób i jest dodatni.

Następnie w algorytmie podejmowana jest decyzja czy cofnąć się z okresu τ do okresu t0 (zostanie oszczędzony koszt poniesiony na przezbrojenie czy też nie). Skok wstecz nie jest możliwy, jeżeli całkowity pozostały popyt dla wyrobów T D >Cet. Jeżeli nowy wybrany wyrób j 6= i, to zostanie przydzielony on do produkcji w okresie t tylko wtedy gdy Dfjt > 0. Przezbrojenie maszyny na wyrób j w okresie t dla wyrobu z

ze-rowym zapotrzebowaniem Dfjt = 0, czyli przypisanie dla wyrobu j zerowej produkcji

qjt = 0, w większości przypadków prowadziłoby do „nieoptymalnych” decyzji.

Dla przyjętego założenia że zdolności produkcyjne okresów Ct są stałe, urucho-mienie partii produkcyjnej wyrobu j w okresie t (lub t0 = ndj,t−1) oraz w okresach wcześniejszych τ = t − 1, . . . , 1 (lub t0, t0− 1, . . . , 1) pozwoli przynajmniej na zaoszczę-dzenie kosztów utrzymywania zapasów hjDfjt (hjDfjt0).

Jeżeli maszyna była w gotowość do produkcji wyrobu j w okresie t, koszt prze-zbrojenia równy jest 0. W przeciwnym wypadku całkowity „zaoszczędzony” koszt uru-chomienia partii produkcyjnej dla wyrobu j przynajmniej wyniesie hjDfjt− SC

j . Zakładając gotowość maszyny do produkcji wyrobu i w okresie t zdefiniowano miarę „zaoszczędzonych” kosztów uruchomienia partii produkcyjnej wyrobu j w okre-sie t dla losowego parametru γ jako:

rjt(i) = (1 − γ)hjDjtf − γSC

j , dla (j 6= i) ∧ (Ditf > 0) (1.16a) (1 − γ)hjDfjt, dla (j = i) ∧ (T D ≤Cendj,t−1) (1.16b) −∞, w przeciwnym razie (1.16c)

– Przypadek (1.16a) nawiązuje do sytuacji w której maszyna w okresie t jest w gotowości do produkcji wyrobu innego niż wyrób j (konieczne jest wykonanie przezbrojenia na wyrób j), oraz w okresie t istnieje dodatni skumulowany popyt

f

Djt na wyrób j.

– Przypadek (1.16b) nawiązuje do sytuacji w której maszyna w okresie t jest w gotowości do produkcji wyrobu j, oraz skok wstecz do okresu ndj,t−1 jest możliwy.

– Przypadek (1.16c) występuje w sytuacji, gdy dla wyrobu j w okresie t całko-wity pozostałyDfjt = 0, lub jeżeli maszyna jest w gotowości do produkcji wyrobu

j w okresie t, jednak niemożliwe jest wykonanie skoku wstecz do okresu ndj,t−1. Wartość parametru γ bliskie wartość jeden (wartość zero) zwiększają szansę na tworzenie relatywnie większych (mniejszych) partii produkcyjnych i wykonywanie (niewykonywanie) skoków wstecz.

Rozdział 1

Kryterium podejmowania losowych decyzji wyboru wyrobu zostało zdefiniowa-ne następująco: ρjt(i) = 0, dla rjt(i) = −∞ (rjt(i) − min rkt(i)|k ∈ Nrkt(i) > −∞ + )δ, w przeciwnym razie (1.17) gdzie: δ ≥ 0,  ≥ 0.

Produkty dopuszczone w danym okresie t do produkcji posiadają dodatnią war-tość kryterium decyzji (dla  > 0).

Produkty „lepsze” posiadające dodatnią wartość miary „zachowanych” kosztów, są porównywane z gorszymi alternatywami (to znaczy z produktami z mniejszymi lub ujemnymi wartościami miary „zachowanych” kosztów). Dodatkowo szanse na urucho-mienie partii produktu j posiadającego większą wartość miary „zachowanych” kosztów wzrastają kiedy δ > 1 (maleją kiedy δ < 1).

Przedstawiona metoda wykorzystana do rozwiązania zadania PLSP opiera się na trzech głównych założeniach:

– planowanie wielkości i szeregowanie partii produkcyjnych przeprowadzone jest od ostatniego do pierwszego okresu planowania,

– w każdym okresie nie może wystąpić więcej niż jedno przezbrojenie,

– kryterium podejmowania decyzji ρjt(i), używane jest do losowania wyrobu dla którego uruchomiona zostania partia produkcyjna w danym okresie.

Formalny zapis losowego algorytmu poszukiwania wstecz rozwiązania (ang.

BAPLSP

Inicjalizacja

yjt := 0 (j = 1, . . . , N ; t = 0, 1, . . . , T ) {brak gotowość do produkcji wyro-bów}

i := 0 {maszyna nie jest w gotowości do pro-dukcji żadnego wyrobu} t := T {zaczynamy od końca horyzontu pla-nowania} qjt := 0 (j = 1, . . . , N ; t = 0, 1, . . . , T )

f

Djt := PT

τ =t

d (j = 1, . . . , N ; t = 0, 1, . . . , T ) {całkowity pozostały popyt dla wyro-bu}

T D := PN

j=1

f

Dj,1 {calkowity pozostały popyt dla zada-nia}

while T D > 0 ∧ t > 0: {początek pętli 1}

determine ρjt(i); (j = 1, . . . , N ) if

N

P

j=1

ρjt(i) = 0 then t := t − 1 {krok w tył jeśli brak dostępnego wy-robu w okresie} else: {wybór i harmonogram dla wyrobu}

wylosuj proporcjonalnie j na podstawie ρjt(i)

i := j {status przezbrojenia zmieniony nawyrób j∗}

if yit = 1: {czy wymagany jest skok do docelowe-go wcześniejszego okresu}

yi,t−1, . . . , yi,ndi,t−1 := 1 {przewidywana gotowość maszyny doprodukcji wyrobu}

t := ndi,t−1

whileDitf > 0: {początek pętli 2, harmonogram dlawybranego wyrobu}

if

N

P

j=1

yjt = 0 then yit := 1 {przypisanie przezbrojenia dla (dru-giego) wyrobu w okresie t} else yj,t−1 := 1 {przypisanie przezbrojenia dla pierw-szego wyrobu w okresie t}

qit:= min{Ct;Dfit} {wyznaczenie wielkość produkcji}

Ct= Ct− qit {aktualizacjiokresu} zdolność produkcyjnej

f

D :=Df − qit(τ = 1, . . . , t) {aktualizacja pozostałego popytu nawyrób}

T D = T D − qit {aktualizacja całkowitego pozostałegopopytu}

if Ct= 0 then t := t − 1 {krok wstecz jeśli wyczerpano zdol-ność produkcyjną} if

N

P

j=1

Rozdział 2

Nowa heurystyka dla zadań z maszynami

równoległymi

W rozdziale opisano konstrukcje heurystycznego stochastycznego algorytmu dla pro-blemu planowania wielkości i szeregowania partii produkcyjnych na identycznych rów-noległych maszynach opisanego w modelu (1.11a - 1.11k).

Algorytm ten stanowi pewną adaptację algorytmu BAP LSP opracowanego przez K. Haasego dla problemu planowania wielkości i szeregowania partii produkcyj-nych na jednej maszynie przedstawionego w rozdziale 1.5.

Opracowany algorytm posiada dwa nieznacznie różniące się od siebie warianty, odpowiednio dla zadań, w których liczba wyrobów jest większa od liczby maszyn oraz dla zadań z liczbą wyrobów mniejszą lub równą liczbie dostępnych maszyn.

Opracowany algorytm wyznacza rozwiązanie od ostatniego do pierwszego okre-su planowania. Kolejno dla każdej maszyny wybierany jest wyrób, który będzie na niej produkowany. Wielkość tworzonej dla wyrobu partii produkcyjnej zależy od nie-wykorzystanej zdolność produkcyjnej maszyny oraz pozostałego zapotrzebowania na produkcję danego wyrobu.

Może się zdarzyć, że po zakończeniu działania algorytmu, uzyskane rozwiąza-nie będzie rozwiąza-niedopuszczalne ze względu na pozostały jeszcze do zaplanowania popyt na poszczególne wyroby.

2.1 Formalny opis

Podobnie jak w algorytmie BAP LSP dla zadania z jedną maszyną przyjmijmy za Haase (1994), że zdolność produkcyjne Ct dla wszystkich okresów planowania t są sobie równe i wynoszą 1, oraz czasy wykonania poszczególnych wyrobów pj też są równe i wynoszą 1.

Podobnie rozwiązanie wyznaczane jest wstecz od ostatniego okresu tworzenia planu T do okresu pierwszego. Planowana jest zawsze maksymalna możliwa wielkość produkcji, danego wyrobu, w danym okresie, na wybranej maszynie. W każdym okre-sie poszukiwania rozwiązania τ ∈ T , wyroby posiadające niezaspokojony popyt przy-dzielane są do kolejnych maszyny. Przydział wyrobu do maszyny jest możliwy, jeśli

w danym okresie wybrana maszyna posiada wolną zdolność produkcyjną, przed prze-zbrojeniem lub po przezbrojeniu.

Przydzielany do maszyny produkt losowany jest ze zbioru aktualnie dostępnych wyrobów Nτ0. Zbiór ten jest zawsze aktualizowany dla każdej maszyny i danego okresu

τ . Każdy wyrób w tym zbiorze ma przypisany pewny priorytet.

Dla wylosowanego wyrobu j oraz wybranej maszyny m w okresie τ , tworzona jest wstecz partia produkcyjna. Początkowy okres t utworzenia partii równy jest okre-sowi τ . Partia tworzona jest wstecz dla określonego okna czasowego [t0; τ ], gdzie okres

t0 wyznacza liczbę okresów tworzenia partii produkcyjnej równą (τ − t0). Sposób wy-znaczania liczby okresów tworzenia partii produkcyjnej opisano szczegółowo w części pracy poświęconej przebiegowi nowego algorytmu.

Uogólniony opis przebiegu działania algorytmu:

1 Losuj wartość parametrów sterujących 2 τ = T

3 Dopóki występuje niezaplanowany popyt oraz τ > 0 4 Dla każdej maszyny m

5 Losuj wyrób j, gdzie j ∈ Nτ0

6 Kolejno dla t = τ ; t = τ − 1; . . . ; t = t0

7 Planuj partie dla wyrobu j

8 τ = τ − 1

9 Zwróć rozwiązanie

Wartość całkowitego niezaspokojonego popytu T D (1.13) na początku działa-nia algorytmu równa jest sumie całkowitego zapotrzebowadziała-nia na produkty. Podczas przebiegu działania algorytmu po podjęciu każdej decyzji o liczbie produkowanych sztuk qejt danego wyrobu j w danym okresie t, wartość całkowitego niezaspokojonego popytu T D jest pomniejszana o ilość wyprodukowanych sztukqejt. Jeśli po zakończeniu działania algorytmu wartość całkowitego niezaspokojonego popytu T D jest większa od zera T D ≥ 0, to dana ilość wyrobów nie została wyprodukowana na czas i otrzymane rozwiązanie jest niedopuszczalne.

Wartość całkowitego niezaspokojonego popytu dla danego wyrobu j jest rów-na wartości niezaspokojonego popytu Dfj0 (1.12) w okresie 0, czyli całkowitej liczbie wyrobów jaką należy zaplanować do produkcji w okresach od okresu 1 do okresu T .

Rozdział 2

Przykład 2.1. Należy wyznaczyć wartość niezaspokojonego popytu Dfj,t oraz war-tość całkowitego niezaspokojonego popytu T D dla czterech okresów planowania t =

(27, . . . , 30) dla zadania z dwoma wyrobami k oraz l.

t . . . 27 28 29 30 dkt . . . 1 2 3 4 qkt . . . - 4 - -dlt . . . 5 6 7 8 qlt . . . - 10 - -Wyznaczone wartości: f Dk,30 = (4 − 0) = 4 f Dk,29 =Dfk,30+ (3 − 0) = 7 f Dk,28 =Dfk,29+ (2 − 4) = 5 f Dk,27 =Dfk,28+ (1 − 0) = 6 f Dl,30 = (8 − 0) = 8 f Dl,29 =Dfl,30+ (7 − 0) = 15 f Dl,28 =Dfl,29+ (6 − 10) = 11 f Dl,27 =Dfl,28+ (5 − 0) = 16 T D = 6 + 16 = 22  Niech dbjt określa pozostały do zaplanowania popyt w danym okresie t dla da-nego wyrobu j. Na początku działania algorytmu jego wartość równe są popytowi

djt. Jeśli dla danego wyrobu j w okresie t podjęta zostanie decyzja o produkcji par-tii tego wyrobu, o wielkości równej q, pozostały do zaplanowania popyte dbjt zostaje pomniejszony o wartość min(dbjt,q).e

Zatem, jeżeli wielkość partiiq jest większa niż pozostały do zaplanowania popyte

b

djt, produkowana ponad potrzeby okresu t liczba produktów, pokryje zapotrzebowanie okresów późniejszych. Założono, że produkty produkowane w okresie t, ze względu na rosnące koszty magazynowania, pokrywają maksymalnie, na ile to jest możliwe, zapo-trzebowanie kolejno następujących po sobie okresów. Postępowanie jest prowadzone, aż do wykorzystania całej nadmiarowej produkcji z okresu t.

Dlatego, zmianie ulegają również wartość pozostałego do zaplanowania popytu dla późniejszych okresów planowania dbjt+1,dbjt+2, . . . ,dbjT. W rozważanym przypadku, gdy wielkość partii q jest większa niż pozostały do zaplanowania popyte dbjt, pozostały do zaplanowania popyt djtb w okresie t na pewno równy będzie 0, natomiast w okresie

t + 1, i odpowiednio w okresie t + 2, t + 3 . . . , będzie po kolei malał w zależności od

wielkość zaplanowanej partii q.e

Celowo wielkość partii q nie posiada indeksów produktu i okresu, ponieważe

w trakcie działania algorytmu może się zdarzyć, że dla tego samego wyrobu w tym samym okresie zdecydujemy o tworzeniu partii produkcyjnej więcej niż jeden raz. W takiej sytuacji zaplanowana produkcja qjt =qe0+qe00+ . . . dla wyrobu j w okresie t.

Pozostały do zaplanowania popyt dbjt dla okna czasowego n = [t, . . . , T ] oraz decyzji o produkcji pewnej liczby q danego wyrobu j w okresie t można opisać jakoe

zależność rekurencyjna: ( b djn← max(0,dbjnq);e qbn ← max(0,q −e dbjn); b dj,n+1← max(0,dbj,n+1qbn); qbn+1 ← max(0,qbndbj,n+1); (2.1)

Przykład 2.2. Należy wyznaczyć wartości pozostałego do zaplanowania popytu dbk,2

dla pewnego wyrobu k dla zaplanowanej w dwudziestym szóstym okresie produkcji wyro-buq = 9. Początkowe wartość pozostałego do zaplanowania popytue dbktw poszczególnych okresach przedstawiono w tabelce.

t . . . 25 26 27 28 29 30 b dkt . . . 5 5 3 2 1 2 n = 26 b dk,26 ← max(0; 5 − 9) qb26 ← max(0, 9 − 5) b dk,26 = 0 qb26 = 4 n = 27 b dk,27 ← max(0; 3 − 4) qb27 ← max(0, 4 − 3) b dk,27 = 0 qb27 = 1 n = 28 b dk,28 ← max(0; 2 − 1) qb28 ← max(0, 1 − 2) b dk,27 = 1 qb27 = 0 n = 29 b dk,29 ← max(0; 1 − 0) qb28 ← max(0, 0 − 1) b dk,29 = 1 qb29 = 0 n = 30 b dk,30 ← max(0; 2 − 0) qb28 ← max(0, 0 − 2) b dk,30 = 2 qb30 = 0  Dla każdego okresu planowania wstecz τ , niech Djtc oznacza niezaspokojony popyt dla wyrobu j w dowolnym okresie t zsumowany w oknie czasowym W = [τ −

λj, . . . , T ] : c Dj,t = T P s=t b djs, jeżeli t ∈ W, b djt, w przeciwnym razie, t = 1, . . . , T (2.2) Losowy parametr λj dla danego wyrobu j, decyduje o maksymalnej długości tworzenia wstecz jego partii produkcyjnej, która skutkuje powstawaniem zapasów. Dlatego przy planowaniu partii dla pewnego okresu planowania wstecz τ w oparciu o niezaspokojony

Rozdział 2

popytDcj,t, koszty związane z utrzymywaniem zapasów będą występować w utworzonej partii produkcyjnej tylko od okresu τ − λj do okresu τ .

Przykład 2.3. Należy wyznaczyć wartości niezaspokojonego popytu Dck,t dla pewnego wyrobu k w dwudziestym dziewiątym okresie poszukiwania rozwiązania oraz wartości losowego parametru λk = 2. Początkowe wartości pozostałego do zaplanowania popytu

b

dkt w poszczególnych okresach przedstawiono w tabelce. t . . . 25 26 27 28 29 30 b dkt . . . 5 5 3 2 1 2 W = [29 − 2, . . . , 30] = [27, . . . , 30] . . . c Dk,25 = 5 (t = 25) /∈ W c Dk,26 = 5 (t = 26) /∈ W c Dk,27 = 3 + 2 + 1 + 2 = 8 (t = 27) ∈ W c Dk,28 = 2 + 1 + 2 = 5 (t = 28) ∈ W c Dk,29 = 1 + 2 = 3 (t = 29) ∈ W c Dk,30 = 2 (t = 30) ∈ W  Dla każdego okresu planowania wstecz τ , niech ˘R oznacza pewien przewidy-wany zaoszczędzony zapas na dany wyrób j dla okna czasowego W = [τ − ψ, . . . , T ]:

˘

R = X

s∈W

b

djs, t ∈ W (2.3)

Jeżeli losowy parametr ψ = 0, to przewidywany zapas ˘R na dany wyrób j w okresie planowania τ jest równy całkowitemu niezaspokojonemu popytowi ˘Rjt = P

s∈[t,...,T ]

b

Przykład 2.4. Należy wyznaczyć wartości przewidywanego zaoszczędzonego zapasu

˘

Rk29dla pewnego wyrobu k oraz dwudziestego dziewiątego okresu planowania, dla loso-wych wartości parametru ψ = (0, 2). Początkowe wartości pozostałego do zaplanowania popytu dbkt w poszczególnych okresach przedstawiono w tabelce.

t . . . 25 26 27 28 29 30 b dkt . . . 5 5 3 2 1 2 ψ = 0 ˘ Rk,29= 1 + 2 = 3 W = [29 − 0, 30] = [29, 30] ψ = 2 ˘ Rk,29= 3 + 2 + 1 + 2 = 8 W = [29 − 2, 30] = [27, . . . , 30]  Niech r(i) oznacza wartość utraconych korzyści jeśli nie wybierzemy danego wyrobu j przy założeniu, że dana maszyna jest w gotowość do produkcji wyrobu i w okresie τ , dla losowego parametru σ:

r(i) = (1 − γ) ˘Rh − γSC j dla j 6= i;Dcj,τ ≥ σ − 1 (1 − γ) ˘Rh dla j = i;Dcj,τ ≥ σ − 1 −∞ w przeciwnym razie (2.4)

Wartość utraconych korzyści została zdefiniowania podobnie jak zrobił to Ha-ase (1994) w swojej pracy dla problemu planowania wielkości i szeregowania partii produkcyjnych na pojedynczej maszynie.

Dla każdej maszyny m oraz produktu j w okresie τ , wyznaczana jest miara utraconych korzyści jako suma zaoszczędzonych (dodatnich) kosztów utrzymywania zapasów ˘Rhj oraz poniesionych (ujemnych) kosztów uruchomienia nowej partii pro-dukcyjnej SjC.

Wyznaczenie wartości miary utraconych korzyści, a tym samym dopuszczenie możliwości wylosowania wyrobu w celu zaplanowania jego produkcji jest możliwe, jeżeli niezaspokojony popyt Dc na dany wyrób j w danym okresie τ jest większy od minimalnego wymaganego pozostałego zapotrzebowania σ − 1.

Losowy parametr σ określa minimalne wymagane pozostałe zapotrzebowanie

c

Dj,τ na dany wyrób j w danym okresie planowania τ . Parametr równy wartości 1 nie ogranicza wyboru produktu. Parametr równy wartości 2 oznacza, że pozostałe zapotrzebowanie na dany wyrób wystarczy na zaplanowanie partii produkcyjnej nie krótszej niż 1 okres, odpowiednio parametr równy wartość 3, nie krótszej niż 2 okresy, itd.;

Parametr γ określa wagi dla dwóch rodzajów powstających kosztów. W zależno-ści od swojej wartozależno-ści pozwala potencjalnie na sterowanie wielkozależno-ścią tworzenia partii produkcyjnych (parametr γ przyjmuje wartości z przedziału [0; 1]). Jeśli parametr γ

Rozdział 2

jest bliski wartości 1, wtedy możemy oczekiwać, że tworzone będą relatywnie duże par-tie produkcyjne. Największy wpływ na wartości miary utraconych korzyści r będą miały koszty związane z przezbrojeniami, a więc potencjalnie wzrasta szansa wyboru wyrobów dla których koszty przezbrojenia mają wartości mniejsze SjC.

Przeciwnie, gdy parametr γ będzie bliski wartości 0, wtedy możemy oczekiwać, że tworzone będą relatywnie małe partie produkcyjne (będzie ich więcej). Większą wagę będą miały zaoszczędzone koszty utrzymywania zapasów ˘Rhj.

Niech ρ(i) oznacza kryterium wyboru wyrobu, dla którego będzie uruchomio-na partia produkcyjuruchomio-na. Podobnie jak dla przypadku z jedną maszyną przedstawionego przez Haasego (1994):

ρjτ(i) =

(

0; dla r = −∞,

(r − min{r|k ∈ N ∧ r > −∞} + ε)δ w przeciwnym razie,

gdzie δ ≥ 0, ε > 0 (2.5)

Wyroby, dopuszczone do losowania, mają wartości kryterium decyzji ρ więk-szą od 0 i są „porównywane” z gorszymi alternatywami, ( wyrobami posiadającymi mniejsze wartość ρ). Wartości kryterium decyzji ρjt(i) równa 0 oznacza, że wyrób nie jest brany pod uwagę podczas podejmowania losowej decyzji wyboru wyrobów. Więk-sza wartość kryterium decyzji daje wyrobowi większą Więk-szansę na jego wybór. Dlatego wartość parametru δ > 1 zwiększa szanse wyrobów o większej wartości utraconych korzyści r(i) odwrotnie, gdy δ < 1 szanse się zmniejszają. Parametr  > 0 daje pew-ną szanse także na wylosowanie wyrobu o najgorszej wartości kryterium utraconych korzyści min{r(i)|k ∈ N ∧ r(i) > −∞}.

Wyroby są wybierane na podstawie obliczonych wartość ρ(i) w sposób losowy, poprzez losowanie proporcjonalne.

Przykład 2.5. Należy wyznaczyć wartości kryterium dla trzech wyrobów j, k, l dla

dwudziestego siódmego okresu poszukiwania rozwiązania oraz pewnej maszyny m będą-cej w gotowość do produkcji wyrobu k w tym okresie. Koszty utrzymywania zapasów w okresie oraz koszty przezbrojenia są takie same dla wszystkich wyrobów i wynoszą odpowiednio 2 i 10. t . . . 25 26 27 28 29 30 b djt . . . 0 0 0 0 0 1 b dkt . . . 5 5 3 2 1 2 b dlt . . . 2 7 0 0 0 0 P arametr Wartość ψ 2 γ 0.3 δ 2  1 σ 2 c Dj,27 =Dfj,27 = 0 + 0 + 0 + 1 = 1 R˘j,27 = 0 + 0 +Dcj,27 = 1 c Dk,27 =Dk,27f = 3 + 2 + 1 + 2 = 8 Rk,27˘ = 5 + 5 +Dk,27c = 18 c Dl,27 =Dfl,27 = 0 + 0 + 0 + 0 = 0 R˘j,27 = 2 + 7 +Dcl,27 = 9

rj,27(k) = 0.7 · 1 · 2 − 0.3 · 10 = −1.6 rk,27(k) = 0.7 · 18 · 2 = 25.2 rl,27(k) = −∞ ρj,27(k) = (−1.6 + 1.6 + 1)2 = 1 ρk,27(k) = (25.2 + 1.6 + 1)2 = 772.84 ρl,27(k) = 0  Opracowany algorytm planowania wielkości i szeregowania partii produkcyjnych dla maszyn równoległych, opracowano dla przypadku gdy liczba wyrobów jest większa od liczby maszyn nazwany BAP LSP/FN >µ oraz dla przypadku gdy liczba wyrobów jest mniejsza bądź równa liczbie maszyn nazwany BAP LSP/FN ≤µ.

Formalny opis stochastycznego heurystycznego algorytmu BAP LSP/F , dla przypadku BAP LSP/FN >µ oraz BAP LSP/FN ≤µ przedstawia schemat:

BAP LSP/FN >µ,BAP LSP/FN ≤µ :

Inicjalizacja zmiennych:

1 γ, δ, , ψ, ω, α {losowanie parametrów}

2 ye := ∅, c := 1, m ∈ M, τ ∈ T

{brak gotowość do produkcji wyro-bów, początkowa zdolność produkcyj-na}

3 im := ∅, tm := T, m ∈ M {brak produktu, rozpartujemy okresdla maszyny m} 4 q := 0, Djτc , T D,djτb , j ∈ N , τ ∈ T {inicjalizacja zmiennych}

Przebieg algorytmu:

5 τ := T {zaczynamy od ostatniego okresu}

6 while T D > 0 ∧ τ > 0: {początek pętli 1}

7 for m ∈ M if τ ≤ tm : {kolejno dla każdej maszyny dostępnejw okresie} 8 tm := τ

9 if yem,tm = ∅ ∧ tm < T

10 yem,tm := im {przeniesienie gotowości dla maszyny}

11 random σj; j ∈ N 12 if random uniform (0, 1) ≤ α: 13 λj :=random(σj, max(σj + 1, tm); j ∈ N 14 else: λj := tm 15 determine rj,tm(im); ρj,tm(im); j ∈ N 16 if P j∈N ρj,tm(im) = 0:

17 tm := tm− 1; continue for next m 18 bi :=random proportional to ρj,tm(im) 19 determine Dc

bi,tm

20 while Dc

bi,tm > 0 ∧ tm > 0 : {początek pętli 2, harmonogram dlawybranego produktu}

Rozdział 2

22 if ym,te m = ∅ ∨ ym,te m =bi: {przypadki dla wykonania przezbroje-nia}

23 ym,te m :=bi 24 q :=e c := min(ce m,tm,Dc bi,tm) 25 elseIfyem,tm 6=bi ∧ cm,tm ≥ ST im: 26 yem,(tm−1) :=bi 27 q := max(0, min(ce tm,m− ST im,Dcim,tm) 28 c :=e q + Se iTm 29 elseIfym,te m 6=bi ∧ cmtm < SiTm: 30 yem,tm−1 :=bi, tm := tm− 1; continue while 31 q bi,tm := q bi,tm +q, ce m,tm := cm,tmce 32 determine db bi,tm, Dc bi,tm, T D 33 if cm,tm ≤ ω ∨ tm≥ τ − λ bi :

{wykorzystanie zdolność pro-dukcyjnej, *–rozszerzenie dla

BAP LSP/FN >µ}

34 tm := tm− 1; else: break 35 im :=bi

36 if all tm < τ : {τ := τ − 1 and Dc =Dcj,(τ +1)+db; j ∈ N }

W wierszu 1. losowane są wszystkie wartości stałych parametrów dla całego przebiegu działania algorytmu poszukiwania rozwiązania.

W wierszu 2. na początku działania algorytmu dana maszyna m w danym okresie t nie jest w gotowości yemt do produkcji żadnego wyrobu. Pozostała zdolność produkcyjna cmt danej maszyny m w danym okresie tworzenia planu t jest równa całkowitej dostępnej zdolność produkcyjnej okresu t, gdyż nie produkujemy jeszcze żadnych wyrobów.

W wierszu 3. ostatnio produkowany wyrób imna maszynie m jest niezdefiniowa-ny. Okres dostępności maszyny tm w którym możemy rozpocząć planowanie wyrobów jest równy ostatniemu okresowi planowania T .

W wierszu 4. początkowa wielkość produkcji danego wyrobu j w danym okresie tworzenia planu τ jest równa zeru. Obliczana jest wielkość pozostałego popytu Dfj,t

dla wyrobów i okresów oraz całkowity pozostały popyt T D. Niezaspokojony popytDjtc

dla wyrobów i okresów wyznaczany jest dla okna czasowego W = [τ, . . . , T ]. Wartość niezaplanowanej do produkcji liczby wyrobówdb początkowo równa jest popytowi djt.

W dokumencie Index of /rozprawy2/11310 (Stron 21-37)

Powiązane dokumenty