Dr inż. Jolanta KRYSTEK Mgr inż. Tomasz GRABALSKI Instytut Automatyki Politechnika Śląska KOMPUTEROWE WSPOMAGANIE PROCESU MODELOWANIA TRANSPORTU Streszczenie: Artykuł dotyczy modelowania procesu transportowego. Przedstawiono aplikację umożliwiającą wygenerowanie oraz rozwiązanie zadania transportowego. Szczegółowo opisano zastosowany algorytm harmonogramowania dostaw. Zaproponowano kryteria oceny harmonogramowania dostaw. COMPUTER AIDED PROCESS OF TRANSPORT MODELLING Abstract: Article concerns modeling the transport process. The application that allows generating and solving the transport problem was presented. Scheduling of deliveries algorithm was described. Proposed criteria for evaluating the scheduling of deliveries Słowa kluczowe: komputerowe wspomaganie, modelowanie transportu Keywords: computer aid, transport modelling 1. WPROWADZENIE Proces transportowy, realizowany przez system transportowy, dotyczy przemieszczania ładunków z miejsc ich nadania do miejsc odbioru. Efektywna realizacja tych zadań jest możliwa tylko poprzez właściwe zarządzanie tym procesem na całej trasie dostawy od dostawcy do odbiorcy, co wiąże się również z wyborem odpowiednich środków transportu. Rozwiązanie problemu transportowego polega na znalezieniu takiej drogi pomiędzy dostawcami a odbiorcami, której koszt jest jak najniższy rozwiązanie optymalne. Integralną częścią każdego procesu transportowego jest rozwiązywanie zagadnienia transportowego [5]. Mając przed sobą zadanie transportowe najpierw budujemy rozwiązanie dopuszczalne, następnie sprawdzamy, czy jest rozwiązaniem optymalnym. Jeżeli nie jest budujemy kolejne rozwiązanie dopuszczalne lepsze od poprzedniego lub przynajmniej nie gorsze. Z nowym rozwiązaniem dopuszczalnym postępujemy jak z poprzednim, do momentu otrzymania wyniku optymalnego. W praktyce można spotkać trzy różne przypadki klasycznego zagadnienia transportowego, które przedstawione zostały w tabeli 1. Tabela 1. Przypadki zagadnienia transportowego występujące w praktyce [6] rodzaj zadania sytuacja przykład zbilansowane przemieszczenia towaru z fabryk do magazynów położonych popyt = podaż (zamknięte) w dużej odległości niezbilansowane popyt > podaż większość dostaw w gospodarce rynkowej (otwarte) popyt < podaż przypadki szczególne chwilowe niedobory towarów 323
Najczęstszym przypadkiem występującym w praktyce jest sytuacja, gdy ilość towaru dostępnego u dostawcy przewyższa zapotrzebowanie odbiorców. Taki przypadek nazywamy niezbilansowanym, lub inaczej otwartym, zagadnieniem transportowym. Czasem zdarza się, że popyt odbiorców przewyższa możliwości dostawców. Mamy wtedy również do czynienia z zadaniem niezbilansowanym. Zadanie zbilansowane to takie, gdy popyt jest równy podaży i najczęściej zdarza się to w przypadku transportu towarów z fabryk do magazynów położonych daleko od fabryk. Opisana w artykule aplikacja pozwala na zamodelowanie zadania transportowego oraz uzyskanie jego rozwiązania minimalizującego koszt dostawy towaru od punktów nadania do punktów odbioru. Problem rozwiązano dwuetapowo: pierwszy etap polegał na stworzeniu strony internetowej wykorzystującej technologię Google Maps API, w celu zamodelowania rzeczywistego zadania transportowego. W drugim etapie stworzono aplikację zrealizowaną w środowisku LabVIEW, która umożliwia wykorzystanie wygenerowanego modelu do rozwiązania zagadnienia transportowego [2]. 2. PROBLEMATYKA PROCESU TRANSPORTOWEGO Procesem transportowym nazywamy ciąg następujących po sobie wszystkich czynności, które stanowią pewną całość i w wyniku których odpowiednia ilość towaru zostanie dostarczona od nadawcy do odbiorcy. Model matematyczny zamkniętego zagadnienia transportowego formułujemy następująco [1]: KT = c x min gdzie: c jednostkowy koszt transportu towaru od i-tego dostawcy do j-tego odbiorcy, i = 1,2, m; j = 1,2,, n x wielkość przewozu na trasie od i-tego dostawcy do j-tego odbiorcy, m liczba dostawców, n liczba odbiorców. Zmienną x określamy jako zmienną decyzyjną. Wprowadza się również dwa dodatkowe parametry: a oraz b. Pierwszy z nich określa ilość towaru, jaką jest w stanie dostarczyć i-ty dostawca, natomiast drugi określa, ile towaru j-ty odbiorca oczekuje na dostarczenie. W związku z tym można zapisać warunki (2), (3) oraz (4), które muszą być spełnione, aby rozwiązanie zadania było poprawne. x a x = b x 0 (4) i = 1,2, m; j = 1,2, n Warunek (2) zapewnia, że każdy dostawca dostarczy co najwyżej tyle towaru, ile posiada, natomiast warunek (3) wymusza, aby każdy odbiorca otrzymał tyle towaru, ile oczekuje. Warunek (4) jest tak zwanym warunkiem brzegowym i oznacza, że zmienna decyzyjna x ij może przyjmować tylko wartości nieujemne. (1) (2) (3) 324
Przebieg procesu transportowego można podzielić na następujące fazy: koncepcyjne przygotowanie procesu transportu (w tym modelowanie procesu transportowego), przygotowanie towaru do przewozu, organizacja procesu przemieszczenia, fizyczne przemieszczenie ładunku, obsługa procesu od strony prawno-finansowej, analiza kosztów i ocena przebiegu procesu transportowego. Najważniejszą z faz jest koncepcyjne przygotowanie procesu. W literaturze [8] można znaleźć informację, iż jest to bardzo istotny etap, jednakże zwykle niedostatecznie przykłada się do niego uwagę, dlatego też prezentowana aplikacja mogłaby stać się ważnym elementem ułatwiającym pracę nad tym etapem. Hipotetyczny dostawca bądź odbiorca mógłby, na tym etapie planowania, skorzystać z aplikacji w celu uzyskania harmonogramu transportu towaru oraz ustalenia jego przybliżonych kosztów 3. ETAPY ROZWIĄZYWANIA PROBLEMU TRANSPORTOWEGO Proces rozwiązywania problemu transportowego został podzielony na dwa etapy: definiowanie zadania transportowego w tym celu powstała strona internetowa MPT, rozwiązanie zadania transportowego w tym celu powstała aplikacja obliczeniowa MPT. 3.1. Definiowanie zadania transportowego Celem stworzenia portalu internetowego MPT (rys. 1) było przetwarzanie danych, udostępnianych przez platformę Google Maps API, z poziomu języków programowania, takich jak Javascript czy PHP. Oprócz przetwarzania oraz przechowywania danych, na stronie internetowej realizowane są skrypty, dzięki którym uzyskuje się zadanie transportowe w postaci macierzy kosztów oraz dodatkowych ograniczeń zapisywanych do pliku XML, będących wstępem do dalszego przetwarzania i ostatecznego uzyskania optymalnego planu dostaw pomiędzy dostawcami a odbiorcami (za pomocą aplikacji MPT). Rys. 1. Strona główna portalu MPT [Źródło własne] 325
Tworzenie zadania transportowego (poprzez stronę internetową MPT), wymaga kolejno: zdefiniowania dostawców i odbiorców, podania wszystkich parametrów zadania transportowego: podaż dostawców, popyt odbiorców, liczby pojazdów dostępnych u danego dostawcy, jednostka towaru (kilogramy, sztuki itp.), cena paliwa, średnie spalanie pojazdu (cykl mieszany) oraz ładowność pojazdów. Można również określić, czy trasa, którą będą się poruszać pojazdy, ma być wyznaczona z ominięciem dróg płatnych oraz autostrad, przeliczenia wszystkich kosztów (rys. 2), które mogą przyjmować różną formę: koszty pieniężne (PLN) wyznaczane ze wzoru (5), koszty czasowe (godziny i minuty), koszty odległościowe (kilometrowe) (km). c = śr. spalanie[l/100km] 100 dystans[km] cena paliwa [zł] (5) Rys. 2. Przykładowa tabela kosztów [Źródło własne] Istotne jest to, iż nie są to koszty jednostkowe. Koszty te reprezentują koszty przejazdu jednego pojazdu na wyznaczonej trasie od danego dostawcy do odbiorcy. Dlatego, aby móc traktować wartości zawarte w macierzy kosztów jako koszty jednostkowe, należy przeliczyć zarówno popyt, jak i podaż na liczbę pojazdów potrzebnych do przewozu zadanej ilości towaru zgodnie ze wzorem (6). gdzie: P popyt lub podaż, q wartość popytu/podaży w zadanej jednostce, c ładowność jednego pojazdu. P = q/c (6) Podanie wymienionych parametrów oczywiście nie wyczerpuje całkowicie wszystkich możliwości, jakie mogą wystąpić w przypadku rzeczywistego zadania transportowego. Uwzględnienie wszystkich sytuacji występujących w rzeczywistości jest praktycznie niemożliwe, dlatego na obecnym etapie rozwoju aplikacji wprowadzono pewne założenia upraszczające. 326
3.2. Struktura bazy danych aplikacji Rys. 3. Struktura bazy danych strony internetowej MPT [Źródło własne] Na rysunku 3 przedstawiona została struktura bazy danych, która wykorzystywana jest w serwisie MPT. Składa się ona z 9 tabel połączonych ze sobą różnymi relacjami, dzięki czemu ułatwione jest wprowadzanie zmian oraz nowych rekordów. Całość jest przechowywana i zarządzana w systemie MySQL. 3.3. Rozwiązywanie zadania transportowego Aplikacja rozwiązująca zadanie transportowe została zaimplementowana w środowisku LabVIEW i opiera się na technologii DataSocket, dzięki której możliwe jest odczytanie danych z przedstawionej w punkcie 3.1 strony internetowej. Po pobraniu danych dotyczących wygenerowanego zadania transportowego i określeniu kryterium kosztów można uzyskać rozwiązania tego zadania. W aplikacji zostały zaimplementowane algorytmy uzyskiwania rozwiązania dopuszczalnego (MKPZ, MNKPZ, RMewW i VAM) oraz algorytm transportowy (metoda potencjałów). Dodatkowo zaimplementowano algorytm pozwalający na ustalenie planu dostaw z podziałem na poszczególnych dostawców (rysunek 4 przedstawia przykładową tabelę z wyznaczonym rozwiązaniem, całkowity koszt oraz graf ogólny przedstawiający rozmieszczenie wszystkich dostawców i odbiorców wraz ze ścieżkami przemieszczania towaru). 327
Rys. 4. Zakładka wyniki ogólne [Źródło własne] Ostatnim elementem rozwiązania zadania transportowego jest harmonogram dostaw wraz ze statystykami pomagającymi szczegółowo ocenić wygenerowany harmonogram. Algorytm ten oparty jest na problemie Job Shop [5]. W przypadku zagadnienia transportowego maszyny są identyfikowane jako pojazdy, a zadania są ciągiem operacji, do których zaliczają się: załadunek towaru, przejazd do odbiorcy, rozładunek towaru, powrót do bazy. 328
Rys. 5. Zakładka wyniki harmonogram [Źródło własne] Kroki algorytmu dla i-tego dostawcy przedstawiają się w następujący sposób: 1) Znajdź największą ilość towaru x ij, jaką musi zawieźć i-ty dostawca do j-tego odbiorcy. Jeśli istnieje więcej niż jeden odbiorca, dla którego ilość towaru jest maksymalna, znajdź, w macierzy kosztów czasowych C odpowiadające tym odbiorcom czasy transportu c ij i wybierz tego odbiorcę, dla którego ten koszt jest najmniejszy. W przypadku gdy minimalne czasy transportu dla kilku odbiorców są sobie równe, wybierz tego, którego indeks j jest najmniejszy. Jeśli wszystkie elementy x ij, i = 1,, n (gdzie n liczba odbiorców), to KONIEC. 2) Załaduj pierwszy wolny pojazd (metoda FIFO First In First Out) towarem do poziomu ładowności (jeśli ładowność przewyższa popyt wybranego odbiorcy lub jest mu równa). 329
Jeśli poziom ładowności jest większy od wartości elementu x ij, załaduj pojazd taką ilością towaru, jaka jest potrzebna danemu odbiorcy, a następnie wróć do punktu 1, traktując ładowność pojazdu jako pozostałe w pojeździe miejsce, a wybranego w tym kroku odbiorcę jako nowego dostawcę. W każdym przypadku odejmij ilość załadowanego ładunku dostarczanego do j-tego odbiorcy od elementu x ij w macierzy rozwiązania. 3) Zrealizuj transport w kolejności, w jakiej dodawani byli kolejni odbiorcy, następnie na końcu dodaj czas powrotu do bazy od ostatniego odbiorcy i wróć do punktu 1, po drodze wstawiając do macierzy T wszystkie elementy t po, gdzie p to indeks pojazdu, natomiast o jest indeksem wykonanej operacji w danym zadaniu. Dodatkowo, dla oceny wyznaczonego harmonogramu, wyznaczane są wskaźniki [3]: średni czas potrzebny na załadunek pojazdu, minimalny czas wykonania zlecenia, maksymalny czas wykonania zlecenia, średni czas wykonania jednego zlecenia, średni czas przebywania pojazdu w trasie, średni czas potrzebny na rozładunek pojazdu. 4. PODSUMOWANIE Ze względu na liczne czynniki losowe oraz ograniczenia występujące w procesie transportowym, problem jego modelowania jest niezwykle złożonym zagadnieniem. W artykule przedstawiono system umożliwiający zamodelowanie procesu transportowego oraz jego symulację rozumianą jako wyznaczenie optymalnej trasy dostawy towaru od dostawców do odbiorców. Cel ten został osiągnięty poprzez implementację przedstawionej w tej pracy strony internetowej oraz aplikacji w środowisku LabVIEW. Ograniczenia oraz dodatkowe parametry, które wprowadza się przy tworzeniu zadania transportowego przybliżają model do rzeczywistości. LITERATURA Praca finansowana z działalności statutowej Instytutu Automatyki Politechniki Śląskiej w 2013 r. [1] Cormen Th.H., Leiserson Ch.E., Rivest R.L.: Wprowadzenie do algorytmów, Wyd. czwarte, Wydawnictwa Naukowo-Techniczne, Warszawa, 1997. [2] Grabalski T.: Modelowanie procesu transportowego, Gliwice, 2012 (praca dyplomowa niepublikowana). [3] Krystek J., Grabalski T.: Modelowanie procesu transportowego, XV Konferencja Logistyki Stosowanej Total Logistic Management Zakopane, 2012 (CD). [4] Leszczyński J.: Modelowanie systemów i procesów transportowych, Oficyna Wyd. Politechniki Warszawskiej, 1999. [5] Pinedo M.J.: Planning and Scheduling in Manufacturing and Services, Springer, 2007. [6] Sawicki P.: Zarządzanie systemami transportu drogowego. Problem transportowy. [online], Politechnika Poznańska, Wydział Maszyn Roboczych i Pojazdów, Poznań, http://etacar.put.poznan.pl/piotr.sawicki/dydaktyka/zstd/prezentace/probl_transp.pdf [7] Sikora W.: Badania operacyjne, PWE, Warszawa, 2008. [8] Zwierzyńskaj-Bubałło T. (red): Transport i spedycja w handlu zagranicznym, Polskie Wydawnictwo Ekonomiczne, Warszawa, 2002. 330