Jak magazynier chodzi po alejkach: porównanie metod S-shape i return, wpływ układu hali oraz kolejność pozycji na liście kompletacyjnej w programie WMS.
Ta strona opisuje wyłącznie drogę magazyniera po alejkach: którędy i w jakiej kolejności przejść, żeby zebrać pozycje z jednej listy. Organizację pracy, czyli zlecenia pojedyncze, zbiorcze, strefy i fale, opisuje strona o strategii komisjonowania. Sposoby prowadzenia pracownika, od papieru po okulary, porównuje strona o systemach kompletacji, a przebieg całego zamówienia pokazuje kompletacja zamówień. Mapa sąsiednich stron jest w tabeli na końcu.
Które metody tras kompletacji stosuje się w magazynach?
Metody wyznaczania tras kompletacji wpływają na czas i koszt realizacji zamówień, bo przy kompletacji typu człowiek do towaru znaczną część czasu zajmuje sama droga między lokalizacjami. Wskaźniki, które tę drogę mierzą, opisuje strona o optymalizacji procesów magazynowych. Pracownik musi przejść alejki, żeby zebrać towar, a heurystyka jest prostą regułą, która mówi mu, którędy iść. Firmy porównują takie reguły, bo ich skuteczność zależy od układu hali i długości listy, a nie od samej nazwy metody.
Literatura opisuje wszystkie metody na tym samym modelu magazynu. Jest to hala z równoległymi alejkami i korytarzem poprzecznym z przodu i z tyłu. Ma jedno miejsce startu i powrotu, zwykle przy rampie lub strefie pakowania. Magazynier startuje z listą, zbiera wszystkie pozycje i wraca. Metoda rozstrzyga tylko, które alejki odwiedzić i z której strony do nich wejść. To, skąd wziąć towar i z której partii, ustala osobny wybór źródła, opisany na stronie o kompletacji towarów.
Opisane metody tworzą cztery grupy:
- Proste reguły przejścia - S-shape i return, które nie wymagają żadnych obliczeń.
- Reguły z podziałem alejki - midpoint i largest gap, które wchodzą do alejki z obu stron.
- Reguły mieszane - composite i combined, które dla każdej alejki wybierają tańszy wariant.
- Trasa optymalna - najkrótsza możliwa droga, liczona algorytmem.
Ta strona dotyczy kompletacji, w której człowiek idzie do towaru. Gdy zbiera robot albo towar jedzie do stanowiska pracownika, droga w alejce przestaje być problemem pracownika; ten wariant opisuje strona o robotyce w magazynie.
Jak działa heurystyka S-shape, czyli serpentyna?
Przy serpentynie magazynier przechodzi całą długość każdej alejki, w której jest choć jedno pobranie, a alejki bez pobrań pomija. Na końcu alejki przechodzi korytarzem poprzecznym do następnej i wraca nią w przeciwnym kierunku, więc jego droga układa się w literę S. Gdy liczba alejek z pobraniami jest nieparzysta, ostatnią z nich zbiera się inaczej: magazynier wchodzi tylko do najdalszej pozycji i wraca tą samą drogą, a potem idzie korytarzem do punktu startu. Tak metodę opisują Engels i współautorzy.
Zaletą jest prostota. Trasę łatwo narysować na planie hali i łatwo zapamiętać, a prosta reguła zmniejsza liczbę pomyłek przy pobraniach, o czym piszą Sabo-Zielonka i Tarczyński. Według Redmera to najczęściej stosowana metoda w praktyce. Najlepiej opisuje ją model prostokątnej strefy kompletacji z równoległymi alejkami.
Wada wychodzi na jaw przy krótkich listach. Jeśli w alejce leży jedna pozycja tuż przy wejściu, magazynier i tak przechodzi całą alejkę, bo reguła nie patrzy na położenie pozycji. Serpentyna zyskuje wtedy, gdy pobrań jest dużo i w większości alejek trzeba przejść prawie całą długość. W symulacji Tarczyńskiego o wyniku decydowała średnia liczba pozycji na alejkę; progi z tej pracy podaje sekcja o układzie magazynu.
Czym różni się metoda return od midpoint?
W metodzie return magazynier wchodzi do alejki z korytarza z przodu i idzie do najdalszej pozycji z listy, zbierając po drodze pozostałe. Potem wraca tą samą drogą do korytarza i przechodzi do następnej alejki z pobraniami. Reguła jest najprostsza z opisanych i jako jedyna z podstawowych metod nie wymaga korytarza poprzecznego z tyłu hali.
Słabością jest powrót: pozycja na końcu alejki oznacza dwukrotne przejście całej jej długości, a pozycje w głębi wielu alejek kosztują dużo. W symulacjach Tarczyńskiego return był najgorszą z heurystyk, natomiast pozostałe heurystyki zwykle niewiele ustępowały trasie optymalnej. Return dawał dobre wyniki dopiero wtedy, gdy szybko rotujące towary stały w każdej alejce blisko korytarza, przy którym leży punkt startu, jak pokazali Tarczyński i Jakubiak.
Midpoint dzieli każdą alejkę na pół. Magazynier idzie korytarzem z przodu i do każdej alejki wchodzi tylko do jej środka, zbierając pozycje z przedniej połowy. Potem wraca korytarzem z tyłu i zbiera pozycje z tylnej połowy od drugiej strony. W opisie Engelsa i współautorów pierwszą i ostatnią alejkę z pobraniami przechodzi się w całości. Podział na pół nie zależy od położenia pozycji, więc jedna pozycja tuż za środkiem alejki oznacza wejście od tyłu.
Return potrzebuje zatem jednego korytarza, a midpoint dwóch, ale w zamian skraca wejścia do alejek. Tarczyński porównał też midpoint z serpentyną: przy małej liczbie pozycji na alejkę wygrywa midpoint, przy dużej serpentyna.
Jak wygląda ta sama lista na serpentynie i w metodzie return?
Rysunek zestawia obie metody na jednym planie. Hala ma pięć alejek po 20 m, a odstęp między nimi wynosi 3 m. Magazynier startuje i kończy przy pierwszej alejce. Lista ma cztery pozycje w alejkach 1, 2, 4 i 5, a alejka 3 jest pusta. Wszystkie wartości są ilustracyjne i nie pochodzą z pomiarów w żadnym magazynie.
Serpentyna pokonuje cztery alejki w całości i dopiero na końcu wraca korytarzem, więc przy tak krótkiej liście przechodzi całe alejki, w których leży po jednej pozycji. Return wchodzi do alejek tylko tak głęboko, jak trzeba, i kończy na 90 m. Przy dłuższej liście obraz się odwraca, co pokazuje druga lista z 12 pozycjami w pięciu alejkach.
| Lista | S-shape | Return | Midpoint | Largest gap |
|---|---|---|---|---|
| 4 pozycje w 4 alejkach (rysunek) | 104 | 90 | 84 | 84 |
| 12 pozycji w 5 alejkach | 138 | 192 | 134 | 134 |
W obu przykładach midpoint i largest gap dają ten sam wynik, bo pozycje leżą tak, że połowa alejki i największa luka wyznaczają to samo wejście. Różnica pojawia się przy nierównym rozłożeniu pozycji w alejce. Rachunek liczy tylko drogę po alejkach i korytarzach, bez czasu pobrania i zawracania wózka, a trasy optymalnej nie obejmuje, więc tabela pokazuje wyłącznie kolejność czterech metod w tych dwóch przypadkach.
Czym largest gap różni się od midpoint i kiedy wypada lepiej?
Largest gap, czyli największa luka, też wchodzi do alejki z obu stron, ale dzieli ją nie w połowie, tylko w miejscu największego odstępu między sąsiednimi pozycjami. Za lukę liczy się także odcinek od korytarza do pierwszej albo ostatniej pozycji. Magazynier pomija tę lukę, więc nie przechodzi najdłuższego pustego odcinka alejki. Metoda jest wariantem midpointu, a różnicę widać wtedy, gdy pozycje leżą skupione w jednym końcu alejki.
Ograniczeniem jest to, że reguła musi znać położenie każdej pozycji w alejce, a nie tylko numer alejki. System musi więc wiedzieć, w jakiej kolejności lokalizacje stoją w alejce, czyli mieć wiernie odwzorowany układ hali. Na samym kodzie rzędu ta metoda się nie oprze.
Wyniki badań są zgodne co do kolejności. Petersen porównał sześć polityk trasy i stwierdził, że largest gap oraz composite dają istotnie krótsze trasy niż prostsze heurystyki, a trasa optymalna istotnie krótsze niż każda heurystyka. W symulacji Tarczyńskiego largest gap była najlepszą z heurystyk, a prostszy w realizacji midpoint wypadł tylko nieco gorzej.
Zamówienia sklepu internetowego mają zwykle kilka pozycji (por. program WMS dla e-commerce), więc na jedną alejkę przypada średnio mniej niż jedno pobranie. W takich warunkach metody dzielące alejkę, czyli midpoint i largest gap, mają przewagę nad serpentyną; wynika to z progów Tarczyńskiego podanych w sekcji o układzie magazynu.
Czym są composite, combined i trasa optymalna?
Composite łączy return z serpentyną: w każdej alejce wybiera ten wariant, który skraca drogę, czyli przejście na wylot albo wejście i powrót. Combined idzie krok dalej. Dla każdej alejki liczy najlepszy wybór programowaniem dynamicznym, a do wyboru ma między innymi przejście całej alejki albo tylko jej części. Tak opisuje combined Roodbergen na stronie poświęconej wyznaczaniu tras w magazynach.
Trasa optymalna to najkrótsza możliwa droga przez wszystkie pozycje z listy. Ratliff i Rosenthal opisali w 1983 roku algorytm wielomianowy dla prostokątnej hali, a Roodbergen i de Koster rozszerzyli go w 2001 roku na magazyn z korytarzem środkowym.
Trasy optymalnej nie da się jednak zastosować bez obliczeń, więc liczy ją system WMS, czyli program klasy systemu zarządzania magazynem, a nie magazynier. Engels i współautorzy zwracają uwagę, że w praktyce wciąż stosuje się heurystyki, bo trasa optymalna bywa nieintuicyjna i może mylić pracowników, co kończy się błędami i dłuższym zbieraniem. W symulacjach Tarczyńskiego różnica między dobrą heurystyką a optimum była zwykle niewielka, więc zysk z trasy optymalnej trzeba policzyć dla własnej hali, a nie zakładać z góry.
Jak układ magazynu wpływa na wybór metody trasy?
Ta sama metoda daje inną drogę w hali z dziesięcioma krótkimi alejkami niż w hali z trzema długimi. Tabela zbiera cechy układu, które badania wskazują jako istotne, i pokazuje, co z nich wynika dla wyboru metody.
| Cecha układu | Co zmienia w trasie | Co wykazały badania |
|---|---|---|
| Liczba alejek | Im więcej alejek, tym mniej pozycji z listy przypada na jedną alejkę | Tarczyński: midpoint zyskuje przewagę nad serpentyną wraz ze wzrostem liczby alejek i spadkiem liczby pozycji. Engels i współautorzy: przy serpentynie korzystna jest parzysta liczba alejek, bo nieparzysta wymusza powrót w ostatniej |
| Długość alejki | Długa alejka kosztuje tym więcej, im mniej pozycji w niej leży | Wynika z zasady działania: serpentyna przechodzi całą długość, a metody z podziałem alejki tylko potrzebny jej odcinek |
| Korytarze poprzeczne | Serpentyna, midpoint, largest gap i combined korzystają z korytarza z tyłu, a return nie | Roodbergen i de Koster rozszerzyli algorytm trasy optymalnej na magazyn z korytarzem środkowym |
| Położenie punktu startu | Długość dojścia do skrajnych alejek zależy od tego, czy start jest w rogu, czy pośrodku frontu | Petersen: kształt hali i położenie punktu wpływają na efektywność zbierania. Redmer: dla serpentyny położenie punktu było mniej ważne niż strategia składowania |
| Sposób składowania | Szybkie indeksy blisko startu skracają drogę niezależnie od metody | Tarczyński i Jakubiak: midpoint, return, largest gap i combined wypadały najlepiej, gdy szybkie towary stały w każdej alejce blisko korytarza ze startem, a serpentyna, gdy skupiono je w alejkach najbliższych startu |
Najlepiej zbadany jest wpływ liczby pozycji na alejkę. W symulacji Tarczyńskiego hala miała jeden blok z kilkunastoma alejkami i punkt startu w rogu. Towar składowano losowo. Gdy z jednej alejki trzeba było zebrać średnio mniej niż 1,25 pozycji, lepiej wypadał midpoint. Gdy średnia przekraczała 1,67, szybszą drogę dawała serpentyna, a pomiędzy tymi wartościami wyniki obu metod były zbliżone. Progi dotyczą symulowanej hali i nie są uniwersalne, więc dla własnego magazynu trzeba je sprawdzić na własnych listach.
Rozmieszczenie towaru wpływa na drogę silniej niż sama metoda. W symulacjach Redmera brak strategii składowania, czyli składowanie losowe, wydłużał ścieżki serpentyny średnio o połowę, a według Tarczyńskiego i Jakubiaka dobór składowania i heurystyki znaczy więcej niż podział hali na strefy. Dlatego najpierw układa się towary, co opisuje strona o rozmieszczeniu towarów w magazynie, a dopiero potem poprawia trasę.
Którą metodę wybrać dla własnego magazynu?
Tabela zestawia sześć metod pod kątem zasady działania i ograniczeń. Progi liczbowe pochodzą z symulacji Tarczyńskiego i dotyczą hali z jednym blokiem alejek.
| Metoda | Zasada | Kiedy dobra | Ograniczenia |
|---|---|---|---|
| S-shape (serpentyna) | Alejki z pobraniami przechodzi się na wylot, naprzemiennie od przodu i od tyłu | Długie listy, ponad 1,67 pozycji na alejkę; łatwa nauka | Całą alejkę przechodzi się nawet dla jednej pozycji; potrzebny korytarz z tyłu |
| Return | Wejście do najdalszej pozycji i powrót do korytarza z przodu | Hale z korytarzem tylko z przodu; szybkie towary blisko korytarza ze startem | Najgorsza z heurystyk w symulacji Tarczyńskiego; głębokie alejki przechodzi się dwa razy |
| Midpoint | Przód alejki zbiera się od frontu do środka, tył od drugiej strony | Krótkie listy, mniej niż 1,25 pozycji na alejkę | Podział na pół nie zależy od położenia pozycji; potrzebny korytarz z tyłu |
| Largest gap | Pomija się największą lukę w alejce, wchodząc z obu stron | Rozproszone pobrania; najlepsza z heurystyk w symulacji Tarczyńskiego | Wymaga znajomości położenia każdej pozycji w alejce |
| Composite i combined | Dla każdej alejki wybiera się tańszy ruch: przejście na wylot albo wejście i powrót | Gdy trasę liczy system, a listy są zmienne | Wymagają oprogramowania; trasa mniej oczywista dla pracownika |
| Trasa optymalna | Najkrótsza droga przez wszystkie pozycje listy | Wzorzec do porównań albo trasy liczone przez system dla każdej listy | Wymaga obliczeń; bywa nieintuicyjna i może mylić pracowników |
Przed wyborem warto odpowiedzieć na cztery pytania:
- Ile alejek ma hala i jak są długie - od tego zależy koszt przejścia całej alejki dla jednej pozycji.
- Ile pozycji przypada średnio na alejkę - tę wartość porównuje się z progami z badań.
- Czy hala ma korytarz z tyłu i gdzie leży start - bez korytarza z tyłu zostaje return albo trasa liczona dla jednego wejścia.
- Kto prowadzi magazyniera - człowiek z planem w głowie potrzebuje reguły prostej jak serpentyna, a ekran w aplikacji magazynowej na Androida może pokazywać trasę liczoną.
Jak łączenie zamówień w jedną listę zmienia wybór metody?
Lista pobrań nie musi pochodzić z jednego zamówienia. Gdy system łączy kilka zamówień w jedną listę zbiorczą, liczba pozycji rośnie, a na jedną alejkę przypada ich średnio więcej. Z progów Tarczyńskiego wynika, że taka zmiana przesuwa przewagę w stronę serpentyny, bo przy ponad 1,67 pozycji na alejkę wygrywała ona z midpointem. Przy małych zamówieniach realizowanych pojedynczo lista jest krótka i lepiej wypadają metody z podziałem alejki.
To, czy łączyć zamówienia, jest decyzją organizacyjną, którą omawia strona o strategii komisjonowania. Zbieranie zbiorcze, czyli sumowanie ilości z kilku zamówień i rozdział sztuk na stanowisku sortowania, opisuje program do kompletacji. Dla tej strony wynika z tego jedno: przy zmianie sposobu tworzenia list trzeba ponownie ocenić metodę trasy, bo jej wybór opiera się na liczbie pozycji na alejkę.
Jak WMS ustala kolejność pozycji na liście kompletacyjnej?
Strony tego serwisu potwierdzają, jak Studio WMS.net układa pozycje na liście, ale nie opisują wyboru heurystyki. Po zwolnieniu zlecenia ZWZ jego pozycje tworzą listę kompletacyjną w kolejności lokalizacji w hali, więc magazynier nie zawraca. Opisują to strony o procesie kompletacji i o programie do kompletacji. O tym, które zlecenie trafia na listę wcześniej, decyduje pole priorytetu w nagłówku zlecenia, a zasady opisuje strona o kolejności kompletacji. Przy pozycji z kilku miejsc terminy ważności wybierają lokalizacje, a trasa po hali ustala tylko kolejność pobrań.
Kolejność wynika z kodu lokalizacji. Kod ma postać A.04.2 i zaczyna się od rzędu. Dalej stoją numer kolumny i poziom regału. Widok Wizualizacja w Studio WMS.net pokazuje rzędy jako zakładki od A do I, a w każdym z nich siatkę lokalizacji z kodami.
Dlatego numeracja ma znaczenie dla drogi. Strona o lokalizacjach w magazynie zaleca, żeby numery rosły wzdłuż trasy magazyniera i żeby człony kodu miały zero wiodące, bo wtedy lista posortowana po kodzie układa się w kolejności regałów, a 04 i 10 stoją po kolei. Sortowanie po kodzie samo nie jest żadną z opisanych metod: odwzorowuje to, jak ponumerowano miejsca. Czy droga przypomina serpentynę, czy return, zależy więc od schematu numeracji.
Przy każdej pozycji magazynier potwierdza pobranie skanem lokalizacji i towaru, do czego służy czytnik kodów. Studio WMS.net tworzy SoftwareStudio (profil firmy na LinkedIn). Podczas pokazu warto zapytać o cztery rzeczy:
- Kolejność listy - czy pozycje układają się wyłącznie po kodzie lokalizacji.
- Kierunek numeracji - czy numery w kolejnych alejkach rosną naprzemiennie, czy zawsze od frontu.
- Wybór metody - czy system pozwala wskazać heurystykę trasy, czy opiera się na samej numeracji.
- Pomiar drogi - czy da się porównać kolejność z drogą faktycznie przebytą.
Jak sprawdzić na własnych danych, czy zmiana trasy się opłaca?
Przed zmianą metody trzeba wiedzieć, ile wynosi droga dziś. Najprościej mierzyć przebytą drogę albo liczbę zatrzymań na zlecenie oraz czas od zwolnienia zlecenia do ostatniego pobrania. Dopiero ten punkt odniesienia pozwala ocenić, czy nowa reguła coś zmieniła.
Potem można policzyć trasy dla historycznych list na planie hali. Badacze robią to w symulatorach, na przykład w programie Warehouse Real-Time Simulator, którego użyto w kilku pracach z tabeli źródeł. Dla jednej hali wystarczy arkusz, który dla każdej listy liczy drogę według dwóch metod i porównuje sumy; rysunek wyżej pokazuje, jak wygląda taki rachunek dla jednej listy.
Wynik trzeba czytać ostrożnie. Opisane badania dotyczą uproszczonych hal z jednym blokiem alejek, a w prawdziwej hali wózek zawraca i czeka na innych pracowników. Dobry wynik symulacji jest więc powodem do próby w jednej strefie, a nie do zmiany w całym magazynie. Zmiana metody to także zmiana nawyków, więc wymaga szkolenia pracowników; im prostsza reguła, tym krótsze szkolenie. Po kilku tygodniach warto zmierzyć ten sam wskaźnik jeszcze raz, już po przyzwyczajeniu się zespołu do nowej reguły.
Którą stronę o kompletacji otworzyć dalej?
Serwis ma kilka stron o kompletacji i każda zajmuje się innym wycinkiem tematu. Ta strona dotyczy drogi po alejkach, a tabela pokazuje, do czego służą pozostałe.
| Strona | Czym się zajmuje | Kiedy ją otworzyć |
|---|---|---|
| Metody tras kompletacji (ta strona) | Droga magazyniera po alejkach i układ hali | Gdy skracasz drogę zbierania |
| Strategia komisjonowania | Organizacja pracy: zlecenia pojedyncze i zbiorcze, strefy, fale | Gdy wybierasz sposób dzielenia zleceń |
| Systemy kompletacji | Sposoby prowadzenia magazyniera, od papieru po okulary AR | Gdy wybierasz technikę zbierania |
| Kompletacja zamówień | Cały przebieg od zlecenia do paczki | Gdy chcesz zobaczyć proces w całości |
| Kompletacja towarów | Wybór źródła i rezerwacja towaru z kilku lokalizacji | Gdy zapas jednej pozycji leży w kilku miejscach |
| Proces kompletacji | Wpływ kompletacji na pracę magazynu i błędy w zbieraniu | Gdy szukasz źródeł pomyłek we własnym magazynie |
| Program do kompletacji | Ścieżka zbierania na terminalu z Androidem | Gdy oceniasz, co zobaczy magazynier na ekranie |
| Strefa kompletacji | Układ miejsc zbiórki i rezerwy w hali | Gdy projektujesz układ miejsc zbiórki |
Z jakich prac pochodzą opisane metody i wyniki?
Definicje metod i wszystkie wyniki porównań pochodzą z poniższych prac; strona nie podaje żadnych liczb oszczędności spoza nich. Wyniki symulacji dotyczą opisanych w pracach hal i nie przenoszą się automatycznie na każdy magazyn.
| Praca | Co z niej wzięto |
|---|---|
| G. Tarczyński, Analysis of the impact of storage parameters and the size of orders on the choice of the method for routing order picking, Operations Research and Decisions 4/2012, tekst pracy | Progi 1,25 i 1,67 pozycji na alejkę; kolejność heurystyk względem trasy optymalnej |
| G. Tarczyński, M. Jakubiak, Wpływ kompletacji strefowej, składowania towarów i metody wyznaczania trasy magazyniera na efektywność procesu kompletacji zamówień, Optimum. Studia Ekonomiczne 3(87)/2017, tekst pracy, strona czasopisma | Dopasowanie metody trasy do sposobu składowania |
| A. Sabo-Zielonka, G. Tarczyński, Porównanie czasów kompletacji zamówień dla różnych sposobów wyznaczania trasy magazynierów na przykładzie dużego centrum logistycznego, Ekonometria 2(44)/2014, tekst pracy, kopia w Bibliotece Nauki | Studium przypadku porównujące metody trasy na danych rzeczywistych |
| A. Sabo-Zielonka, G. Tarczyński, Adaptacja heurystyki S-shape na potrzeby wyznaczenia trasy przejścia w niestandardowym układzie strefy kompletacji zamówień, Prace Naukowe Uniwersytetu Ekonomicznego we Wrocławiu 446/2016, tekst pracy | Łatwość wdrożenia heurystyk i mniejsza liczba pomyłek |
| A. Redmer, Analysis of the length of order-picking paths determined using the S-shape method, LogForum 16(1)/2020, tekst pracy | Wpływ strategii składowania i położenia punktu startu na długość ścieżek |
| T. Engels, I. Adan, O. Boxma, J. Resing, An exact analysis and comparison of manual picker routing heuristics, 2022, arXiv | Opis serpentyny, return, midpointu i largest gap na wspólnym modelu hali |
| E. Boz, N. Aras, Order picker routing problem in a single block warehouse, Journal of Turkish Operations Management 6(1)/2022, tekst pracy | Tło: kompletacja jako problem komiwojażera |
| C. G. Petersen, An evaluation of order picking routeing policies, International Journal of Operations and Production Management 17(11)/1997, DOI | Porównanie sześciu polityk trasy, wpływ kształtu hali i punktu startu |
| K. J. Roodbergen, R. de Koster, Routing order pickers in a warehouse with a middle aisle, European Journal of Operational Research 133(1)/2001, opis; strona autora o metodach trasy | Algorytm trasy optymalnej dla magazynu z korytarzem środkowym; opis combined |
| H. D. Ratliff, A. S. Rosenthal, Order-picking in a rectangular warehouse: a solvable case of the traveling salesman problem, Operations Research 31(3)/1983; R. W. Hall, Distance approximations for routing manual pickers in a warehouse, IIE Transactions 25(4)/1993 | Algorytm trasy optymalnej oraz przybliżenia długości tras (cytowane za pracami wyżej) |