Cw3 Marszrutyzacja pojazdow w TransCAD 1


Ćwiczenie nr 3

Problem marszrutyzacji pojazdów w systemie TransCAD.

CEL ĆWICZENIA

Podstawowym celem ćwiczenia jest przybliżenie problematyki rozwiązywania problemów marszrutyzacji pojazdów z wykorzystaniem nowoczesnych systemów informacji geograficznej (GIS) na przykładzie programu TransCAD. W procesie poszukiwania rozwiązania problemu uwzględniane są dodatkowe ograniczenia na pojemności pojazdów oraz okna czasowe (dostępność) zarówno dla dostawców jak i odbiorców.

WSTĘP TEORETYCZNY

Ogólny schemat postępowania przy rozwiązywaniu dowolnego problemu z wykorzystaniem narzędzi opartych o technologię GIS został przedstawiony w ramach ćwiczenia nr 3.

Niech będzie dany problem marszrutyzacji pojazdów z ograniczeniami czasowymi (oknami czasowymi) zapisany w postaci arkusza kalkulacyjnego postaci:

0x08 graphic

W powyższym arkuszu kolumny Czas_od oraz Czas_do wyznaczają okna czasowe w których należy obsłużyć poszczególnych odbiorców. Kolumna Ile określa ilość towaru jaką należy do danego odbiorcy dostarczyć (w zakresie dostawców dane tej kolumny są ignorowane - mogą zawierać dowolne wartości, np. „0”). Kolumna Czas_post określa stałą wielkość czasu przez jaką obsługiwany jest pojazd u danego dostawcy (bez względu na ilość dowiezionego towaru). Kolumna Czas_jedn określa czas obsługi jednostki towarowej (czas postoju pojazdu wydłuża się o wielkość będącą iloczynem wartości z tej kolumny i ilości towaru dowiezionego danym pojazdem)

W celu jego rozwiązania posługujemy się poznanym wcześniej schematem postępowania:

  1. Ładujemy mapę obszaru Poznania (File->OpenWorkspace: C:\log\Poznań.wrk) i na warstwie ulic wyłączamy wyświetlanie etykiet nazw ulic aby zwiększyć przejrzystość mapy.

0x08 graphic
0x01 graphic

  1. Wczytujemy dane z arkusza (skoroszytu) kalkulacyjnego (File->Open) wykorzystując odpowiedni filtr importu (wybieramy filtr „Excel Worksheet [*.xls]” wczytujemy plik „VRTW.xls[UWAGA: przy realizacji ćwiczenia (opis dalej) wskazujemy własny arkusz kalkulacyjny !] i wybieramy Arkusz1 jako źródło danych). Po wczytaniu danych pojawia się okienko zapisu danych w postaci binarnej (wewnętrznej postaci dla TransCAD'a) podajemy nazwę VRTW i zatwierdzamy. TransCAD przy zrealizowaniu wielu operacji tworzy pliki z ich wynikami - starajmy się zachowywać spójne nazewnictwo tak tworzonych plików (czyli nazwę arkusza z danymi wyjściowymi wszędzie tam gdzie TransCAD nie proponuje swojej nazwy plikowej).

  2. Geokodujemy wczytane dane o dostawcach i odbiorcach wykorzystując metodę geokodowania w oparciu o adres (Tools-> Locate -> Locate by address)

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic
0x01 graphic
0x01 graphic

Uwaga! Na pierwszej zakładce pole Rekord ID może być nieaktywne. Nie powinno się zmieniać wartości tego pola.

Jeśli procedura się powiedzie zobaczymy informację podsumowującą, w której pozycja Records not Located będzie równa 0. Wartość niezerowa oznacza problemy z ustaleniem pewnych adresów - system wyświetli listę tych adresów i trzeba będzie po stwierdzeniu przyczyny wykonać geokodowanie ponownie (tylko dla nie zlokalizowanych adresów)

Z taką sytuacją mamy do czynienia w tym właśnie przypadku. System nie potrafi określić położenia dla 2 obiektów:

0x01 graphic

Przypadek drugi nie budzi wątpliwości - adres został określony „zbyt dokładnie” co spowodowało niemożność jego interpretacji. Poprawna postać to „Wojciechowskiego 3”.

W przypadku nieznalezienia adresu proponowane są następujące kroki:

  1. W kolejnym etapie pracy wiążemy wszystkie obiekty z najbliższymi węzłami sieci drogowej. W tym celu należy zmodyfikować tabelę (dodać nową kolumnę, w której zapamiętany zostanie identyfikator najbliższego węzła sieci drogowej) W tym celu wyświetlamy dane (New Dataview) zgeokodowanej warstwy Dostawcy i Odbiorcy a następnie uruchamiamy edytor struktrury tabeli i dodajemy nowe pole o nazwie node_id (nazwa jest nieprzypadkowa - takiej nazwy oczekuje w wielu okienkach dialogowych system TransCAD - jeśli je znajdzie w naszych danych okienka te zostaną automatycznie uzupełnione, jeśli dane nazwiemy inaczej będziemy za każdym razem musieli je wskazywać)

0x08 graphic
0x01 graphic

Następnie wykonujemy operację automatycznego wpisania do nowo utworzonej (i zaznaczonej) kolumny informacji o najbliżej położonych węzłach sieci drogowej (Edit->Fill->Tag)

0x08 graphic
0x08 graphic
0x01 graphic

  1. Kolejny etap rozwiązywania problemu to podział danych przeznaczonych do dalszych obliczeń (podział na zbiory: DostawcyOdbiorcy). Podział danych na grupy definiuje w naszych danych kolumna Dostawca: wartość 1 w tym polu oznacza dostawcę wartość 0 odbiorcę. Podziału danych na podzbiory dokonujemy poprzez menu Selection-> Select by condition:

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic
0x01 graphic

Następnie dokonujemy modyfikacji wyświetlania utworzonych grup (Selection-> Settings) zmieniając kolorystykę i dodając identyfikatory w postaci nazw dostawców i klientów:

0x08 graphic
0x01 graphic
0x01 graphic

  1. Rozwiązywanie problemu marszrutyzacji pojazdów dla przygotowanych danych rozpoczynamy poprzez wywołanie polecenia Vehicle routing dostępnego z menu Routing/Logistics:

0x01 graphic

Po uruchomieniu polecenia na pierwszej zakładce konfiguracyjnej należy wybrać przede wszystkim podtyp zadania, które będzie rozwiązywane (w naszym przykładzie Dostawa - Delivery) Możliwe jest na tym etapie zdefiniowanie szeregu ograniczeń na tworzone rozwiązanie (część ograniczeń zależy od podtypu zadania - jest aktywna tylko dla przypadku transportu mieszanego - Mixed Pickup and Delivery)

Na kolejnej zakładce ustalamy parametry punktów nadania (punkty początkowe porocesu transportowego - Depot) zgodnie z poniższym rysunkiem:

0x01 graphic

Podobnie należy uczynić w przypadku punktów docelowych (klienci/odbiorcy - Stops) pamiętając o dodatkowych wielkościach, które dla tych obiektów muszą być określone (zapotrzebowanie - Delivery Demand; oraz opcjonalnie: stały czas obsługi u danego klienta-Fixed Time; zmienny czas obsługi - Unit Time; predefiniowany Depot (dostawca) do obsługi danego klienta - Assigned Depot)

0x01 graphic

Na kolejnej zakładce definiujemy macierz kosztów wybierając jako kryterium optymalizacji pole Time (wybór kryterium pomiędzy czasem a odległością):

0x08 graphic
0x08 graphic
0x01 graphic

W efekcie uzyskamy macierz czasów przejazdów pomiędzy wszystkimi punktami występującymi w rozważanym problemie.

Ostatnim etapem konfiguracji zadania jest zdefiniowanie macierzy określającej dostępne w poszczególnych lokalizacjach pojazdy (ich liczność, ładowność).
Dane mogą zostać wczytane z systemów zewnętrznych lub mogą zostać stworzone w ramach edytora macierzy pojazdów (o dość ograniczonej użyteczności). Przy rozwiązywaniu niniejszego zadania wykorzystano drugą metodę - utworzenia danych „od zera”:

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

DepotID - nr bazy

Type - typ pojazdu (zawsze wpisujemy: 1)

Capacity - pojemność (zazwyczaj większa niż zapotrzebowanie poszczególnych odbiorców)

No. Vehs - liczba pojazdów

Cost - koszt pojazdu (zawsze wpisujemy: 0)

Przykład:

1 1 50 2 0 (w bazie 1 są 2 pojazdy o pojemności 50)

2 1 70 1 0 (w bazie 2 jest 1 pojazd o pojemności 70)

2 1 40 1 0 (w bazie 2 jest 1 pojazd o pojemności 40, czyli łącznie w bazie 2 są 2 pojazdy o pojemnościach odpowiednio 70 i 40)

  1. Uruchomienie procedury optymalizacyjnej następuje po skonfigurowaniu parametrów i kliknięciu przycisku OK. Wyniki pośrednie procesu optymalizacji zostaną zapisane w standardowej postaci w domyślnych katalogach systemu. Ponieważ może dojść do konfliktu z już istniejącymi plikami - pojawia się okienko pozwalające na zarządzanie plikami (zmianę katalogów, nazw lub zezwolenie na nadpisanie - Overwrite, Overwrite All):

0x08 graphic
0x08 graphic
0x01 graphic

  1. Pierwszym efektem realizacji procedury optymalizacyjnej jest wyświetlenie Itinerera opisującego szczegółowo, choć w sposób tekstowy, poszczególne trasy przejazdów pojazdów:

0x01 graphic

Zakończenie procedury optymalizacyjnej jest sygnalizowane pojawieniem się okienka podsumowującego postaci:

0x08 graphic
0x08 graphic
0x01 graphic

W tym przypadku widać, iż system, choć znalazł rozwiązanie problemu, zgłosił dwa zastrzeżenia (ostrzeżenia - Warnings) do uzyskanych wyników. Analiza ostrzeżeń pozwala na właściwą interpretację uzyskanych wyników (uznanie i ponowne policzenie problemu dla zmienionych warunków lub odrzucenie uwag jako nieistotnych). W przypadku tego zadania system zgłosił problemy w postaci komunikatu:

3 stop(s) assigned to second nearest depot.

1 stop(s) assigned to second nearest depot.

Komunikat oznacza, iż co prawda obsłużono wszystkich klientów, ale kilku z nich zostało obsłużonych poprzez pojazdy z dalszych niż by to wynikało z lokalizacji odbiorców punktów startowych (baz, hurtowni). Istnieje zatem możliwość polepszenia rozwiązania jeśli zmieni się alokację środków transportowych do innych niż wyjściowe lokalizacji.

Postać graficzną rozwiązania uzyskamy uruchamiając narzędzie wizualizacji wyników:

0x08 graphic
0x08 graphic
0x01 graphic

Postać graficzną rozwiązania uzyskamy uruchamiając narzędzie wizualizacji wyników (nie jest wymagana żadna konfiguracja bo wszystkie parametry są „odziedziczone” po procedurze optymalizacji problemu marszrutyzacji pojazdów:

0x01 graphic

Informacje wyświetlone na mapie możemy poddać szczegółowej analizie z wykorzystaniem edytora tras przejazdów - uruchamianego poprzez wybranie polecenia Editing Routes w oknie procedury optymalizacyjnej Vehilce Routing with Time Windows:

0x08 graphic
0x08 graphic
0x01 graphic

W efekcie mamy możliwość dostępu do wszystkich danych związanych z każdą z planowanych tras (również możliwość ręcznej modyfikacji uzyskanego rozwiązania - usuwania klientów z określonych tras, dodawania ich do nowych lub już istniejących tras)

0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

UŻYWANE POMOCE DYDAKTYCZNE

Lp.

OPIS

OZNACZENIE STANOWISKA

1.

Opis metody rozwiązania problemu transportowego dla zbioru danych wyjściowych (VRTW.xls)

2.

System pomocy on-line programu TransCAD

3.

Arkusz kalkulacyjny z definicją własnego problemu optymalizacyjnego

PRZEBIEG ĆWICZENIA

Wykorzystując dotychczas zdobytą wiedzę na temat możliwości rozwiązywania problemów marszrutyzacji pojazdów z wykorzystaniem okien czasowych zdefiniować własny problem do rozwiązania w systemie TransCAD :

SPRAWOZDANIE

Sprawozdanie z ćwiczeń każdy student wykonuje samodzielnie.

Powinno ono zawierać

Nie powinno zawierać opisu przebiegu ćwiczenia (procesu dochodzenia do rozwiązania), chyba że jest to istotne dla potrzeb omówienia wyników końcowych (ze względu na pojawienie się błędów czy komunikatów ostrzegawczych).

LITERATURA

  1. Materiały wykładowe

  2. System pomocy on-line programu TransCAD

POLITECHNIKA POZNAŃSKA

KIERUNEK: Transport

SEMESTR VII

LABORATORIUM - KOMPUTEROWE WSPOMAGANIE PROCESÓW LOGISTYCZNYCH

1

opracowanie ćwiczenia - dr inż. Waldemar Walerjańczyk

0x01 graphic



Wyszukiwarka

Podobne podstrony:
Ćw4 Marszrutyzacja pojazdów w TransCAD wersja przerobiona doc
KW3 Marszrutyzacja pojazdAlw
Ćw3 PT w systemie TransCAD doc
Elektryczne pojazdy trakcyjne
pojazdy ekologiczne(1)
PG cw3
mechanik operator pojazdow i maszyn rolniczych 723[03] z2 04 n
mechanik pojazdow samochodowych 723[04] z1 04 n
mechanik operator pojazdow i maszyn rolniczych 723[03] o1 05 u
jak zdekodowac informacje zawarte w numerze identyfikacyjnym nadwozia lub ramy pojazdu
cw3
cw3 rezystancja id 123348 Nieznany
mechanik operator pojazdow i maszyn rolniczych 723[03] z3 02 n
cw3 odp
cw3 2014 notatki

więcej podobnych podstron