Trochę wody dla ochłody
Jeden z największych dostawców wody mineralnej w Polsce codziennie staje przed wyzwaniem zaspokojenia spragnionych klientów. Woda jest elementarnym składnikiem naszych organizmów, a uzupełnianie jej zasobów – podstawową koniecznością. Najczęściej czystą, zdrową wodę pozyskujemy w prosty sposób – kupując ją w sklepie. Nie zastanawiamy się nad tym, w jaki sposób się tam znalazła.
Półki sklepowe nie zapełniają się jednak same. Proces dystrybucji towaru do sklepów, z pozoru prosty, w rzeczywistości jest często skomplikowanym zadaniem logistycznym. W tej sferze GIS ma wiele do powiedzenia. Istnieje jeden zasadniczy cel całego procesu logistyki – optymalizacja. Aby go osiągnąć, należy poznać odpowiedzi na następujące pytanie: jak, którędy, w jakich godzinach i dokąd przetransportować towar, aby koszty jego dostarczenia były zminimalizowane? Tu zaczyna się przygoda z GIS-em.
Określenie zadania
Przestrzenne lokalizowanie miejsc, obiektów i zdarzeń jest podstawowym zadaniem GIS-u. GIS zajmuje się również wyznaczaniem optymalnych tras pomiędzy określonymi punktami. W oprogramowaniu Esri jest ono realizowane w rozszerzeniu Network Analyst.
„Dzień dobry. Chciałbym, aby wytyczyli państwo trasy przejazdów dla moich przedstawicieli tak, aby przejechali oni jak najmniej kilometrów i zarazem odwiedzili wszystkich klientów” – taką prośbę usłyszała firma Esri Polska od jednego z wiodących producentów wody mineralnej w Polsce i postanowiła ją zrealizować. Tego typu zadanie wiąże się z analizą wielu czynników jednocześnie, co znacznie ją komplikuje. Przydatność wyników analizy i ich implementacja w procesie dystrybucji towarów w dużej mierze zależą od doboru analizowanych danych. Aby sprostać wymaganiom klienta, należało uwzględnić następujące wytyczne:
– trasy muszą być wyznaczane dla dowolnej liczby pracowników;
– trasy muszą powstawać na nowo każdego dnia, dla każdego kierowcy z osobna, z miesięcznym wyprzedzeniem,
– każdy klient ma przypisaną liczbę odwiedzin w ciągu najbliższych 30 dni, wykluczając weekendy;
– należy uwzględnić zarówno dostawy wody do klientów, jak i odbieranie wody od niektórych z nich, co ma duże znaczenie przy szacowaniu wielkości samochodu i jego stanu załadowania na różnych etapach trasy.
Poza wymienionymi wyżej wytycznymi należało również uwzględnić przerwy w czasie pracy kierowców, czas załadunku, rozładunku i niejednokrotnie użycie wyspecjalizowanych pojazdów oraz niedogodności występujące na trasach przejazdu. Parametrów było wiele. Największym wyzwaniem było jednak stworzenie kompleksowego narzędzia, które nie tylko pozwala na uzyskanie oczekiwanych wyników przy użyciu minimalnej liczby operacji, lecz także jest proste w obsłudze.
Dane i metodyka analizy
Analizowane dane obejmowały:
- a) bazę sieci dróg, na których będą wyznaczane trasy;
- b) dane o klientach zleceniodawcy zapisane w pliku Excel;
- c) dane o punktach dystrybucji wody.
Przed przystąpieniem do realizacji zamówienia konieczna była obróbka danych wejściowych, co jest obowiązkowym etapem każdej analizy GIS. Informacjom zawartym w plikach .xls należało nadać postać geometryczną, a następnie uporządkować zasoby atrybutowe. Najwięcej wysiłku wymagały wyliczenia dotyczące okien czasowych. Wynikało to z faktu, że każdy sklep naszego klienta musiał być odwiedzony kilka razy w miesiącu. Wynikiem była wizualizacja dostępnych danych (rys. 1). Po ich krótkiej analizie należało dobrać właściwe narzędzie, które mogłoby poradzić sobie z zadanym problemem. Idealnym algorytmem okazał się Vehicle Routing Problem (Problem wyznaczania tras pojazdów). Jest to komponent rozszerzenia Network Analyst. Jako jeden z sześciu umożliwia wytyczanie tras przy uwzględnieniu różnych parametrów. VRP, bo tak często opisuje się go w środowisku osób zajmujących się tą problematyką, uwzględnia w analizie czynniki o charakterze logistycznym, np. czas załadunku, rozładunku, przerwy kierowców, specyfikę pojazdów, jakimi poruszają się przedstawiciele, i wiele innych.
Ponieważ w analizie wykorzystywano wiele zmiennych, proces geoprzetwarzania wymagał działania kilkunastu następujących po sobie narzędzi. W celu automatyzacji przebiegu procesu analizy zbudowano model przy użyciu ModelBuildera. Ważna kwestia dotyczyła samego algorytmu. Kluczowe było pole (kolumna w tabeli atrybutów), mówiące o tym, do których sklepów przypisany jest dany przedstawiciel. Fakt ten narzucał pewien schemat działania modelu i ułożenia narzędzi w taki sposób, aby rozwiązywały trasy pod dyktando przedstawicieli. Rezultat takiego podejścia stanowią trasy wygenerowane dla każdego z przedstawicieli osobno. Po wyznaczeniu tras przez aplikację często okazywało się, że konieczne jest wprowadzenie niewielkich zmian, np. kolejności odwiedzin poszczególnych punktów czy przesunięcie wizyty u danego klienta na inny dzień i wprowadzenie takiej możliwości w ostatecznej aplikacji. Aby rozwiązać ten problem, rozbudowaliśmy aplikację o możliwość modyfikacji danych i ponowne wyznaczenie trasy. Klient, zgodnie z życzeniem, otrzymuje plik .xls, z którego wynika, kiedy i w jakiej kolejności poszczególni pracownicy odwiedzają konkretne sklepy, z uwzględnieniem sekwencji oraz godzin wizyt. Wyznaczone trasy mogą być ponadto prezentowane w postaci mapy na ekranach komputerów dla osób, które będą miały dostęp do wygenerowanych zasobów. Żądaną funkcjonalność analizy zamknięto w czterech modelach.
- Wczytywanie danych.
- Wyznaczenie trasy.
- Modyfikacja danych i ponowne wyznaczenie tras z poprawkami.
- Eksport danych do pliku o formacie xls / xlsx.
Wyniki najbardziej cieszą
Zalety wypracowanego schematu działań są liczne. Stworzone modele pozwoliły na wyznaczanie zoptymalizowanych tras przejazdów (rys. 2). Wiemy zatem, którędy jechać, żeby pokonać wskazaną trasę przy jak najmniejszych kosztach, czyli odległości. Aplikacja ArcMap posiada również dodatkowe funkcje. Jeśli powierzone przedstawicielowi zadanie odwiedzenia pewnej liczby klientów było niewykonalne ze względów czasowych, to aplikacja pokaże nam, ile czasu będziemy spóźnieni u konkretnego klienta lub ile czasu będziemy na niego czekać. Jest to istotne, gdyż daje nam możliwość podjęcia decyzji czy i jak zmieniać nasze zasoby i możliwości pracowników. Mamy trasy – fizycznie wygenerowane linie, po których kierowcy mogą się nawigować. Udało nam się uzyskać schemat działań poszczególnych kierowców, znamy harmonogram ich wizyt u klientów na każdy dzień, ale przede wszystkim o tym fakcie możemy poinformować ich samych, by wykluczyć niepożądane puste przejazdy. Wyniki występują zatem w dwóch postaciach. Pierwsza to forma tabelaryczna, gdzie w poszczególnym rekordzie (kliencie do odwiedzenia) są zapisane data, godzina i sekwencja, w jakich zostanie on odwiedzony., a także dane przedstawiciela, który został przypisany do tego zadania. Druga forma ma charakter geometryczny – zwizualizowane są punkty, do których pracownik musi dotrzeć, oraz trasy, po których jazda będzie się odbywała najmniejszym kosztem.
Dodatkowa funkcjonalność
Spójrzmy na opisane zagadnienie z drugiej strony. Dzisiejszy GIS to nie tylko tabele przestrzenne w profesjonalnych bazach danych, do których dostęp mają jedynie wysoko wykwalifikowani specjaliści. Obecnie dąży się do publikacji i udostępniania wyników analiz jak najszerszemu gronu zainteresowanych osób. Analogiczny trend obowiązuje nie tylko w świecie GIS. Informacje są upraszczane i przedstawiane w taki sposób, aby były zrozumiałe dla wszystkich. Z tego względu i my postanowiliśmy publikować dane na szeroko dostępnej platformie Esri. W tym celu stworzyliśmy specjalną aplikację. Czy taki tok postępowania ma znaczenie dla naszego potencjalnego klienta? Zastanówmy się.
Operator GIS wykonuje analizę przy użyciu naszego oprogramowania. Następnie publikuje wyniki swoich prac i w ciągu kilku chwil udostępnia je potencjalnie zainteresowanym. Czyli pracownicy wiedzą, którego dnia, jaką drogę mają do pokonania, jak planować trasę i jak zorganizować sobie czas. Nawet jeśli analiza zajmie kilka godzin (zależy to od mocy przerobowych oraz liczby danych do obróbki), to wyniki harmonizują pracę kierowców na cały miesiąc. W ten sposób nie tylko uzyskujemy pożądany wynik, lecz także mamy czas na zmiany, usunięcie niedogodności oraz odpowiednie zaplanowanie urlopów poszczególnych pracowników. Jakie korzyści czerpią z tego kontrahenci?
Takie rozwiązanie daje dystrybutorom możliwość monitoringu, w jakim dniu i w jakich godzinach powinni być na stanowisku, aby móc przyjąć towar. Wszystkie informacje udostępnione są pod jednym, wskazanym przez specjalistę, linku url aplikacji. Znacznie ułatwia to komunikację pomiędzy kontrahentami, zastępując w ten sposób żmudną i czasochłonną komunikację mailową lub telefoniczną. Ponadto wykorzystanie aplikacji daje również szansę i możliwość wprowadzenia zmian i dostosowania harmonogramu do bieżących potrzeb. Aplikacja ułatwia też pracę analityków czy menedżerów zespołu kierowców. W przypadku wykorzystania aplikacji Collector przez kierowców mają oni możliwość śledzenia pozycji pracowników na bieżąco na jednym monitorze, co pozwala na szybką reakcję w przypadku wystąpienia jakichkolwiek niedogodności, takich jak np. konieczność nagłego wyznaczenia osoby do realizacji zadań nieprzewidzianych wcześniej w harmonogramie. Dodatkowo przy wykorzystaniu aplikacji Operations Dashboard istnieje możliwość kontroli postępów pracy poszczególnych kierowców oraz raportowania konkretnych, wybranych wartości (rys. 3).
Podsumowanie
Wszystko zaczęło się od konkretnego problemu: jak zoptymalizować trasę, aby zminimalizować koszty. Jest to ewidentnie pytanie o przestrzeń, dlatego nie ma powodu, żeby w odpowiedzi nie posiłkować się systemem informacji geograficznej. Podejście do całości z wykorzystaniem takiej platformy daje nam możliwość szerszego spojrzenia na zagadnienie. Samo rozwiązanie staje się jednym z etapów całego procesu. Wszyscy mamy poczucie, że zadanie można uznać za zakończone wówczas, gdy widzimy czytelną i prostą w obsłudze mapę, niezależnie od złożoności procesu jej tworzenia. Do tego dochodzi element interakcyjności, który pozwala jedną trasę przedstawić na tak wiele sposobów, że będzie ona interesująca dla specjalisty GIS, menedżera, przedstawiciela handlowego czy wreszcie klienta.