W tym fragmencie pomocy przedstawiono kolejny, kompletny przykład obliczeń dla TSP, rozpoczynając od wprowadzenia danych a kończąc na wydruku tabeli z odległościami i czasami przejazdów. Zestaw danych to 60 lokalizacji w Poznaniu. Przykład ponownie pokazuje sposób pracy z programem i jego możliwości. Tym razem program korzystał z map OpenRouteService.

Po uruchomieniu programu należy wybrać opcję Oblicz lub odpowiadającą jej ikonkę . Na ekranie pojawia się okienko dialogowe 'Typ obliczeń i parametry', w którym należy wybrać zakładkę 'Dane'.



W zakładce 'Dane' wybieramy przycisk TSP, który powoduje wyświetlenie kolejnego okienka dialogowego 'Dane TSP'. W okienku tym mamy do wyboru trzy możliwości: 'Dane na podstawie mapy (Google)', 'Dane na podstawie mapy (OpenRouteService)' i 'Inne zestawy danych'. Pierwsze dwie opcje pozwalają na budowę zestawu lokalizacji w oparciu o wprowadzane lub wczytane z pliku adresy i interakcję z Google API lub OpenRouteService API. Trzecia opcja dotyczy przypadków wprowadzenia lub wczytania z pliku, dowolnego zestawu współrzędnych (lokalizacji), na których program wykona obliczenia optymalnych tras.



Po wybraniu drugiej opcji (Dane na podstawie mapy (OpenRouteService), na ekranie pojawia się okienko 'Wprowadzanie danych dla TSP (mapa)'. Mamy tutaj dwie zasadnicze drogi wprowadzania danych. Pierwsza to wpisywanie adresów lokalizacji a druga, to wczytanie adresów z pliku.



W pierwszym wariancie wpisujemy adres lokalizacji do pola edycyjnego 'Adres (np. Warszawa...)'. Wzór adresu mamy w opisie pola edycyjnego (miejscowość, ulica i nr budynku). Po każdym wpisaniu adresu należy go dodać do zestawu adresów przyciskiem Dodaj. Po dodaniu lokalizacji zmienia się zawartość pola 'Licznik' - ilość lokalizacji w zestawie. Jeśli chcemy usunąć aktualny wpis to korzystamy z przycisku Kasuj. W drugim przypadku wprowadzania lokalizacji wybieramy przycisk Z pliku i wówczas pojawia się standardowe okienko 'Otwórz', w którym wybieramy, z dowolnego miejsca na dysku, plik (z rozszerzeniem *. txt) z wstępnie przygotowanymi adresami lokalizacji. Formaty zapisu pliku są dostępne w przykładowych plikach.



Po wybraniu pliku, jego zawartość jest wczytywana a pole licznika lokalizacji w zestawie zmienia się odpowiednio (tutaj 60 lokalizacji).



Niezależnie z której wersji wprowadzania danych skorzystamy, w każdej chwili można podglądnąć zestaw lokalizacji korzystając z przycisku Pokaż wprowadzone adresy. Po użyciu tego przycisku, na ekranie wyświetlane jest kolejne okienko 'Wybrane adresy TSP', w którym mamy pokazany cały zestaw dotychczas wprowadzonych adresów. Okienko to pozwala na modyfikację adresów lub ich usuwanie. Wystarczy przejść do wybranego rekordu, wprowadzić poprawki - zmodyfikować adres lub nacisnąć przycisk Kasuj - usunąć rekord. Po naciśnięciu przycisku Zakończ, wprowadzone zmiany będą zapamiętane a program powróci do okienka 'Wprowadzanie danych dla TSP (mapa)'.



Użycie przycisku Zakończ, w okienku dialogowym 'Wprowadzanie danych dla TSP (mapa)', powoduje uruchomienie współpracy programu z API Google lub w tym przypadku API OpenRouteService. Dla zestawu adresów wyznaczane są długości i szerokości geograficzne a na ich podstawie program wylicza współrzędne X, Y poszczególnych lokalizacji. W zależności od ilości lokalizacji operacje te zajmują od kilku do kilkunastu sekund - należy poczekać. Po wykonaniu przeliczeń na ekranie jest prezentowane okienko 'Wybór punktów trasy TSP', w którym znajdują się wszystkie adresy lokalizacji, długości i szerokości geograficzne oraz współrzędne X, Y. Druga kolumna w tabeli pozwala dodatkowo zaznaczyć lub odznaczyć wybrany rekord, który będzie uwzględniany dalej w obliczeniach lub nie.



Jeśli zamkniemy okienko 'Wybór punktów trasy TSP' przyciskiem Zatwierdź, to na ekranie pojawia się kolejne okienko dialogowe 'Lokalizacje i trasa'. Mamy do wyboru 4 opcje: 

1. pokazanie lokalizacji na mapie

2. pokazanie lokalizacji i początkowej, uproszczonej trasy na mapie (lokalizacje połączone odcinkami)

3. pokazanie lokalizacji i początkowej, rzeczywistej trasy na mapie

3. rezygnacja z generacji mapy



Jeżeli wybrana zostanie opcja pierwsza, to program pokaże kolejny ekran z prezentacją wszystkich lokalizacji na mapie.



Poniżej pokazano powiększony fragment poprzedniej mapy.



Jeśli zostanie wybrana opcja 'Lokalizacje i trasę na mapie (uproszczona)', to program wyświetli trasę początkową (początkowa kolejność lokalizacji, przed optymalizacją), w wersji uproszczonej:



Wybranie kolejnej opcji 'Lokalizacje i trasę na mapie (rzeczywista)' powoduje wyświetlenie trasy (początkowa kolejność lokalizacji, przed optymalizacją), w wersji rzeczywistej:


Po wprowadzeniu danych można przejść do zakładki 'Podgląd', w której program umożliwia przeglądanie położeń lokalizacji w układzie współrzędnych XY. W polu edycyjnym 'Plik danych' pojawia się automatycznie plik wygenerowany podczas pracy z zakładką 'Dane'. Można oczywiście wpisać lub wkleić inną ścieżkę do pliku lub wybrać ją za pomocą przycisku [...]. Zakładka 'Podgląd' ma również dwa dodatkowe pola wyboru 'Pokaż punkty' (włączone i niedostępne) oraz 'Opisz punkty' - lokalizacje mogą być opisane kolejnymi numerami w zestawie.



Wybranie przycisku Zatwierdź powoduje wyświetlenie wszystkich lokalizacji w układzie współrzędnych XY. 



W kolejnej zakładce okienka dialogowego 'Typ obliczeń i parametry', czyli zakładce TSP, możemy uruchomić obliczenia optymalizacyjne tras. Jeśli plik z danymi był wcześniej opracowany w zakładce Dane, to po przejściu do tej opcji, ścieżka do pliku danych jest automatycznie wczytywana do pola 'Plik danych'. Akceptując, przyciskiem Zatwierdź, wstępnie ustawione parametry obliczeń można natychmiast rozpocząć poszukiwanie najlepszych tras.



Opis wszystkich pól oraz parametrów zakładki TSP można znaleźć tutaj. Po wybraniu przycisku Zatwierdź, program rozpoczyna obliczenia optymalizacyjne. Po wykonaniu obliczeń, na ekranie pojawia się krótki komunikat.


Chcąc zobaczyć najlepsze rozwiązanie należy wybrać opcję menu 'Podgląd trasy' lub odpowiadającą mu ikonkę na pasku narzędzi. Na ekranie zostaje wyświetlone okienko 'Podgląd tras', w którym należy wskazać typ zadania (TSP, SD_MTSP, MD_MTSP czy CVRP) oraz zaznaczyć lub nie opcje 'pokaż punkty' i 'opisz punkty'.



Trasa dla optymalnego rozwiązania zostaje wyświetlona (program korzysta z pliku '*_opt.txt').



Można również wyszukać najlepsze rozwiązanie, uruchamiając opcję 'Wyszukaj' lub ikonkę z lupką. Na ekranie wyświetlone zostaje okienko dialogowe 'Wyszukiwanie najlepszych rozwiązań', w którym wybieramy zadanie TSP.



Po zatwierdzeniu wyboru program przeszukuje katalog roboczy w celu znalezienia najlepszego rozwiązania i podaje minimalną długość trasy oraz nazwę pliku ze szczegółowymi wynikami. 



Po naciśnięciu przycisku OK na ekranie wyświetlana jest zawartość pliku z wynikami.



Można również wyświetlić wyniki w postaci tabelarycznej korzystając z opcji 'Wyniki | Pokaż wyniki'  lub ikonki . Na ekranie jest wyświetlana tabela z wynikami, jak pokazano poniżej.



Korzystając z przycisku Drukuj możemy wysłać tabelkę na drukarkę lub do pliku '*.pdf'.



Na rysunku poniżej pokazano wydruk strony pliku 'pdf'.



Korzystając z przycisku Pokaż na mapie, w okienku 'Wyniki optymalizacji' (lub z ikonki 'Mapa' ewentualnie z opcji 'Wyniki | Pokaż na mapie') można wygenerować mapę, z pokazanym całym zestawem lokalizacji oraz trasą przejazdu po optymalizacji:



Po kliknięciu na dowolnej lokalizacji na mapie wyświetlany jest zestaw informacji z nią związanych: nr lokalizacji na trasie oraz adres lokalizacji. Poniżej pokazano powiększony fragment poprzedniej mapy.


Odległości i czasy przejazdów dla rozwiązania optymalnego można wyznaczyć korzystając z opcji 'Wyniki | Odległości i czasy'  lub ikonki . Jako pierwsze pojawia się okienko dialogowe, w którym należy podać datę i czas wyjazdu oraz średni czas obsługi. Parametry te będą wykorzystane do właściwego oszacowania odległości i czasów przejazdu między poszczególnymi lokalizacjami na trasie. 


Początkowo w okienku zgłasza się aktualna data. Jeśli mamy wyjazd zaplanowany na inny dzień, możemy wpisać nową datę (format: rrrr.mm.dd) lub skorzystać z przycisku Kalendarz. Pojawia się wówczas dodatkowe okienko, w którym możemy wybrać inną datę. Nie może to być data wcześniejsza niż aktualna, podobnie jak i czas wyjazdu, który musi być późniejszy od aktualnego. Po zatwierdzeniu przyciskiem OK, nowa data zostaje wprowadzona do kontrolki daty i uwzględniona w obliczeniach.



Po wybraniu przycisku Zatwierdź, uruchomione zostaną obliczenia a wyniki wkrótce pojawią się na ekranie. W górnej części tabeli wyników można modyfikować czas rozpoczęcia podróży oraz średni czas obsługi, w punktach pośrednich. Zmiany dokonane tutaj mogą pogorszyć jakość wyników. W tej chwili program nie przelicza ponownie trasy a jedynie modyfikuje czasy realizacji. 

Środkowa część tabeli zawiera kolejny numer adresu (kolejność optymalna), adres, odległość w [km], czas przejazdu pomiędzy dwoma lokalizacjami w [min] oraz całkowity czas przejazdu od punktu początkowego do danej lokalizacji.



Dolna część tabeli zawiera podsumowanie ilości kilometrów trasy, całkowitego czasu przejazdu (w min) oraz całkowitego czasu przejazdu z uwzględnieniem czasów obsługi. Trasa rozpoczęła się od lokalizacji 'Poznań, Arctowskiego 1' i na tej lokalizacji się kończy. Następne 24 lokalizacje pokazano poniżej.



Ostatni fragment trasy przedstawiono w kolejnej tabeli.



Jeśli zmienimy czas rozpoczęcia trasy i | lub średni czas obsługi, program wykona odpowiednie korekty w czasie realizacji poszczególnych lokalizacji oraz zmodyfikuje całkowity czas realizacji trasy. Załączono jedną z tabel dla średniego czasu obsługi 2 min.



Korzystając z przycisku Drukuj możemy wysłać tabelkę na drukarkę lub do pliku 'pdf', jak pokazano poniżej. Na kolejnym rysunku umieszczono pierwszą stronę wydruku tabelki z adresami, odległościami i czasami przejazdu (dla założonego średniego czasu obsługi równego 2 min).