Graficzna prezentacja rozwiązania problemu marszrutyzacji (nieoptymalnego!). Zostały wyznaczone trzy marszruty (zobrazowane liniami: ciągłą, przerywaną i kropkowaną), takie że każda swój punkt początkowy i końcowy ma w bazie (żółty prostokąt „D”) oraz każda przebiega przez wszystkie punkty pośrednie (klientów – czerwone, zielone i niebieskie punkty).
Problem marszrutyzacji – problem decyzyjny polegający na wyznaczeniu optymalnych tras przewozowych dla pewnej ściśle określonej liczby środków transportu, której zadaniem jest obsłużenie zbioru klientów znajdujących się w różnych punktach przy zachowaniu ograniczeń. Kryterium optymalizacji jest całkowity koszt transportu (wyrażony odległościowo, cenowo lub czasowo). Istnieją również rozwinięcia problemu uwzględniające więcej niż jedno kryterium optymalizacji[1]. Problem marszrutyzacji należy do podstawowej problematyki zarządzania operacyjnego flotą środków transportu (rzadziej zarządzania na wyższym szczeblu).
Problem ten jest rozwinięciem takich problemów, jak:
oraz zaliczany jest do problemów NP-trudnych. Z tego względu zazwyczaj jest rozwiązywany przy pomocy metod heurystycznych. Algorytmy dokładne mogą być wykorzystywane tylko dla problemów o stosunkowo niewielkiej liczbie klientów (do 135)[2].
Problem został po raz pierwszy zaprezentowany przez G.B. Dantziga oraz R.H. Ramsera w 1959 roku w pracy The Truck Dispatching Problem opublikowanej na łamach czasopisma Management Science[3].
Klasyczne ujęcie problemu
W klasycznym ujęciu problem sformułowany jest w postaci grafu nieskierowanego gdzie oznacza zbiór wierzchołków, do których przypisane jest zapotrzebowanie, natomiast zbiór krawędzi, do których przypisane są koszty przewozu ewentualnie czas lub długość trasy.
Minimalizowana jest funkcja
gdzie:
– pojazd należący do zbioru jednorodnych (identycznych) pojazdów
– wierzchołki pomiędzy, którymi odbywa się przewóz,
– koszt przewozu pomiędzy wierzchołkami i
– zmienna binarna określająca, czy pomiędzy wierzchołkami i pojazd wykonuje przewóz.
Występowanie tylko jednej bazy początkowej i końcowej (miejsca, z którego pojazdy rozpoczynają/kończą przewóz), z której/do której wyjeżdża dokładnie jeden pojazd W przypadku wierzchołków pośrednich liczba pojazdów wjeżdżających jest równa liczbie pojazdów wyjeżdżających:
– dla bazy początkowej,
– dla bazy końcowej,
– dla wierzchołków pośrednich.
W przypadku, gdy istnieje połączenie pomiędzy punktami oraz to dopuszczalne są puste drogi.
Przypisanie każdemu klientowi dokładnie jednego pojazdu, który zaspokaja jego zapotrzebowanie (dostawy są niedzielone):
– warunek przypisania dokładnie jednego pojazdu,
– warunek niedzielonych dostaw.
Przykładowe rozwinięcia problemu
W rozwinięciach klasycznego problemu marszrutyzacji występować mogą dodatkowe ograniczenia. Przykładowo:
Warunek nieprzekroczenia pojemności poszczególnych środków transportu (problem CVRP).
gdzie:
– popyt przypisany do danego klienta,
– pojemność pojazdów.
Ograniczenia czasowe w problemach z oknami czasowymi (pojazd nie przybędzie do określonego wierzchołka przed wykonaniem poprzednich zadań w węzłach poprzedzających)
gdzie:
– czas rozpoczęcia obsługi klienta
– czas przejazdu pomiędzy a
– czas rozpoczęcia obsługi klienta
Rozwinięcia problemu
W literaturze występują również rozwinięcia klasycznego problemu marszrutyzacji. Należą do nich m.in.:
problemy uwzględniające niesymetryczność kosztów przewozu pomiędzy wierzchołkami,
problemy uwzględniające niehomogeniczność taboru,
problemy uwzględniające przejazdy drobnicowe (Less Than Truckload),
problemy uwzględniające ograniczenie maksymalnej długości trasy,
problemy umożliwiające ustalenie baz (jednej lub kilku), w których pojazdy zaczynają i kończą podróż (Multiple Depot VRP),
problemy umożliwiające dodanie baz pomocniczych (VRP with Satellite Facilities),
problemy umożliwiające ustalenie częstotliwości odbioru/dostawy ładunku,
problemy umożliwiające uwzględnienie okien czasowych (VRP with Time Windows) odbioru/wysłania towaru,
problemy wiążące problem marszrutyzacji z problemem kontroli zapasów u klientów,
problemy uwzględniające możliwość obsługi jednego klienta przez kilka pojazdów (Split Delivery VRP),
problemy w których kosztowa funkcja celu zastąpiona została innymi parametrami (np. czas wykonania zleceń, długość tras, ilość przewiezionego ładunku),
problemy umożliwiające zdefiniowanie kolejności odwiedzania poszczególnych miejsc oraz opcjonalnego odwiedzania niektórych punktów,
problemy uwzględniające możliwości zwrotów i wysyłki towarów przez klientów (VRP with Backhauls oraz VRP with Pick-Up and Delivery – problem rozwózkowo-zwózkowy),
problemy, w których warunki zostały ujęte stochastycznie (Stochastic VRP).
Problem marszrutyzacji a problemy „capacitated arc routing”
W problemie marszrutyzacji klienci stwarzający popyt na transport są zlokalizowani w wierzchołkach grafu. W rzeczywistości problem ten ma zastosowanie np. w tradycyjnych firmach przewozowych. Problemy, w których popyt jest zlokalizowany na krawędziach grafu należą do grupy problemów arc routing, a odpowiednikiem problemu marszrutyzacji jest problem CARP. W rzeczywistości sytuacje takie występują przykładowo podczas opracowywania marszrut dla zamiatarek drogowych, śmieciarek, czy też pługopiaskarek[4].
↑Gilbert Laporte: Fifty Years of Vehicle Routing. [w:] Prezentacja wygłoszona podczas Międzynarodowego Seminarium Transportowego [on-line]. transportation.put.poznan.pl, 2009-04-23. [dostęp 2009-05-10]. (ang.).
↑Luc Muyldermans. Routing, districting and location for arc traversal problems. „4OR: A Quarterly Journal of Operations Research”. 2, s. 169–172, czerwiec 2003. Springer-Verlag. DOI: 10.1007/s10288-003-0015-5. (ang.).
Bibliografia
JacekJ.ŻakJacekJ., Wielokryterialne wspomaganie decyzji w transporcie drogowym, Poznań: Wydawnictwo Politechniki Poznańskiej, 2005, ISBN 83-7143-591-6, OCLC69491746. Brak numerów stron w książce