




























































































Studiuj dzięki licznym zasobom udostępnionym na Docsity
Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium
Przygotuj się do egzaminów
Studiuj dzięki licznym zasobom udostępnionym na Docsity
Otrzymaj punkty, aby pobrać
Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium
Społeczność
Odkryj najlepsze uniwersytety w twoim kraju, według użytkowników Docsity
Bezpłatne poradniki
Pobierz bezpłatnie nasze przewodniki na temat technik studiowania, metod panowania nad stresem, wskazówki do przygotowania do prac magisterskich opracowane przez wykładowców Docsity
Parametry ogólne algorytmu symulowanego wyżarzania. 77. 3.5.1. Temperatura początkowa. 78. 3.5.2. Funkcja redukcji temperatury. 79. 3.5.3. Długość epoki.
Typologia: Egzaminy
1 / 139
Ta strona nie jest widoczna w podglądzie
Nie przegap ważnych części!
Opiekun naukowy :
dr hab. inż. Piotr Łebkowski, prof AGH
Kraków, 2011
Promotorowi, Panu prof. dr hab. inż. Piotrowi Łebkowskiemu, serdecznie dziekuję za cenne uwagi, udzieloną pomoc oraz poświęcony mi czas w trakcie realizacji niniejszej pracy.
Skrót Język angielski Język polski ACO Ant Colony System system mrówkowy ALNS Adaptive Large Neighbourhood Search
adaptacyjne przeszukiwanie dużego sąsiedztwa C/AL C/SIDE Application Language język środowiska C/SIDE CRM Customer Relationship Management zarządzanie relacjami z klientem C/SIDE Client - Server Integrated Development Environment
zintegrowane środowiko programistycze klient - serwer CVRP Capacity Vehicle Routing Problem problem dostaw ze zdefiniowanymi nośnościami pojazdów ERP Enterprise Resource Planning zintegrowany system zarządzania przedsiębiorstwem GIS Geographical Information System system informacji przestrzennej, system informacji geograficznej MDVRP Multi Depot Vehicle Routing Problem problem dostaw z wieloma magazynami MDVRPTW Multi Depot Vehicle Routing Problem with Time Windows
problem dostaw z wieloma magazynami z oknami czasowymi MPS Master Production Schedule harmonogram produkcji MRP 1 Material Requirement Planning planowanie zapotrzebowanie materiałowego MRP 2 Manufacturing Resource Planning planowanie zasobów produkcyjnych MTSP Multiple Travelling Salesman Problem
problem wielu komiwojażerów
OVRP Open Vehicle Routing Problem otwarty problem dostaw PK Primary Key klucz główny PTSP Periodic Travelling Salesman Problem okresowy problem komiwojażera PVRP Periodic Vehicle Routing Problem okresowy problem dostaw RDPTW Rich Delivery Problem with Time Windows
ogólny problem dostaw z oknami czasowymi RTC Role Tailored Client klient zorientowany zadaniowo SDVRP Site-Dependent Vehicle Routing Problem
problem dostaw z różnymi nośnościami pojazdów SVRP Stochastic Vehicle Routing Problem stochastyczny problem dostaw VRPSD Vehicle Routing Problem with Stochastic Demands
problemu dostaw ze stochastycznymi zapotrzebowaniami TSP Travelling Salesman Problem problem komiwojażera VLNS Very Large Neighborhoods Search szerokie przeszukiwanie sąsiedztwa VNS Variable Neighborhood Search zmienne przeszukiwanie sąsiedztwa
Symbol Opis G ( V,A ) graf przedstawiający model ogólnego problemu dostaw V zbiór wierzchołków odwzorowujących magazyny A zbiór łuków odwzorowujących odległości v 1 ,...,v (^) m € V wierzchołki grafu G odwzorowujące magazyny v (^) m+1 ,...,v (^) n € V wierzchołki grafu G odwzorowujące klientów di zapotrzebowanie wierzchołka^ i s (^) i czas obsługi wierzchołka i [e (^) i , l (^) i] okno czasowe wierzchołka i e (^) i najwcześniejszy możliwy czas obsługi wierzchołka i l (^) i najpóźniejszy możliwy czas obsługi wierzchołka i t (^) i € K zbiór pojazdów Dk ładowność pojazdu k Xk, Yk, Zk wymiary pojazdu k Tk czas przejazdu całej trasy S (^) i R 0 rozpoczęcie obsługi klienta^ i Li R 0 ilość^ towaru r
c (^) koszt przejazdu na trasie r r (^) k prawidłowa trasa
P prawdopodobieństwo akceptacji gorszego stanu w algorytmie symulowanego wyżarzania E liczba Eulera, liczba Nepera K stała Boltzmana T temperatura E energia systemu X ( k ) zmienna oznaczająca wynik losowania k-tej próby Pij prawdopodobieństwo warunkowe określające łańcuch Markova P=|R|*|R macierz przejść w łancuchu Markova ai ( k ) prawdopodobieństwo wyniku i w k-tej próbie Gij prawdopodobieństwo wygenerowania stanu j ze stanu i Aij prawdopodobieństwa akceptacji stanu j wygenerowanego ze stanu i
R zbiór stanów systemu
Transport dóbr materialnych jest bardzo ważnym elementem aktywności człowieka. Prawidłowe zarządzanie siecią dystrybucyjną oraz parkiem pojazdów pozwala na znaczne obniżenie kosztów dostaw ponoszonych przez przedsiębiorstwa. Sterowanie dystrybucją sprowadza się najczęściej do rozwiązania pewnego problemu decyzyjnego i może być rozpatrywane w trzech płaszczyznach (Krawczyk S., 2001): strategicznej, taktycznej oraz operacyjnej. Decyzje strategiczne uwzględniają położenie i rozmieszczenie magazynów, firm lub/oraz fabryk. Decyzje taktyczne determinują strukturę sieci dystrybucyjnej oraz park pojazdów. Natomiast samo określenie tras oraz liczby pojazdów użytych do dostarczenia towarów do klientów jest decyzją operacyjną. Badania przedstawione w niniejszej pracy dotyczą metod sterowania procesem dystrybucji towarów do odbiorców, czyli decyzji operacyjnych. Systemy informatyczne służące wspomaganiu zarządzaniem przedsiębiorstwem to tzw. systemy ERP (planowanie zasobów przedsiębiorstwa, ang. Enterprise Resource Planning). Na rynku tych systemów można zaobserwować zwiększone zapotrzebowanie na aplikacje wspomagające planowanie tras. Jest to związane z faktem, że nawet niewielka oszczędność na pojedynczych wysyłkach umożliwia znaczne obniżenie kosztów firmy rozpatrywanych w dłuższym okresie. Prawidłowe zarządzanie wysyłką pozwala na lepsze spełnianie potrzeb klientów. Sprzyja także poprawie wizerunku firmy. Niniejsza tematyka rozprawy wynika z konkretnej praktycznej potrzeby. Firma z Wielkiej Brytanii produkująca rękawice dla potrzeb medycyny, wojska, przemysłu (rękawice ochronne w kopalniach, hutach) używa systemu Microsoft Dynamics NAV
przy podejmowaniu decyzji zagadnienia tego typu nazywane są problemami wielokryterialnej optymalizacji kombinatorycznej (WOK, ang. Multicriteria Combinatorial Optimization). W literaturze światowej znaleźć można wiele doniesień o zastosowaniach zaawansowanych technik planowania wysyłek towarów. Narzędzia te jednak albo nie oferują możliwości integracji z systemi ERP, albo rozwiązania problemów dostaw dalekie są od optymalnych, bądź też w celu uzyskania optymalnych rozwiązań konieczny jest długi czas pracy algorytmu lub uruchomienie go równolegle na kilku procesorach. Celem pracy jest zbudowanie metody zdolnej w zadowalającym czasie generować bliskie optymalnym plany wysyłek, ze względu na przyjęte kryteria. W początkowych etapach swoich badań nad problemami dostaw autor niniejszej pracy użył własnych heurystyk wykorzystujących programowanie dynamiczne oraz metodę sympleksową. Wyniki przeprowadzonych testów pokazały, że uzyskane rozwiązania za pomocą tych metod są gorsze od obecnych najlepszych wyników światowych zarówno pod względem uzyskanej liczby tras i całkowitego dystansu, dlatego też dalszy rozwój tych heurystyk został przez autora niniejszej rozprawy zaprzestany. Uzyskane wyniki za pomocą tych heurystyk przedstawione zostały odpowiednio w rozdziałach 3.1 oraz 3.2. Z tego powodu zdecydowano się zbudować algorytm w oparciu o ogólnie znane heurystyki. Przeanalizowano literaturę w celu znalezienia heurystyki charakteryzującej się rozwiązaniami na poziomie najlepszych światowych rozwiązań. Skoncentrowano się w szczególności na przeszukiwaniu tabu (ang. Tabu Search), algorytmach mrówkowych (ang. Ant Colony Systems), symulowanym wyżarzaniu (ang. Simulated Annealing) oraz różnych wariantach przeszukiwania sąsiedztwa lokalnego. Najlepsze znane rozwiązania problemów testowych zamieszczone na stronie Transportation Optimization Portal (http://www.sintef.no/projectweb/top). Opublikowane algorytmy udowadniają, że symulowane wyżarzanie jest bardzo użyteczną metodą w rozwiązywaniu tego typu zagadnień. Sposób ten cechuje się wysoką efektywnością, czyli w stosunkowo krótkim czasie pozwala uzyskać rozwiązania bliskie optymalnym. Ropke, Pisinger (Ropke, Pisinger, 2005) zastosowali algorytm oparty o ALNS (Adaptacyjne przeszukiwanie dużego sąsiedztwa, ang. Adaptive Large Neiborhood Search) do rozwiązania problemów SDVRPTW, MDVRPTW oraz ogólnego zadania RDPTW. Udowodniono wtedy efektywność ALNS przy optymalizowaniu tych problemów, gdyż
poprawiono wiele światowych rekordów (Ropke, Pisinger, 2005). Do dzisiaj wiele z tych wyników nie zostało polepszonych. W związku z tym, że rozwiązywany problem nie sprowadza się tylko do VRPTW, ale także posiada cechy SDVRPTW oraz MDVRPTW, w niniejszej rozprawie, zdecydowano się użyć także algorytmu ALNS. Jako główną koncepcję przyjęto, że podstawą poszukiwanego algorytmu będzie rozwiązanie hybrydowe na bazie dwóch heurystyk: symulowanego wyżarzania oraz adaptacyjnego przeszukiwania dużego sąsiedztwa. Do osiągnięcia tak postawionego celu usystematyzowano metody stosowane do wielokryterialnej optymalizacji planowania tras, przeprowadzono badania porównawcze metod optymalizacyjnych. Zbudowany algorytm postanowiono zweryfikować za pomocą trzech rodzajów danych testowych: zbiorów opracowanych przez M. Solomona, zbiorów Cordeau oraz danych rzeczywistych. Szczegółowy opis zbiorów testowych znajduje się w rozdziale 3.8.1. Do osiągnięcia celu rozprawy należało zdefiniować nowy problem logistyczny będący rozszerzeniem ogólnego problemu dostaw RDPTW o następujące parametry:
matematyczny model symulowanego wyżarzania, który jest oparty o łańcuchy Markova. Ponadto zaakcentowano problematykę badanego przedsiębiorstwa, gdzie skupiono się na aktualnym sposobie planowania wysyłek. Omówiono także szczegółowo badane zbiory testowe, sposoby przeprowadzenia tych testów, a także zamieszczono uzyskane rozwiązania (szczegółowe znalezione trasy znajdują się w załącznikach 4 oraz 5). Rozdział ten kończy podsumowanie literatury, prezentacja koncepcji badawczych oraz tezy pracy. W rozdziale 3 scharakteryzowano metody zastosowane do rozwiązania ogólnego problemu dostaw, omówiono próby rozwiązania problemów dostaw za pomocą heurystyk wykorzystująceych metodę sympleksową oraz programowanie dynamiczne, opisano parametry ogólne symulowanego wyżarzania, dostosowano symulowane wyżarzanie do badanego problemu oraz zdefiniowano funkcję kosztu. Przedstawiono eksperymenty z różnymi parametrami symulowanego wyżarzania, w szczególności sposobem redukcji temperatury, warunków zatrzymania algorytmu. Rozdział 3 zawiera także oryginalną koncepcję funkcji generującej rozwiązania początkowe oraz funkcji przejścia. Integralnym elementem funkcji przejścia w niniejszym algorytmie jest tzw. metoda zwiększających się promieni służąca do grupowania klientów w celu lepszego przeszukiwania przestrzeni rozwiązań. Rozdział 4 zawiera opis rozszerzenia systemu Dynamics NAV 2009 o aplikację będącą implementacją zbudowanego algorytmu. Rozszerzenie to zostało nazwane: „Planowanie wysyłek”. W rozdziale 4 zawarta jest budowa aplikacji, w szczególności zmiany standardowych obiektów systemu NAV oraz opis nowych funkcji i procedur dodanych na potrzeby niniejszej pracy. W rozdziale 5 podsumowano przeprowadzone badania, sformułowano najważniejsze wnioski oraz zarysowano dalsze kierunki planowanych prac autora związanych z problematyką rozprawy. Rozprawę uzupełnia 5 załączników. Załącznik 1 zawiera listę wszystkich wykorzystanych 56 zbiorów testowych opracowanych przez M. Solomona. W załączniku 2 umieszczono listę zbiorów testowych Cordeau, służących do testowania algorytmów rozwiązujących wielomagazynowy problem dostaw. Załącznik 3 zawiera zrzut ekranowy strony internetowej Transportation Optimization Portal z listopada 2010. Strona ta nadzorowana przez organizację badawczą SINTEF zawiera najlepsze na dzień dzisiejszy wyniki wybranych problemów dostaw. Na zrzucie z listopada 2010 znajdują się poprawione najlepsze wyniki światowe dwóch testów Solomona przez autora niniejszej
pracy. W załączniku 4 umieszczono szczegółowe wyniki znalezionych rozwiązań testów Solomona w rozpisaniu na poszczególne trasy. Załącznik 5 zawiera – szczegółowe znalezione przez autora niniejszej rozprawy – wyniki testów Cordeau dotyczących problemu dostaw z wieloma magazynami.
klientów. Problem ten różni sie od MTSP tym, że każdy pojazd posiada zdefiniowaną ładowność, a każdy klient określone zapotrzebowanie. Trasa musi być zaprojektowana w taki sposób, aby każdy klient został odwiedzony tylko raz przez dokładnie jeden pojazd, wszystkie kursy zaczynają się i kończą w centralnym magazynie. Całkowite zapotrzebowanie klientów na jednej trasie nie może przekraczać zasobów danego pojazdu. W przypadku tej odmiany problemu w pierwszej kolejności minimalizuje się liczbę pojazdów, a tym samym liczbę tras, a następnie całkowitą długość tras. Istnieje wiele odmian problemów dostaw (Ropke, Pisinger, 2003). Najczęściej rozróżnia się wymienione w niniejszej rozprawie CVRP (Problem dostaw ze zdefiniowanymi nośnościami pojazdów, ang. Capacity Vehicle Routing Problem), MDVRP (Wielomagazynowy problem dostaw, ang. Multi Depot Vehicle Routing Problem), SDVRP (Stochastyczny problem dostaw, ang. Stochastic Vehicle Routing Problem), VRPTW (Problem dostaw z oknami czasowymi, ang. Vehicle Routing Problem with Time Windows) oraz OVRP (Otwarty problem dostaw, ang. Open Vehicle Routing Problem). W wersji CVRP wszystkie pojazdy są identyczne, czyli posiadają jednakowe pojemności. Każda trasa rozpoczyna się i kończy w centralnym magazynie. W niektórych wersjach tego problemu pojazdy muszą także przestrzegać długości tras. Problem OVRP różni się od CVRP tylko tym, że trasa kończy się po obsłużeniu ostatniego klienta. Pojazd taki nie wraca później do centralnego magazynu. VRPTW jest rozszerzeniem CVRP o okna czasowe każdego klienta. Okna czasowe definiują interwał czasowy, w którym klient może być obsługiwany. SDVRP jest kolejnym uogólnieniem CVRP, w którym pojazdy posiadają różne pojemności i jako takie nie mogą obsługiwać wszystkich klientów. W problemie MDVRP występuje wiele magazynów centralnych. W pracy zbadano odmianę problemu nazwanego RDPTW (Ropke, Pisinger, 2003), będacego uogólnioną wersją wymienionych problemów. RDPTW definiuje wiele magazynów w ten sposób, że tworzony jest jeden wirtualny magazyn nadrzędny i wszystkie trasy zaczynają się z tego miejsca. Następnym punktem na trasie zawsze jest rzeczywisty magazyn firmy. Badany problem różni się od RDPTW tym, że pojazdy zawsze startują z magazynu rzeczywistego (nie jest tworzony magazyn wirtualny) i żaden pojazd nie może pobierać towarów z więcej niż jednego magazynu. Ponadto opracowany
algorytm uwzględnia wymiary wysyłanych towarów oraz wymiary pojazdu. Zarówno pojazdy, jak i dostarczane towar posiadają długość, szerokość oraz wysokość. Model w swojej postaci obejmuje planowanie tras do wielu klientów z różnych magazynów. Rysunek 2.1 przedstawia graficzną reprezentację problemu RDPTW. V 0 oznacza magazyn centralny, V 1 do V 7 to wierzchołki oznaczające klientów. Na rysunku 2. pokazane są przykładowe trasy reprezentowane przez pętle rozpoczynające się zawsze w magazynie centralnym V 0 , a następnie prowadzące do klientów V 1 ... V 7.
Rys. 2.1. Graficzna reprezentacja problemu RDPTW (źródło: opracowanie własne)
Model może być przedstawiony na przestrzeni płaskiej jako graf G= ( V,A ) (rysunek 2.1), gdzie V = { v 1 , ..., vm,v (^) m+1 , ..., v (^) n } jest zbiorem wierzchołków odwzorowujących magazyny (wierzchołki v 1 , ..., v (^) m ) oraz klientów (wierzchołki v (^) m+1 , ..., v (^) n ), a A= {( v (^) i , vj ) : v (^) i , v (^) j € V, i ≠j } to zbiór łuków odwzorowujących odległości (dostawy) pomiędzy klientami. Każdy wierzchołek v (^) i posiada zestaw parametrów:
i 1 ,..., h : evi si lv i (2.4) i 1 ,..., h 1 : si 1 si tvi , vi 1 eT (^) k s 1 lT k (2.5) eT (^) k ' (^) sh lTk '
gdzie [e (^) T k , lTk ] jest oknem czasowym magazynu Tk , a [e (^) T’ k , l (^) T’ k ] jest oknem czasowym magazynu T’ (^) k. Brak przekraczanie nośności pojazdów zapewnia wzór 2.6:
i 1 ,..., h : Li C i i 1 ,..., h 1 : Li 1 Li li (^1) (2.6)
Lh 0
gdzie Li ^ R 0 oznacza pozostałą ilość towaru znajdującego się w pojeździe obsługującym
węzeł v (^) i po jego obsłużeniu.
Całkowity koszt przejazdu na trasie (^) r
wynosi (wzór 2.7):
(^)
1 1 ,^1
h i v^ ivi
d r
c (2.7)
Rozwiązanie ogólnego problemu dostaw sprowadza się do minimalizacji funkcji kosztu (wzór 2.8), która to funkcja stanowi rozwiązanie problemu dostaw, jest to tzw. funkcja kosztu:
k V ( i , j ) Acij Xijk (2.8)
przemieszcza się z wierzchołka i do j , a 0 w przeciwnym wypadku.
Problem rozpatrywany w niniejszej rozprawie sprowadza się do minimalizacji trzech kryteriów: liczby pojazdów, całkowitego dystansu przejechanego przez pojazdy oraz wskaźnika kosztów. Zadanie to jest uogólnioną wersją różnych problemów dostaw takich jak problem dostaw z oknami czasowymi, wielomagazynowy problem dostaw, problem dostaw z różnymi nośnościami pojazdów. Podrozdział 2.1.1 poświęcony jest analizie literatury oraz badań dotyczących tych problemów.
2.1.1. Przegląd badań dotyczących problemów dostaw
Od momentu zdefiniowania problemu dostaw (Solomon, 1987) jest on celem bardzo intensywnych prac i praktycznie każdy typ metaheurystyki został przetestowany. Marius Solomon (Solomon, 1987) opracował 56 zestawów testów, które służą do sprawdzania badanych algorytmów. Szczegółowy opis zbiorów testowych Solomona znajduje się w rozdziale 3.8.1. Od momentu opublikowania zestawów Solomona wyniki wszystkich testów zostały wielokrotnie ulepszone przy zastosowaniu coraz nowszych algorytmów. Pod koniec lat dziewięćdziesiątych ubiegłego wieku wyniki testów Solomona praktycznie przestały być już poprawiane. Na początku dwudziestego pierwszego wieku poszukiwania algorytmów rozwiązujących problem VRPTW zaczęły się koncentrować na przetwarzaniu równoległym, wieloprocesorowym. Algorytmy te polegają na zdefiniowaniu kilku procesów, każdy z tych procesów działa na osobnym procesorze (jednostka CPU). Następnie wyniki osiągnięte przez każdy z tych procesów są porównywane i wybierane jest jedno rozwiązanie. W przypadku przetwarzania równoległego główną zaletą jest zwiększenie całkowitej liczby iteracji badanych algorytmów w stosunku do algorytmów sekwencyjnych. Jeśli dany algorytm będzie w tym samym czasie działał np. na 5 różnych komputerach, to może on wykonać ok. 5 razy więcej kroków. Pomimo to ostanie ulepszenia testów Solomona nastąpiły w roku 2005. Od tego czasu aż do 2009 roku (Woch, Łebkowski, 2009) nie było żadnej znaczącej poprawy w dziedzinie badań nad algorytmami rozwiązującymi problemy dostaw w szczególności VRPTW. W początkowych latach prac nad problemem dostaw bardzo efektywnym algorytmem okazała się procedura zbudowana przez Ora (Or, 1976). Procedura ta doczekała się wielu implementacji oraz rozwinięć. Na ten temat traktują między innymi