• Nie Znaleziono Wyników

3. METODA PLANOWANIA ZASOBÓW DYSTRYBUCJI WYBRANYCH TOWARÓW

3.2. R OZWIĄZANIE GLOBALNE

Problemy podobne do opisanego modelem matematycznym w rozdziale 3.1 próbowano już rozwiązywać globalnie, a szczegółową analizę literatury w tym zakresie przeprowadził P. Hanczar [32]. Przeanalizował on szereg modeli wykorzystywanych w obszarze planowania produkcji, zapasów i dostaw (ang. production, inventory, distribution problems – PIDP). Zdecydowana większość modeli opierała się o metody programowania liniowego i całkowitoliczbowego, chociaż wskazane zostały również przypadki dwuetapowych heurystyk lub wieloetapowych problemów programowania liniowego. Żaden z analizowanych przypadków nie zawierał jednak pełnego zestawu kryteriów i ograniczeń opisywanych w pracy. Autor niniejszej rozprawy podjął mimo to próbę rozwiązania problemu w sposób globalny starając się zagregować opisane kryteria w zbiorczą funkcję celu lub zastępując je ograniczeniami.

Podstawowym krokiem, jaki należało uczynić, aby można było rozwiązać problem globalnie było wprowadzenie takiej samej zmiennej decyzyjnej na każdym etapie problemu. W opisanym w podrozdziale 3.1 modelu matematycznym zmienna decyzyjna została zdefiniowana jako wielkość xpw odpowiadająca liczbie zamawianych palet produktu p w danym okresie czasu w, któremu w zależności od etapu rozwiązywania problemu odpowiada określony tydzień lub dzień. W przypadku rozwiązania globalnego zmienna decyzyjna od samego początku do końca rozwiązania problemu odpowiada liczbie zamawianych palet w określonym dniu. Takie podejście do problemu pozwala z jednej strony na uzyskanie bardziej szczegółowego rozwiązania, ale z drugiej powoduje istotne zwiększenie instancji zadania optymalizacyjnego, co nie pozostaje bez wpływu na czas obliczeń.

Kolejnym etapem agregacji kryteriów było połączenie minimalizacji poziomu zapasów z minimalizacją poziomu pokrycia zapotrzebowania zapasem. Ponieważ oba kryteria są ze sobą silnie skorelowane, to globalna wartość pokrycia zapotrzebowania zapasem została przeliczona na konkretny poziom zapasów wyliczony osobno dla każdego produktu i dla każdego okresu czasu. Powstała w ten sposób tablica (macierz) została następnie wykorzystana w modelu, jako ograniczenie poziomu zapasu od dołu, tj. minimalny poziom zapasów o różnej wartości dla każdego produktu w każdej rozpatrywanej jednostce czasu. Kierunek optymalizacji został natomiast w całości powiązany z minimalizacją poziomu zapasu ignorując tym samym skorelowany z nim poziom pokrycia zapotrzebowania zapasem.

Kolejnym wyzwaniem było takie przygotowanie planu dostaw aby dostarczane wolumeny odpowiadały jedynie załadunkom całopojazdowym. Żeby to uzyskać wykorzystano do obliczeń ℎ, czyli przelicznik z liczby palet produktu p na liczbę całopojazdowych i niejednorodnych załadunków tych palet. Następnie w modelu uwzględniono minimalny poziom wypełnienia pojazdu, zamieniając tym samym kryterium minimalizacji kosztów transportu wyrażone przez maksymalizację wykorzystania dostępnej przestrzeni załadunkowej lub dostępnej ładowności pojazdu na ograniczenie wskazujące, jakie jest minimalne wymagane wypełnienie pojazdu.

Wykorzystanie takiego przelicznika umożliwiło wprowadzenie do modelu pomocniej zmiennej decyzyjnej, jaką jest łączna liczba kursów w danej jednostce czasu.

W celu zachowania liniowego charakteru modelu, a jednocześnie przyjmując za cel rozwiązanie globalne problemu pojawiła się konieczność zagregowania dwóch kryteriów, którymi były minimalizacja rozrzutu liczby załadunków i minimalizacja rozrzutu liczby rozładunków do kryterium minimalizacji maksymalnej liczby kursów.

Dzięki takiemu podejściu rozwiązanie może uwzględniać odpowiednią – nadaną przez planistę wagę, określającą poziom istotności tego czy maksymalna liczba załadunków będzie znacząco odbiegała od średniej.

W efekcie minimalizowana funkcja celu składała się z trzech składników:

• maksymalnej liczby dostaw w całym horyzoncie czasowym analizy,

• łącznej liczby kursów w całym horyzoncie czasowym analizy,

• łącznego średniego stanu magazynowego wszystkich produktów, przy czym każdemu z nich planista może nadać odpowiednią wagę.

Dla rozwiązania tak postawionego problemu wykorzystano narzędzie AIMMS (ang. Advanced Interactive Multidimensional Modeling System) – profesjonalne oprogramowanie do modelowania i rozwiązywania dużych instancji problemów optymalizacyjnych oraz problemów harmonogramowania. Do obliczeń użyto komputera z procesorem Intel Core i5-4300M 2.60 GHz i 8,00 GB pamięci RAM.

Szczegóły zbudowanego modelu znajdują się w załączniku 1 niniejszej pracy.

W zależności od przyjętych wag kryteriów i minimalnego współczynnika wypełnienia pojazdu obliczenia w 84 dniowym horyzoncie czasowym planowania dla pięciu rodzajów produktów trwały od kilku sekund do kilkudziesięciu minut, czyli czas obliczeń jest jak najbardziej akceptowalny nawet dla operacyjnego charakteru problemu.

Rys. 3.1. Okno aplikacji AIMMS z widoczną funkcją celu oraz parametrami pracy solvera.

Źródło: Opracowanie własne.

Analiza zbudowanego modelu i otrzymanych rozwiązań pozwoliła na wyciągnięcie szeregu wniosków opisanych poniżej.

Jedna ze składowych funkcji celu to minimalizowana maksymalna dzienna liczba kursów. W zależności od przyjętej wagi dla tej składowej model planował kursy

bardziej lub mniej równomiernie. Przy wysokiej wartości wagi rozwiązania były dalekie od zdroworozsądkowych, ponieważ realizacja kursów odbywała się znacznie wcześniej aniżeli wynikało to z realnych potrzeb określonych minimalnym poziomem zapasu, tylko po to aby uniknąć jednego załadunku więcej w znacznie późniejszym terminie.

Analizując trzy przykładowe rozwiązania, w których liczba kursów w poszczególne dni wynosi 1,1,1…1,1,1 lub 1,1,1…,1,0,2 bądź 0,1,1…,1,1,2 oraz zakładając, że zostały otrzymane dla takiego samego zapotrzebowania zauważyć można, że wartość składowej funkcji celu jest niższa (lepsza) dla rozwiązania pierwszego, niż drugiego i trzeciego.

O ile w drugim przypadku nawet niewielka nierównomierność rozłożenia kursów w czasie może być nieuzasadniona, bo spowoduje zwiększenie zapasu jedynie o wolumen dostarczony w jednym kursie przez okres jednego dnia, o tyle w pierwszym przypadku zapas i pokrycie zapotrzebowania zapasem będzie wyraźnie wyższe w całym horyzoncie czasowym w porównaniu do rozwiązania trzeciego. Uzyskanie tej samej wartości składowej funkcji celu może się zatem odbywać skrajnie różnym kosztem pozostałych kryteriów. Niskie wartości wagi powodują natomiast z jednej strony wydłużenie czasu obliczeń, a z drugiej brak równomierności rozłożenia liczby kursów w czasie.

Wadą rozwiązania globalnego jest minimalizacja funkcji celu w całym horyzoncie czasowym. Praktyczne podejście do problemu nakazywałoby w tym przypadku podział horyzontu czasowego na krótsze jednostki czasu – np. tygodnie, a równomierne rozłożenie liczby kursów powinno dotyczyć określonego tygodnia, a nie długiego horyzontu czasowego. W perspektywie czasowej 84 dni inne mogą być zdolności załadunkowe i rozładunkowe magazynu w pierwszym tygodniu, a inne w ostatnim tygodniu.

Kolejną wadą rozwiązania globalnego jest zastosowany sposób minimalizacji rozrzutu liczby dostaw i liczby załadunków. Zgodnie z założeniem minimalizowany nie jest rozrzut, a jedynie maksymalna liczba kursów. Minimalizacja maksymalnej liczby rozładunków w pojedynczy dzień to w wielu przypadkach nadmierne uproszczenie.

Dla zobrazowania różnic można założyć, że na przestrzeni tygodnia liczba kursów kształtuje się od poniedziałku do niedzieli następująco: 8;6;8;8;8;8;10 (plan nr 1). Rozwiązanie to jest znacznie korzystniejsze od 10;10;0;10;10;6;10 (plan nr 2).

Łącznie w obu przypadkach w ciągu tygodnia należy zrealizować 56 kursów. Podobnie

w obu przypadkach realizowanych jest maksymalnie 10 kursów na dzień, jednak aby zrealizować kursy zgodnie z planem nr 2 potrzeba będzie większych zasobów w magazynach dostawcy i odbiorcy, podczas gdy w środę i sobotę te zasoby będą najprawdopodobniej niewykorzystywane. Zakładając, że magazyn dysponuje obsadą pozwalającą na realizację 8 kursów plan nr 1 oznacza pełne wykorzystanie zasobów we wszystkie dni tygodnia, niewielkie niewykorzystanie zasobów we wtorek i niewielkie braki zasobów w niedzielę, które w praktyce jednorazowo można zniwelować np. przez nadgodziny. Plan nr 2 to albo braki zasobów w poniedziałek, wtorek, czwartek, piątek i niedzielę oraz bardzo duże niewykorzystanie zasobów w środę i niewielkie sobotę albo długookresowe zwiększenie zasobów i jeszcze większe niewykorzystane zasobów w środę i sobotę. Z punktu widzenia wartości składowej funkcji celu oba plany są identyczne.

Poważną wadą modelu okazał się także brak możliwości przypisania konkretnej liczby palet określonych produktów do konkretnego kursu. Wynikiem działania modelu jest jedynie łączna liczba palet konkretnego produktu, jaką należy dostarczyć w określonej jednostce czasu, w tym wypadku w danym dniu oraz łączna liczba kursów do realizacji danego dnia. Jeśli wynikiem jest mix określonych produktów do realizacji tylko jednym kursem, to problem nie istnieje. Jeśli jednak liczba kursów jest większa niż jeden, to powstanie problem, który w celu utworzenia planu dostaw należałoby rozwiązać osobno – przydział poszczególnych palet do konkretnych kursów. W celu zobrazowania problemu załóżmy, że do dostarczenia w dniu x jest 51 palet produktu

„1”, 15 palet produktu „2” i 5 palet produktu „3”. Dostawę należy zrealizować w 2 kursach. Waga i rozmiar palety produktów każdego typu są inne. Palety z założenia są niepodzielną jednostką transportową. Oznacza to, że nie można zaplanować dwóch kursów po 25,5 palety produktu „1”, 7,5 palety produktu „2” oraz 2,5 palety produktu

„3”. Rodzi się pytanie czy w takim razie plan dostaw powinien zawierać pierwszy kurs z liczbą palet równą 26 dla produktu „1”, 8 dla produktu „2” i 2 dla produktu „3”

oraz drugi kurs z liczbą palet równą 25 dla produktu „1”, 7 dla produktu „2” i 3 dla produktu „3”, czy też być może jakiś zupełnie inny przydział palet do poszczególnych kursów, co może finalnie rzutować na poziom wypełnienia lub przeciążenie pojazdu. W celu odpowiedzi na to pytanie należałoby przeanalizować każdą sytuację osobno, co przy liczbie kursów większej niż 1 stanowi oddzielny problem do rozwiązania. Ponadto w części przypadków planista spotkałby

się z sytuacją, gdzie jedno auto będzie przeciążone, a w drugim pozostanie niewykorzystana przestrzeń lub ładowność. Taka sytuacja może mieć miejsce gdy do dostarczenia będzie nieparzysta liczba palet oraz parzysta liczba kursów lub na odwrót, np. 55 palet do dostawy w dwóch kursach powoduje, że w jednym pojechałoby 28 palet (pojazd potencjalnie przeciążony), a w drugim 27 palet (pojazd potencjalnie niewypełniony w oczekiwanym stopniu). Z tego powodu model powinien wykluczać sytuacje, w których przydział zaplanowanych do dostarczenia palet do poszczególnych kursów jest niemożliwy do osiągnięcia bez realizacji kursu pojazdem przeciążonym lub niewypełnionym w oczekiwanym stopniu. Z jednej strony można założyć, że zmniejszenie lub zwiększenie planu dostaw o jedną paletę dowolnego produktu, tak aby zniwelować przeciążenie lub niewypełnienie, nie wpływa istotnie na całokształt planu. Z drugiej strony praktyka biznesowa pokazuje, że często plan dostaw opiera się o konkretne zamówienie danego klienta i brak dostawy nawet pojedynczej palety może powodować odrzucenie zamówienia w całości, a dostawa dodatkowej palety może być zupełnie zbędna.

Oczywiście ze względu na to, że paleta każdego typu produktu może mieć inną wagę i rozmiar, nie można zakładać, że plany dostaw powinny zawierać jedynie liczbę palet podzielną bez reszty przez liczbę kursów. Oczywiście wprowadzenie takiego ograniczenia rozwiązałoby problem przydziału palet do poszczególnych kursów ale z drugiej strony mogłoby istotnie pogorszyć wartości kryterium zapasu i pokrycia zapotrzebowania zapasem. Dla przykładu w dniu, w którym realizowane jest 5 kursów, w których ze względu na zapotrzebowanie trzeba dostarczyć tylko 1 paletę produktu danego typu, należałoby ich dostarczyć aż 5. W najlepszym wypadku dostarczone zostaną 4 palety, które nie są potrzebne ale niewykluczone, że model z powodu 4 dodatkowych palet wygeneruje kolejną, szóstą dostawę.

Model globalny z zachowaniem liniowego charakteru nie uwzględnia również zalet jednorodności załadunków szerzej opisanych w podrozdziale 3.1.3 i całkowicie ignoruje możliwość planowania jednorodnych dostaw nawet w przypadku braku lub tylko przy minimalnym negatywnym wpływie na pozostałe kryteria, co w zależności od specyfiki funkcjonowania przedsiębiorstwa korzystającego z tego modelu może przynosić mniejsze lub większe straty.

Przy analizowaniu wyników warto również zauważyć, że kryterium maksymalizacji wypełnienia pojazdu zostało zastąpione przez ograniczenie

minimalnego poziomu wypełnienia pojazdu. O ile pozwala to na zachowanie liniowości problemu, o tyle nie pozwala w każdej sytuacji na osiągnięcie maksymalnego wypełnienia pojazdu, które jest różne w zależności od liczby palet poszczególnych produktów, które należy dostarczyć. Kwestia ta jest w rozpatrywanym problemie niezwykle ważna, ponieważ koszty transportu międzynarodowego, a co za tym idzie poziom wypełnienia pojazdu są istotną i znacznie wyższą, niż przy przewozach krajowych, składową całkowitych kosztów logistycznych.

W trakcie globalnego rozwiązywania problemu pojawił się również aspekt doboru wag i minimalnego współczynnika wypełnienia pojazdu, co może stanowić istotne wyzwanie dla planisty i zdecydowanie poszerza aspekt problemu. Wagi, które wydają się być prawidłowe dla pewnego zestawu danych dają niepożądane rezultaty przy rozwiązywaniu tego samego problemu z innym zestawem danych. Ponadto wyzwanie stanowi znalezienie obiektywnej bezwymiarowej jednostki, która prawidłowo odzwierciedlałaby relacje pomiędzy kryteriami. O ile wycena kosztów magazynowania, czy transportu wydaje się być realna do policzenia, o tyle oszacowanie kosztów utraconej jakości produktu w wyniku jego starzenia się, czy obliczenie kosztów logistycznych związanych z niewykorzystanymi zasobami jest poważnym wyzwaniem, mocno wykraczającym poza operacyjną pracę planisty.

Przechodząc do organizacyjnego aspektu rozwiązania postawionego problemu należy mieć również na uwadze aspekt finansowy zastosowanych narzędzi. Koszt pełnej komercyjnej licencji dla zastosowanego oprogramowania zależy od indywidualnej kalkulacji ale opierając się o informacje od przedstawiciela firmy może przekraczać nawet 10 000 €. Mając na uwadze potrzebę zakupu licencji na kilka stanowisk bardzo ważne jest uzyskanie w łańcuchu dostaw oszczędności co najmniej pokrywających ten koszt. Ponadto można postawić tezę, że na rynku pracy bardzo trudno znaleźć osoby, które w stopniu zaawansowanym posługują się tak profesjonalnymi narzędziami jak AIMMS i spełniają jednocześnie inne warunki potrzebne do objęcia stanowiska planisty. O ile narzędzie wydaje się znajdować swoje zastosowanie do rozwiązywania skomplikowanych problemów taktycznych i strategicznych, o tyle przy problemach operacyjnych oraz ograniczonej skali działalności, przy której potencjalne oszczędności mogą nie uzasadniać poniesienia kosztów licencji, racjonalne wydaje się być poszukiwanie rozwiązania z wykorzystaniem ogólnodostępnego oprogramowania.

Mając na uwadze opisane spostrzeżenia autor skupił swoje dalsze prace na wieloetapowym sposobie rozwiązania problemu, gdzie poszczególne kryteria są optymalizowane osobno, z zastosowaniem algorytmów liniowych i nieliniowych przy wykorzystaniu ogólnodostępnego oprogramowania.