ALGORYTM KLASTERYZACJI W ZASTOSOWANIU DO PROBLEMU TRASOWANIA POJAZDÓW

Podobne dokumenty
Algorytmy heurystyczne w UCB dla DVRP

Logistyka - nauka. Klasteryzacja punktów obsługi i wyznaczanie tras pojazdów w dwuszczeblowym systemie dystrybucji

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

OPTYMALIZACJA W LOGISTYCE

Analiza stanów gry na potrzeby UCT w DVRP

Seminarium IO. Zastosowanie metody PSO w Dynamic Vehicle Routing Problem (kontynuacja) Michał Okulewicz

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

ROZWIĄZYWANIE ZAGADNIEŃ UKŁADANIA TRAS POJAZDÓW Z WYKORZYSTANIEM ALGORYTMÓW EWOLUCYJNYCH. Wstęp

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Zastosowanie algorytmów heurystycznych do rozwiązywania problemu układania tras pojazdów

PROBLEMATYKA OBSŁUGI TRANSPORTOWEJ

Przykład planowania sieci publicznego transportu zbiorowego

Techniki optymalizacji

OPTYMALIZACJA W LOGISTYCE

Wybrane podstawowe rodzaje algorytmów

Wyznaczanie optymalnej trasy problem komiwojażera

Metody optymalizacji dyskretnej

Temat: Algorytmy zachłanne

Zaawansowane programowanie

ZAGADNIENIE TRANSPORTOWE

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Metody przeszukiwania

Programowanie dynamiczne cz. 2

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Algorytmy rozpoznawania obrazów. 11. Analiza skupień. dr inż. Urszula Libal. Politechnika Wrocławska

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Techniki optymalizacji

Matematyczne Podstawy Informatyki

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

Algorytmy wyznaczania centralności w sieci Szymon Szylko

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

KOMPUTEROWE WSPOMAGANIE PROCESU MODELOWANIA TRANSPORTU

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Techniki optymalizacji

Zagadnienie transportowe

Seminarium IO. Zastosowanie algorytmu UCT w Dynamic Vehicle Routing Problem. Michał Okulewicz

Heurystyczne metody przeszukiwania

OPTYMALIZACJA W LOGISTYCE

Informatyka w szkole - algorytm Dijkstry dla każdego. Krzysztof Diks Instytut Informatyki, Uniwersytet Warszawski

Wykład z modelowania matematycznego. Zagadnienie transportowe.

ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:

Zadanie 1: Piętnastka

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Tomasz M. Gwizdałła 2012/13

TEORIA GRAFÓW I SIECI

Sortowanie przez wstawianie Insertion Sort

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Sortowanie Shella Shell Sort

Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

PARAMETRYZACJA ELEMENTÓW PROCESU TRANSPORTOWEGO

Problem Komiwojażera - algorytmy metaheurystyczne

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Sieci Petriego w analizie problemu wyznaczania tras pojazdów

Całkowitoliczbowe programowanie liniowe

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

ZASTOSOWANIE PROGRAMOWANIA MATEMATYCZNEGO DO WYBORU TRAS DOSTAW W SIECI DYSTRYBUCJI

KSZTAŁTOWANIE STRUKTURY SYSTEMU DYSTRYBUCJI CZĘŚCI SAMOCHODOWYCH Z WYKORZYSTANIEM PROGRAMU LINGO

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk

Algorytmy genetyczne

Złożoność obliczeniowa klasycznych problemów grafowych

Luty 2001 Algorytmy (4) 2000/2001

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Planowanie przedsięwzięć

LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19

[1] R. K. Ahuja, T. L. Magnanti, J. B. Orlin, Network Flows: Theory, Algorithms, and Applications, Prentice Hall, 1993.

Planowanie drogi robota, algorytm A*

5. Rozwiązywanie układów równań liniowych

Agenda. Politechnika Poznańska WMRiT ZST. Piotr Sawicki Optymalizacja w transporcie 1. Kluczowe elementy wykładu. WPROWADZENIE Cel i zakres wykładu.

Gospodarcze zastosowania algorytmów genetycznych

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Rozwiązanie problemu komiwojażera przy użyciu algorytmu genetycznego 2

The method for selection and combining the means of transportation according to the Euro standards

Podstawy Sztucznej Inteligencji (PSZT)

Harmonogramowanie przedsięwzięć

Wykład 4. Droga i cykl Eulera i Hamiltona

Analiza SWOT narzędzi do wyznaczania tras na przykładzie drogowego transportu chłodniczego w województwie zachodniopomorskim

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

APIO. W7 SPECYFIKACJA (UŻYCIA) DOSTĘPU DO DANYCH I SPOSOBU ICH PRZETWARZANIA 1. METODA CRUD 2. LOGIKA FUNKCJI

Emapa Transport+ Opis produktu

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Znajdowanie wyjścia z labiryntu

K.Pieńkosz Badania Operacyjne Wprowadzenie 1. Badania Operacyjne. dr inż. Krzysztof Pieńkosz

Modelowanie logistycznych sytuacji decyzyjnych w konwencji zadań programowania matematycznego

Schemat programowania dynamicznego (ang. dynamic programming)

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

a) 7 b) 19 c) 21 d) 34

Transkrypt:

Logistyka - nauka Tomasz AMBROZIAK *, Roland JACHIMOWSKI * ALGORYTM KLASTERYZACJI W ZASTOSOWANIU DO PROBLEMU TRASOWANIA POJAZDÓW Streszczenie W artykule scharakteryzowano problematykę klasteryzacji punktów obsługi dla problemu trasowania pojazdów. Przybliżono wybrane metody klasteryzacji opisywane w literaturze przedmiotu. Zaproponowano algorytm klasteryzacji punktów obsługi zmniejszający złożoność obliczeniową problemu trasowania pojazdów. Słowa kluczowe: problem trasowania pojazdów, klasteryzacja, algorytm klasteryzacji 1. WPROWADZE Problem trasowania pojazdów (ang. Vehicle routing problem VRP) jest rozwinięciem jednego z najstarszych problemów optymalizacyjnych na sieciach problemu komiwojażera (ang. Traveling Salesman Problem TSP), który polega na odwiedzeniu dokładnie jeden raz każdej z wybranych miejscowości i powrocie do miejscowości, z której rozpoczęto podróż [7]. Znane są koszty przejazdu miedzy każdą parą miejscowości. Należy zaplanować komiwojażerowi drogę przejazdu w taki sposób, aby mógł on odwiedzić każdą miejscowość dokładnie jeden raz i całkowity koszt podróży był możliwie najmniejszy. W najprostszej formie problem trasowania pojazdów różni się od problemu komiwojażera dodatkowymi ograniczeniami związanymi z liczbą oraz ładownością pojazdów [1]. Problem trasowania pojazdów podobnie jak problem komiwojażera jest zagadnieniem NP-trudnym, tzn. nie istnieją dla tego zagadnienia algorytmy dokładne rozwiązujące ten problem w czasie zależącym wielomianowo od liczby analizowanych danych. Dowód Nptrudności problemu trasowania pojazdów znaleźć można w pracy [9]. Złożoność problemu trasowania pojazdów jest rzędu O(n-1!) przy czym n oznacza liczbę punktów, jakie należy odwiedzić. Czas trwania obliczeń rośnie wykładniczo względem liczby danych (w tym przypadku względem liczby odwiedzanych punktów, miast). Przykładowo, dla przypadku z 15 miastami liczba możliwych kombinacji trasy przejazdu wyniesie 87.178.291.200, a już dla 20 miast liczba ta wzrośnie prawie 1,4 miliona razy do wartości 1,21645*10 17. Dla komputera wykonującego milion operacji w ciągu sekundy czas trwania obliczeń dla 20 miast wyniesie prawie 4 tysiące lat. W związku z dość długim czasem trwania obliczeń naukowcy skupiają się na poszukiwaniu algorytmów przybliżonych (heurystycznych), które dostarczałyby zadowalająco dobrych wyników w akceptowalnym czasie. Jednym ze sposobów osiągnięcia tego celu jest zmniejszenie złożoności rozpatrywanego przypadku problemu trasowania pojazdów. W literaturze cel ten osiągany jest poprzez stosowanie tzw. metod dwufazowych: najpierw klaster potem trasa (ang. cluster first/route second), najpierw trasa, potem klaster (ang. route first/cluster second). Słowo klaster w tym przypadku odnosi się do podzbiorów wydzielonych ze zbioru obsługiwanych punktów. Każdy podzbiór obsługiwany jest przez pojedynczy pojazd. Tym * Politechnika Warszawska, Wydział Transportu 337

Logistyka nauka samym przestrzeń rozwiązań maleje wraz ze wzrostem liczby klastrów. Jeżeli problem z 20 miastami podzielimy na 5 klastrów i przydzielimy do każdego klastra po jednym pojeździe, to każdy z przydzielonych pojazdów będzie miał do obsłużenia zaledwie 4 miasta. Dla takiej liczby miast w klastrze, liczba możliwych tras przejazdu wyniesie 24. Łączna długość trasy dla rozważanego przypadku będzie sumą długości tras w poszczególnych klastrach. Taki podział zbioru obsługiwanych punktów na mniejsze podzbiory ma również swoje odzwierciedlenie w rzeczywistych problemach trasowania pojazdów. Sytuacja taka dotyczy najczęściej przedsiębiorstw zajmujących się dostawą towarów do klientów, których lokalizacja określona jest np. kodem pocztowym. 2. METODY KLASTERYZACJI W LITERATURZE W literaturze dotyczącej rozwiązywania problemu trasowania pojazdów pojawiają się 3 zasadnicze grupy metod zmniejszania jego złożoności oparte na zasadzie najpierw klaster potem trasa: podstawowe metody klasteryzacji [6], [5], [3]; metody wykorzystujące algorytm podziału i ograniczeń (ang. branch & bound) [4]; metody wykorzystujące petal algorithm [8]. Podstawowe metody klasteryzacji dokonują prostego podziału punktów obsługi na klastry, a następnie realizują trasowanie pojazdów w tych klastrach. Wśród algorytmów realizujących podstawowe metody klasteryzacji wyróżnia się: Sweep Algorithm [6] w którym klastry tworzone są poprzez obracanie promienia obsługi, którego środek zlokalizowany jest w bazie magazynowej. Następnie trasy pojazdów uzyskiwane są poprzez zrealizowanie problemu trasowania pojazdów w każdym klastrze. Fisher & Jaikumar Algorithm [5] w którym przydział odbiorców do klastrów realizowany jest poprzez rozwiązanie problemu przydziału (ang. general assignment problem). Procedura tworzenia klastrów rozpoczyna się od wybrania kilku sztucznych punktów j w celu zainicjowania klastrów. Następnie do tych sztucznych punktów przydzielane są faktyczne punkty odbioru i na podstawie kosztu przydziału obliczanego z następującej zależności: K i = min{k 0i + k ij +k j0 ; k 0j + k ji + k i0 }-(k 0j +k j0 ) (1) gdzie: 0 oznacza bazę dla pojazdów, K i koszt dołączenia do obsługi i-tego punktu, k ij koszt transportu pomiędzy i-tym a j-tym punktem. Kolejny krok algorytmu tej metody zakłada rozwiązanie problemu przydziału, a w celu wyznaczenia tras rozwiązywany jest problem komiwojażera. Bramel & Simchi-Levi Algorithm [3] w którym sztuczne punkty inicjujące klastry wyznaczane są poprzez rozwiązanie problem lokalizacji z ograniczeniami na pojemność lokalizowanych punktów (ang. capacited location problem) w celu zminimalizowania odległości faktycznych punktów odbioru od ich najbliższych sztucznych punktów. Po zlokalizowaniu punktów inicjujących (sztucznych), faktyczne punkty odbioru są stopniowo dołączane na podstawie najniższego kosztu ich dołączenia do punktów sztucznych. Po dołączeniu wszystkich punktów odbioru tworzone są klastry, w których rozwiązywany jest problem komiwojażera. 338

Logistyka - nauka W przypadku metody wykorzystującej algorytm branch&bound, jej autorzy w przeciwieństwie do podstawowych metod klasteryzacji, nie skupiają się na tworzeniu klastrów odbiorców, lecz na konstruowaniu zbiorów dopuszczalnych tras pojazdów. Liczba poziomów w drzewie poszukiwań jest bezpośrednio determinowana przez liczbę tras pojazdów, które na każdym poziomie stanowią dopuszczalne rozwiązania problemu. Szczegółowo zasadę działania tego algorytmu można znaleźć w pracy [4]. Algorytm Petal zastosowany do problemu klasteryzacji jest rozwinięciem przedstawionego wcześniej algorytmu Sweep, jednakże podobnie jak algorytm wykorzystujący branch&bound tak i w tym przypadku zamiast klastrów odbiorców tworzone są zbiory tras. Końcowa selekcja tras dokonywana jest za pomocą problem podziału zbioru. Problem podziału polega w tym przypadku, na znalezieniu minimum funkcji: przy ograniczeniach postaci: t T t T kx min (2) t t z x 1; i 1,..., n (3) it t gdzie: T zbiór tras, x t zmienna binarna przyjmująca wartość 1, gdy t-ta trasa należy do rozwiązania, z it parametr binarny przyjmujący wartość 1, gdy i-ty punkt obsługi wchodzi do t-tej trasy, k t koszt t-tej trasy. Szczegółowo zasada działania algorytmu omówiona została w pracy [8]. Metoda zmniejszania złożoności problemu trasowania pojazdów zgodnie z zasadą najpierw trasa potem klaster składa się w zasadzie z dwóch etapów. W pierwszym etapie tworzona jest jedna trasa dla wszystkich punktów obsługi, nieuwzględniająca żadnych ograniczeń. W drugim etapie trasa ta jest dzielona na krótsze trasy, przy uwzględnieniu nakładanych ograniczeń (brak jest ograniczeń dotyczących liczby pojazdów), dzięki czemu każda nowopowstała trasa dla pojazdu jest trasą dopuszczalną. W pracy [2] autor udowodnił, że drugi etap metody może być z powodzeniem rozwiązywany z wykorzystaniem zagadnienia najkrótszej ścieżki w acyklicznym grafie. W powyższej sytuacji złożoność problemu trasowania pojazdów zredukowana zostaje do poziomu O(n 2 ). W literaturze istnieje wiele algorytmów rozwiązywania problemu wyznaczania najkrótszej ścieżki w grafie, przy czym najczęściej stosowany jest algorytm Dijkstry, którego opis zawiera większość pozycji literatury z zakresu badań operacyjnych. 3. ALGORYTM KLASTERYZACJI DLA PROBLEMU TRASOWANIA POJAZDÓW Algorytm klasteryzacji odbiorców opracowano dla jedno-bazowego problemu trasowania pojazdów. Zakłada się, że zbiór pojazdów jest heterogeniczny, a każdy pojazd oprócz ładowności scharakteryzowany jest jednostkowym kosztem zużycia paliwa oraz maksymalnym czasem pracy w ciągu dnia. Czasy przejazdu pomiędzy wyróżnionymi punktami obsługi wyznaczane są na podstawie odległości miedzy nimi i przyjętej średniej prędkości jazdy. Celem prawidłowego zrozumienia działania algorytmu wyjaśnieniu wymagają następujące oznaczenia pojawiające się w treści zapisu algorytmu: PO (1, 2, i, i, I) uporządkowana lista punktów obsługi, gdzie i oznacza numer punktu obsługi. Bazę magazynową oznaczono numerem 0, P (1, 2, p,, P) uporządkowana lista pojazdów, gdzie p oznacza numer pojazdu, Q p ładowność p-tego pojazdu, 339

Logistyka nauka ZP p jednostkowe zużycie paliwa p-tego pojazdu, t i czas obsługi i-tego punktu, t ii czas transportu pomiędzy punktami i oraz i, d ii odległość pomiędzy punktami i oraz i, q i zapotrzebowanie na przewóz i-tego punktu obsługi, q k zapotrzebowanie na przewóz k-tego klastra, K klaster. Kolejne kroki algorytmu zapisano następująco: Krok 1 Utwórz listę punktów obsługi PO i posortuj je rosnąco względem ich odległości od bazy. Krok 2 Utwórz listę pojazdów P i posortuj pojazdy według malejącej wartości stosunku ładowności Q p do jednostkowego zużycia paliwa ZP p. Krok 3 Określ maksymalną dozwoloną odległość D max pomiędzy dowolną parą punktów obsługi. Krok 4 Utwórz nową pustą listę L. Lista ta połączona będzie z nowotworzonym klastrem k. Pobierz największą wartość z listy P posortowanych pojazdów i przypisz ją do nowotworzonego klastra K. Następnie usuń ten pojazd z listy P. Krok 5 Pobierz pierwszy węzeł i z listy PO i umieść na końcu listy L. Na podstawie parametrów tego punktu (zapotrzebowania na przewóz q i ) zainicjuj parametry nowotworzonego klastra. Tym samym tymczasowe zapotrzebowanie na przewóz nowotworzonego klastra q k będzie równe zapotrzebowaniu na przewóz pierwszego punktu q i dołączonego do klastra K. q k = q i Krok 6 Usuń pierwszy węzeł i z listy PO i zapisz tę listę jako PO. Krok 7 Pobierz pierwszy węzeł i z listy PO i sprawdź, czy aktualne zapotrzebowanie na przewóz q k klastra (czyli wielkość zapotrzebowania na przewóz q i punktu i wybieranego z listy PO w poprzednim kroku + zapotrzebowanie na przewóz i -tego punktu q i ) nie przekracza ładowności pojazdu do niego przydzielonego. q k =q i +q i Q p Jeśli ładowność pojazdu została przekroczona, to usuń węzeł i z listy PO i powtórz krok 7. Jeśli ładowność pojazdu nie jest przekroczona, to przejdź do kroku 8. Krok 8 Sprawdź czy aktualny czas przebywania pojazdu w klastrze nie przekracza dopuszczalnego czasu pracy pojazdu T p w ciągu dnia: t 0i +t i +t ii +t i +t i 0 T p Jeśli czas ten jest przekroczony, to należy usunąć punkt i z listy PO i powrócić do kroku 7. Jeśli dopuszczalny czas pracy pojazdu nie został przekroczony, to przejdź do kroku 9. Krok 9 Sprawdź czy odległość punktu i do punktu i (zapisanego na liście L w kroku 5) nie przekracza dozwolonej maksymalnej odległości pomiędzy parą punktów: d i i D max Jeśli odległość pomiędzy punktami przekracza D max, to usuń punkt i z listy PO i powrócić do kroku 7. Jeśli odległość pomiędzy punktami nie przekracza D max, to przejdź do kroku 10. 340

Logistyka - nauka Krok 10 Umieść punkt i na końcu listy L i uaktualnij parametry dla klastra K. q k = q i + q i Krok 11 Jeżeli lista PO' jest pusta, to zapisz listę L definiującą klaster K. W przeciwnym przypadku wróć do kroku 7. Krok 12 Powtarzaj kroki od 4 do 11 do momentu, aż lista PO będzie pusta. Schemat blokowy algorytmu przedstawiono na rys. 1. START Utwórz listę punktów obsługi PO i posortuj rosnąco względem odległości jej elementów od bazy Usuń punkt i z listy PO Pobierz pierwszy punkt i z listy PO Utwórz listę pojazdów P i posortuj malejąco względem Q p /ZP p Sprawdź warunek q k =q i +q i Q p Określ D max Utwórz listę L. Pobierz największą wartość p z listy P i przypisz do klastra K Usuń pobrane p z listy P Sprawdź warunek t 0i+t i+t ii +t i +t i 0 T p Zainicjuj parametry nowego klastra K q k = q i Usuń pierwszy punkt i z listy PO i zapisz tę listę jako PO Sprawdź warunek d i i D max Zapisz listę L definiującą klaster K Sprawdź czy lista PO jest pusta Umieść punkt i na końcu listy L i uaktualnij parametry dla klastra K q k = q i + q i Sprawdź czy lista PO jest pusta KOC Rys. 1. Schemat blokowy algorytmu klasteryzacji Źródło: opracowanie własne. 341

Logistyka nauka 4. PODSUMOWA Przedstawiony w artykule algorytm klasteryzacji punktów obsługi można wykorzystać do rozwiązywania problemu trasowania pojazdów. Redukcja złożoności obliczeniowej za pomocą przedstawionego algorytmu pozwala na zastosowanie mniej skomplikowanych metod przeszukiwania przestrzeni rozwiązań (możliwych tras) rozpatrywanego problemu. Biorąc pod uwagę czas obliczeń oraz jakość uzyskiwanych rozwiązań, w przypadku dużych problemów trasowania, do wyznaczania kolejności obsługi punktów w poszczególnych klastrach można wykorzystać m.in. heurystyki konstrukcji lub ulepszania tras. Adknowledge: Praca naukowa finansowana ze środków budżetowych na naukę w latach 2010-2012 jako projekt badawczy". Projekt N N509 601839 pt. Metodyka kształtowania sieci transportowo-logistycznej w wybranych obszarach. LITERATURA [1] Ambroziak T., Jachimowski R.: Problematyka obsługi transportowej w jednoszczeblowym systemie dystrybucji. Logistyka 4/2011: 17-24, (2011) [2] Basley J.: Route First-Cluster Second Methods for Vehicle Routing. Omega, 11:403-408, (1983). [3] Bramel J., Simchi-Levi D.: A location based heuristic for general routing problems. Operations Research, 43:649-660, (1995). [4] Christofides N., Mingozzi A., Toth P.: The vehicle routing problem. In Combinatorial Optimization, Wiley UK, (1979). [5] Fisher, M., Jaikumar R.: A generalized assignment heuristic for vehicle routing. Networks 11:109 124, (1981). [6] Gillett, B., Miller L.: A heuristic algorithm for the vehicle dispatch problem. Operations Research 22:340 349, (1974). [7] Jacyna M.: Modelowanie i ocena systemów transportowych, Oficyna Wydawnicza PW, Warszawa, (2009). [8] Ryan D., Hjorring C., Glover F.: Extensions of the petal method for vehicle routing. Journal of Operational Research Society, 44:289-296, (1993). [9] Savelsbergh, M.W.P. Local search in routing problems with time windows. Annals of Operations Research, 4:285-305, (1985). CLUSTERING ALGORITHM FOR VEHICLE ROUTING PROBLEM Abstract The article characterizes the problem of service points clustering in vehicle routing problem. Selected clustering methods described in literature are reviewed. New heuristic service points clustering algorithm that reduces the computational complexity of the vehicle routing problem is presented. Keywords: vehicle routing problem, clustering, clustering algorithm 342