STUDIA INFORMATICA 2011 Volume 32 Number 4A (100) Jacek WIDUCH Poltechnka Śląska, Instytut Informatyk ROZWIĄZANIE PROBLEMU WYZNACZANIA POŁĄCZEŃ W SIECIACH KOMUNIKACYJNYCH Z ZASTOSOWANIEM METODY SKALARYZACJI Streszczene. Problem wyznaczana połączeń w secach komunkacyjnych jest przykładem zadana optymalzacj welokryteralnej, którego rozwązanem jest zbór rozwązań nezdomnowanych. Wyznaczene połączeń polega na rozwązanu dwukryteralnego problemu najkrótszych śceżek w grafe ważonym o zmennych wagach. W pracy przedstawono algorytm umożlwający wyznaczene połączeń należących do zboru rozwązań nezdomnowanych. Rozwązana są wyznaczane z użycem metody skalaryzacj, w której k (k > 1) funkcj kryteralnych jest zastępowanych jedną ważoną funkcją kryteralną. Zaprezentowano także przykładowe wynk przeprowadzonych badań eksperymentalnych. Słowa kluczowe: problem transportowy, zbór rozwązań nezdomnowanych, optymalzacja welokryteralna, metoda skalaryzacj, dwukryteralny problem wyznaczana najkrótszej śceżk, drzewo śceżek SOLVING THE COMMUNICATION NETWORK ROUTING PROBLEM USING SCALARIZATION METHOD Summary. The communcaton networks routng problem s an example of multcrtera optmzaton problem whch the soluton s the set of non domnated solutons. Establshng routes conssts n solvng the bcrteron shortest path problem n the weghted graph wth non constant weghts. In the paper an algorthm whch determnes routes belong to the set of non domnated solutons s shown. The solutons are computed usng scalarzaton method where the k (k > 1) crteron functons are replaced wth sngle weghted crteron functon. Apart from that a sample results of expermental tests are presented. Keywords: transportaton problem, set of non domnated solutons, multcrtera optmzaton, scalarzaton method, bcrteron shortest path problem, paths tree
58 J. Wduch 1. Wstęp Jednym z badanych problemów teor grafów jest problem wyznaczana najkrótszej śceżk, w którym dany jest skerowany graf G = (V, E) z funkcją wagową w : E R, a zadanem jest znalezene śceżk o mnmalnej wadze. Rozszerzenem tego problemu jest welokryteralny problem wyznaczana najkrótszej śceżk, w którym danych jest k (k > 1) funkcj wagowych. Podczas wyznaczana śceżk są jednocześne uwzględnane wszystke funkcje wagowe. Jeżel k = 2, wówczas mów sę o dwukryteralnym probleme wyznaczana najkrótszej śceżk. Znanych jest wele algorytmów rozwązywana tego problemu, wśród których można wyróżnć: algorytmy korygowana etyket [1, 4, 7, 24], algorytmy nadawana etyket [10, 17, 27], algorytmy dwufazowe [19], algorytmy dzałające na baze wyznaczena K najkrótszych śceżek [2] oraz pozostałe [8, 13, 14, 15, 16, 22]. W wymenonych algorytmach zakłada sę stałe wag łuków grafu. W nnejszej pracy został omówony przykładowy dwukryteralny problem wyznaczana najkrótszej śceżk, jakm jest problem wyznaczana połączeń w secach komunkacyjnych. Celem rozważanego problemu jest wyznaczene połączeń komunkacyjnych mędzy zadaną parą przystanków ustaloną godzną rozpoczęca podróży. Podczas wyznaczana połączeń należy dążyć do jednoczesnej mnmalzacj czasu kosztu przejazdu. W przedstawonym algorytme do wyznaczana połączeń komunkacyjnych została użyta metoda skalaryzacj. Nnejsza praca stanow kontynuację prac [31, 32, 34], w których omówono problem wyznaczana połączeń w secach komunkacyjnych oraz przedstawono algorytmy rozwązywana tego problemu. W pracy [31] omówono algorytm DFSB, w którym do wyznaczena połączeń komunkacyjnych jest użyta zmodyfkowana metoda powrotów przeszukwane grafu w głąb. W algorytme BFS przedstawonym w pracy [32] połączena komunkacyjne są wyznaczane za pomocą zmodyfkowanej metody przeszukwana grafu wszerz. Algorytm ten został opracowany na podstawe algorytmu przedstawonego w pracy [24]. Z kole w pracy [34] został przedstawony algorytm MKSP, będący modyfkacją algorytmu wyznaczana K najkrótszych śceżek [18]. 2. Problem wyznaczana połączeń w secach komunkacyjnych 2.1. Sformułowane problemu Dana jest seć komunkacyjna składająca sę z n przystanków, mających numery z zakresu 1,, n. W sec kursują pojazdy M ln komunkacyjnych o numerach z zakresu 1,, M. Seć jest podzelona na strefy, co ma wpływ na sposób wyznaczana kosztu przejazdu. Dla
Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych 59 każdej ln komunkacyjnej jest zdefnowany przystanek początkowy końcowy, pomędzy którym kursuje pojazd danej ln, oraz sekwencja przystanków, przez które następuje przejazd pojazdu. Przejazd pojazdu odbywa sę w określonym kerunku, tj. jeśl pojazd danej ln kursuje z przystanku v do przystanku v j, ne oznacza to, że kursuje z przystanku v j do przystanku v. Pojazd danej ln może kursować w obydwu kerunkach, jednak trasy przejazdu mogą sę różnć. Trasa przejazdu pojazdu każdej ln komunkacyjnej składa sę z sekwencj różnych przystanków, wyjątkem są przystank początkowy końcowy ln. Lna, w której przystank początkowy końcowy są take same jest nazywana lną okrężną. Pojazdy komunkacyjne kursują pomędzy przystankem początkowym końcowym ln z określoną częstotlwoścą. Nech trasa przejazdu pojazdu tej ln składa sę z sekwencj przystanków: v 0, v 1,, v k 1, v k, gdze v 0 jest przystankem początkowym, a v k jest przystankem końcowym ln. Pojazd tej ln komunkacyjnej wyjeżdża z przystanku v 0 o godzne T 0 przejeżdża przez kolejne przystank v 1,, v k 1 wyjeżdżając z nch odpowedno w godznach T 0 + 0, T 0 + 1,, T 0 + k 2, dojeżdżając do przystanku końcowego v k o godzne T 0 + k 1. Następny kurs pojazdu tej ln rozpoczyna sę na przystanku początkowym v 0 o godzne T 1 (T 1 = T 0 + 0 ), a z przystanków v 1,, v k 1 pojazd wyjeżdża w godznach T 1 + 0, T 1 + 1,, T 1 + k 2 dojeżdża do przystanku v k o godzne T 1 + k 1. Zakłada sę, że godzna wyjazdu pojazdu z przystanku jest równa godzne przyjazdu, tj. pomja sę czas wsadana wysadana pasażerów. Przyjmuje sę dealny model sec, w którym pojazdy kursują zgodne z rozkładem jazdy. Pojazd tej ln komunkacyjnej wykonuje p kursów wyjeżdżając z przystanku v 0 w godznach T 0,, T p 1 (T 0 < < T p 1 ), gdze T j = T j 1 + j 1 (j = 1,, p 1). Wartośc T 0, 0,, p 2, 0,, k 1 są zdefnowane rozkładem jazdy tej ln, przy czym 0 < 0 < < p 2 ; 0 < 0 < < k 1. Dla zadanej sec komunkacyjnej, rozkładu jazdy tras przejazdu pojazdów ln komunkacyjnej, dane są przystank początkowy v s końcowy v e podróży oraz godzna rozpoczęca podróży T s na przystanku v s. Należy wyznaczyć trasę przejazdu z przystanku v s do przystanku v e, tj. sekwencję przystanków, przez które następuje przejazd, lne komunkacyjne, pojazdam których następuje przejazd pomędzy przystankam, godzny wyjazdów z poszczególnych przystanków należących do trasy oraz przystank ewentualnych przesadek. Trasę przejazdu należy wyznaczyć mnmalzując czas koszt przejazdu, przy założenu że wyjazd z przystanku początkowego v s ne może nastąpć wcześnej nż w godzne rozpoczęca podróży T s. Czas przejazdu wynka z przyjętej trasy przejazdu jest on równy sume czasów przejazdu pomędzy przystankam należącym do trasy, ewentualnego czasu oczekwana na przystanku początkowym v s oraz ewentualnych czasów oczekwana na połączene
60 J. Wduch w przypadku przesadk. Czasy przejazdu pomędzy przystankam są zdefnowane rozkładem jazdy. Koszt przejazdu jest wyznaczany w następujący sposób. Koszt przejazdu bez przesadk w grancach jednej strefy wynos c 1 (c 1 > 0) jednostek, w grancach dwóch stref c 2 (c 2 > c 1 ) jednostek, a w grancach trzech lub węcej stref c 3 (c 3 > c 2 ) jednostek. W przypadku wystąpena przesadek łączny koszt przejazdu z przystanku v s do przystanku v e jest równy sume kosztów przejazdu pomędzy przystankam, na których następuje przesadka. Nektóre lne komunkacyjne są oznaczone jako pospeszne. Przejazd pojazdem takej ln odbywa sę szybcej, co jest uwzględnone w rozkładze jazdy, natomast koszt przejazdu jest dwa razy wększy od kosztu przejazdu pojazdem ln zwykłej. 2.2. Analza problemu Seć komunkacyjna jest opsana za pomocą skerowanego grafu ważonego G = (V, E), zawerającego n werzchołków reprezentujących przystank pojazdów komunkacyjnych [6, 11, 12, 23] 1. Trasy przejazdu pojazdów komunkacyjnych są reprezentowane przez łuk grafu ze zboru E. Każdy łuk e = (v j, v k ) (e E; v j, v k V) odpowada jednej ln komunkacyjnej, której pojazdy kursują z przystanku v j do przystanku v k. Poneważ przejazd odbywa sę w określonym kerunku, węc obecność w grafe łuku (v j, v k ) dla tej ln ne oznacza obecnośc w grafe łuku (v k, v j ) dla tej ln. Mędzy daną parą przystanków mogą kursować pojazdy węcej nż jednej ln komunkacyjnej, dlatego graf może zawerać łuk równoległe. v x v j e v k v y Rys. 1. Fragment grafu reprezentującego seć komunkacyjną Fg. 1. A part of graph representng a communcaton network Każdy łuk e = (v j, v k ) ma 3 wag: l(e ), t(e ) c(e ). Waga l(e ) opsuje numer ln komunkacyjnej, pojazdem której odbywa sę przejazd z v j do v k. Waga t(e ) = T k T j jest równa różncy mędzy godzną przyjazdu T k do v k a godzną przyjazdu T j do v j, przyjmuje wartośc dodatne, przy czym jest wagą o zmennych wartoścach. Waga ta jest równa sume czasu przejazdu z v j do v k czasu oczekwana na wyjazd w v j. Czas przejazdu pojazdem danej ln z v j do v k jest stały, tak węc o wartośc wag t(e ) decyduje czas oczekwana w werzchołku v j, który jest czasem zmennym (rys. 1). Do werzchołka v j stneje możlwość 1 W dalszej częśc pracy używając zwrotu werzchołek, w odnesenu do grafu reprezentującego seć komunkacyjną, będzemy meć na myśl przystanek w sec komunkacyjnej, który on reprezentuje.
Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych 61 dojazdu z werzchołków v x v y, przy czym z werzchołka v x dojazd następuje w czase t x j, a z werzchołka v y w czase t y j. Nech w obydwu przypadkach godzna wyjazdu z werzchołka v j jest równa T j (T s + t x j T j ; T s + t y j T j ). Jeżel t x j t y j, to czas oczekwana w werzchołku v j w obydwu przypadkach będze różny, a co za tym dze, wartość wag t(e ) w obydwu przypadkach także będze różna. e 1 e 2 e 3 e 4 v 1 v 2 v 3 v 4 v 5 Rys. 2. Fragment grafu reprezentującego trasę ln komunkacyjnej Fg. 2. A part of graph representng a route of communcaton lne Waga c(e ) = c k c j jest równa różncy kosztów przejazdu c k c j, gdze c k jest kosztem przejazdu z v s do v k, a c j jest kosztem przejazdu z v s do v j. Przyjmuje ona wartośc neujemne jest także wagą o zmennych wartoścach, a o jej wartośc decyduje to, do jakej strefy należą werzchołk v j v k oraz czy w werzchołku v j jest dokonywana przesadka. W przypadku dokonana przesadk w werzchołku v j waga jest równa c(e ) = c 1, jeżel werzchołk v j v k znajdują sę w tej samej strefe lub jest równa c(e ) = c 2, jeżel werzchołk należą do różnych stref. Jeżel w werzchołku v j ne jest dokonywana przesadka werzchołk v j v k znajdują sę w tej samej strefe, to podczas przejazdu z v j do v k ne jest przekraczana strefa, czyl koszt przejazdu ne wzrasta, tak węc waga jest równa c(e ) = 0. W przypadku kedy w werzchołku v j ne jest dokonywana przesadka werzchołk v j v k należą do różnych stref, o wartośc wag decyduje lczba stref, jake zostały przekroczone od ostatnej przesadk przy dojeźdze do v j. Jeżel ne została przekroczona żadna strefa, to waga jest równa c(e ) = c 2 c 1, w przypadku przekroczena jednej strefy c(e ) = c 3 c 2, a przy przekroczenu dwóch węcej stref c(e ) = 0. Tabela 1 Wartośc wag c łuków grafu z rys. 2 przy wyznaczanu kosztu przejazdu do werzchołka v 5 z różnych werzchołków początkowych v s Werzchołek v s c(e 1 ) c(e 2 ) c(e 3 ) c(e 4 ) v 1 c 1 c 2 c 1 c 3 c 2 0 v 2 c 2 c 3 c 2 0 v 3 c 2 c 3 c 2 v 4 c 2 Zmenna wartość wag zostane zlustrowana na przykładze dojazdu do werzchołka v 5 pojazdem ln komunkacyjnej, której trasa została przedstawona na rys. 2 (lną przerywaną zostały zaznaczone grance stref). Wartość wag c łuków e 1,, e 4 zależy od werzchołka początkowego podróży v s, z którego rozpoczyna sę przejazd do werzchołka v 5. Wartośc te dla werzchołków początkowych podróży odpowedno v 1,, v 4 werzchołka końcowego podróży v e = v 5 zostały przedstawone w tabel 1.
62 J. Wduch L1 L2 6 1 2 12 3 7 8 11 13 L4 I III II IV 15 L1 4 14 5 L3 10 9 L2 L4 16 L3 Rys. 3. Graf reprezentujący przykładową seć komunkacyjną Fg. 3. A graph representng a sample communcaton network Graf reprezentujący przykładową seć komunkacyjną został przedstawony na rys. 3, przy czym każdą krawędź należy traktować jako parę łuków przecwne skerowanych. Seć podzelona jest na 4 strefy, kursują w nej pojazdy czterech ln komunkacyjnych, których trasy przejazdu przedstawono w tabel 2. Każda z ln kursuje w obydwu kerunkach pomędzy przystankam początkowym końcowym (przystank początkowy końcowy każdej z ln zaznaczono na rys. 3). W grafe występują łuk równoległe, poneważ mędzy wybranym param przystanków w danym kerunku kursują pojazdy węcej nż jednej ln komunkacyjnej. Tabela 2 Trasy przejazdu pojazdów ln komunkacyjnych w sec komunkacyjnej reprezentowanej przez graf z rys. 3 Lna komunkacyjna Trasa przejazdu 1, 2, 7, 8, 13, 15 1 15, 13, 12, 7, 2, 1 6, 2, 3, 4, 10 2 10, 4, 3, 2, 6 5, 4, 8, 14, 16 3 16, 14, 8, 4, 5 11, 12, 7, 8, 9 4 9, 8, 13, 12, 11 Połączene komunkacyjne z przystanku początkowego v s do przystanku końcowego v e jest reprezentowane przez śceżkę p se = v 0, (v 0, v 1 ), v 1,, v m 1, (v m 1, v m ), v m w grafe G reprezentującym seć komunkacyjną oraz godzny odjazdów T 0,, T m 1, gdze T jest godzną odjazdu z v ( = 0,, m 1; v p se ), a v 0 = v s v m = v e. Długość śceżk p se jest równa lczbe łuków należących do śceżk jest oznaczana przez len(p se ). Śceżka p se ma dwe wag T(p se ) C(p se ) będące sumą wag t c łuków należących do śceżk, które są określone zależnoścą (1).
Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych 63 T m m ( pse) t( v 1, v ), C pse) 1 1 ( c( v (1) 1, v ) Wag T(p se ) C(p se ) reprezentują odpowedno czas koszt przejazdu z v s do v e. Zgodne z założenam przedstawonym w punkce 2.1 należy wyznaczyć śceżkę p se w grafe G mnmalzując wag T(p se ) C(p se ). Problem wyznaczana połączeń komunkacyjnych jest przykładem zadana optymalzacj welokryteralnej, w którym danych jest k (k > 1) funkcj kryteralnych f ( = 1,, k), na podstawe których jest dokonywana ocena rozwązań [3, 21, 26, 28, 29]. Funkcje kryteralne mogą być mnmalzowane lub maksymalzowane. W perwszym przypadku dąży sę do wyznaczena rozwązana, dla którego funkcja przyjmuje wartość mnmalną, a w drugm wartość maksymalną. W wększośc przypadków ne stneje jedno rozwązane, dla którego wszystke funkcje kryteralne przyjmują optymalne wartośc, stąd rozwązanem zadana optymalzacj welokryteralnej w ogólnym przypadku jest zbór rozwązań, zwany zborem rozwązań nezdomnowanych (rozwązań Pareto optymalnych [20]). Nech będze danych k mnmalzowanych funkcj kryteralnych f 1,..., f k. Rozwązane X domnuje rozwązane Y, co oznaczamy przez X Y, jeżel jest spełnona zależność (2). {1,..., k} f ( Y) f ( X ) j{1,..., k} f ( Y) j f ( X ) j Zbór rozwązań nezdomnowanych S ND jest zborem takch rozwązań, dla których ne stneją rozwązana, które je domnują, tj.: S ND {X: Y, Y X}. Rozwązane problemu wyznaczana połączeń komunkacyjnych sprowadza sę do rozwązana dwukryteralnego problemu wyznaczana najkrótszej śceżk w grafe o zmennych wagach. Rozwązanem problemu jest zbór śceżek, reprezentujących połączena komunkacyjne, stanowących zbór rozwązań nezdomnowanych. Wag T C śceżek są funkcjam kryteralnym mnmalzowanym. Jak wykazano w pracach [9, 10], dwukryteralny problem wyznaczana najkrótszej śceżk w grafe o stałych wagach, poprzez transformację do 0 1 problemu plecakowego, należy do grupy problemów NP zupełnych. Lczba rozwązań w przypadku pesymstycznym rośne wykładnczo wraz ze wzrostem lczby werzchołków grafu [24]. (2) 3. Metoda skalaryzacj W przypadku kedy algorytmy wyznaczena wszystkch rozwązań nezdomnowanych mają złożoność wększą nż welomanowa, rezygnuje sę z ch wyznaczena wyznacza sę jedyne nektóre z nch. Jedną z metod umożlwających wyznaczene rozwązań nezdomno-
64 J. Wduch wanych jest skalaryzacja. W metodze tej poszczególnym funkcjom kryteralnym przyporządkowywane są wag jest wprowadzana zastępcza funkcja kryteralna F Z [20]. Nech będze danych k funkcj kryteralnych f 1,..., f k oraz nech funkcj f ( = 1,, k) jest przyporządkowana waga. Zastępcza funkcja kryteralna F Z jest określona zależnoścą (3), przy czym najczęścej wag doberane są tak, aby była spełnona zależność (4). k F Z f (3) k 1 1 1 (4) Po wprowadzenu zastępczej funkcj kryteralnej F Z dąży sę do wyznaczena rozwązana, dla którego funkcja F Z przyjmuje wartość mnmalną lub maksymalną. Dzęk wprowadzenu funkcj F Z zadane optymalzacj welokryteralnej jest redukowane do zadana optymalzacj jednokryteralnej stneje możlwość zastosowana metod rozwązywana, które są mnej złożone nż w przypadku zadana optymalzacj welokryteralnej. Przez odpowedn dobór wartośc wag jest określany wpływ danej funkcj kryteralnej na wyznaczone rozwązane. Wprowadzene zastępczej funkcj kryteralnej powoduje, że w ogólnym przypadku ne zostaną wyznaczone wszystke rozwązana ze zboru rozwązań nezdomnowanych, a jedyne te, dla których wartość zastępczej funkcj kryteralnej przyjmuje wartość mnmalną lub maksymalną [5, 25, 30]. Przeprowadzając welokrotne proces optymalzacj dla różnych wartośc wag stneje możlwość uzyskana kolejnych rozwązań ze zboru rozwązań nezdomnowanych. 4. Drzewo śceżek Wszystke śceżk prowadzące z werzchołka początkowego v s do werzchołka końcowego v e, które reprezentują połączena komunkacyjne, można przedstawć w postac drzewa śceżek G T, w którym korzenem jest werzchołek v s, a lśćm werzchołek v e. Dla każdej pary śceżek p, p j G T określonych zależnoścam (5) (6) jest spełnona zależność (7). p = v 0 = v s, (v 0, v 1 ), v 1,, v n 1, (v n 1, v n ), v n = v e (5) p j = v j 0 = v s, (v j 0, v j 1 ), v j 1,, v j m 1, (v j m 1, v j j m ), v m = v e (6) m, n x 0 y 0 ymn,..., v v x j x Zależność (7) można zlustrować za pomocą rys. 4, na którym śceżk p p j, określone zależnoścam (5) (6), przedstawono w postac drzewa śceżek G T. Werzchołk v j y oraz v y są ostatnm werzchołkam na wspólnej podśceżce. Werzchołek, który jest ostatnm werz- (7)
Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych 65 chołkem na wspólnej podśceżce dwóch śceżek, jest nazywany werzchołkem odchylającym (ang. devaton node) jest oznaczany przez d(p). Tworzene drzewa śceżek rozpoczyna sę od wyznaczena dowolnej śceżk p z werzchołka v s do werzchołka v e. Na jej podstawe są wyznaczane pozostałe śceżk, przy czym w trakce ch wyznaczana koneczna jest modyfkacja grafu G poprzez usuwane z nego nektórych werzchołków oraz łuków. Operacja ta zapobega welokrotnemu wyznaczanu tych samych śceżek. Na podstawe śceżk p nowe śceżk powstają przez usunęce z grafu kolejno łuków (d(p ), v j ), (v j, v j+1 ),, (v n 1, v n ), a następne wyznaczenu śceżk odpowedno z werzchołków {d(p ), v j,, v n 1 } do werzchołka końcowego v e. v 0 = v j 0 = v s v 1 = v 1 j v y = v y j v y+1 v y+1 j v n = v e v m j = v e Rys. 4. Przykładowe drzewo śceżek Fg. 4. A sample paths tree Przed wyznaczenem perwszej śceżk są usuwane z grafu wszystke werzchołk poprzedzające werzchołek d(p ) w śceżce p. Jeżel ne ma możlwośc wyznaczena śceżk z danego werzchołka, to jest on usuwany z grafu następuje próba wyznaczena śceżk z kolejnego werzchołka. Po wyznaczenu perwszej śceżk p +1 jest przerywana analza śceżk p jest podejmowana próba utworzena nowych śceżek na podstawe nowo utworzonej śceżk. Rozpoczynając analzę śceżk p +1, ne ma konecznośc usuwana z grafu jakchkolwek werzchołków łuków, poneważ zostały one usunęte w trakce analzy śceżek p 1,, p. W przypadku braku możlwośc utworzena kolejnych śceżek na podstawe śceżk p +1 następuje powrót do analzy śceżk p oraz umeszczene w grafe wszystkch werzchołków łuków, które zostały usunęte podczas analzy śceżk p +1. Analza śceżk p jest kontynuowana od werzchołka będącego następnkem w śceżce werzchołka, dla którego zakończyła sę poprzedna analza śceżk p.
66 J. Wduch (a) (b) (c) (d) v 0 = v s v 0 = v s v 0 = v s v 0 = v s v 1 v 1 v 1 +1 v 1 v 1 +1 v 1 +2 v 1 v 1 +c v 2 v 2 v 2 +1 v 2 v 2 +1 v 2 +2 v 2 v 2 +c v 2 +c+1 v n = v e v n = v e v m +1 = v e v n = v e v m +1 = v e v +2 x = v e v n = v e v z +c = v e v y +c+1 = v e p p p +1 p p +1 p +2 p p +c p +c+1 Rys. 5. Kolejne etapy konstruowana drzewa śceżek Fg. 5. A next steps of constructon paths tree Etapy algorytmu tworzena drzewa śceżek zostały przedstawone na rys. 5. Nech p (rys. 5a) będze śceżką, na podstawe której są tworzone kolejne śceżk, przy czym d(p ) = v 0. Tworzene nowych śceżek polega na wyznaczenu śceżk do werzchołka v e z wszystkch kolejnych werzchołków należących do śceżk, począwszy od werzchołka d(p ). W celu poprawnego wyznaczana śceżek pownny być usunęte z grafu wszystke werzchołk poprzedzające w śceżce werzchołek d(p ). Jest to zapewnone przez kolejność analzy śceżek, na podstawe których wyznaczane są nowe śceżk. Śceżka p +1 (rys. 5b) jest uzyskwana przez usunęce z grafu łuku (v 0, v 1 ) wychodzącego z werzchołka d(p ) wyznaczene śceżk p +1 z werzchołka d(p ) = v 0 do v e. Dla utworzonej śceżk d(p +1 ) = v 0. Po wyznaczenu śceżk p +1 jest przerywana analza śceżk p następuje próba utworzena nowej śceżk na podstawe p +1. Odbywa sę to w podobny sposób jak w przypadku śceżk p, tj. przez usunęce z grafu łuku (v 0, v +1 1 ) wychodzącego z werzchołka d(p +1 ) wyznaczene śceżk p +2 z werzchołka d(p ) = v 0 do werzchołka v e (rys. 5c). W tak sposób uzyskwanych jest c śceżek p +1,, p +c, dla których werzchołkem odchylającym jest werzchołek v 0 (rys. 5d). Poneważ na podstawe śceżk p +c ne ma możlwośc utworzena nowej śceżk z werzchołka d(p +c ) = v 0 do werzchołka v e, węc następuje usunęce z grafu werzchołka v 0 oraz łuku (v +c 1, v +c 2 ) wyznaczene śceżk p +c+1 z kolejnego werzchołka należącego do śceżk, a jest nm werzchołek v +c 1. W podobny sposób jest podejmowana próba wyznaczena śceżk na podstawe śceżk p +c+1. W przypadku braku możlwośc wyznaczena nowej śceżk na podstawe śceżk p +1 każdej z kolejnych śceżek, następuje powrót do analzy śceżk p. Poneważ analza śceżk p po wyznaczenu śceżk p +1 zakończyła sę na werzchołku v 0, węc będze ona kontynuo-
Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych 67 wana od werzchołka v 1, a werzchołek v 0 zostane usunęty z grafu. Ponadto, w grafe zostaną umeszczone wszystke werzchołk łuk, które zostały usunęte podczas analzy śceżk p +1. Inny algorytm tworzena drzewa śceżek został zaproponowany w pracy [18]. Tworzene drzewa śceżek także rozpoczyna sę od wyznaczena dowolnej śceżk p z werzchołka v s do werzchołka v e. Inna jest natomast kolejność analzy werzchołków, poneważ po wyznaczenu śceżk p +1 ne jest przerywana analza śceżk p, tylko podejmowana jest próba wyznaczena kolejnych śceżek na podstawe tej śceżk. Śceżka p +1 jest poddawana analze na jej podstawe jest podejmowana próba utworzena kolejnych śceżek dopero po wyznaczenu wszystkch możlwych śceżek, jake można uzyskać na podstawe śceżk p. Dzęk takej kolejnośc analzy śceżek przed rozpoczęcem analzy śceżk p j zachodz koneczność usunęca z grafu wszystkch werzchołków, które poprzedzają w tej śceżce werzchołek d(p j ). Z tego powodu werzchołk są usuwane z grafu wększą lczbę razy nż w algorytme, który został wcześnej opsany. 5. Algorytm wyznaczana połączeń w secach komunkacyjnych W algorytme została użyta metoda skalaryzacj oraz algorytm tworzena drzewa śceżek opsany w rozdzale 4. Zgodne z zależnoścą (3) dla wyznaczanych śceżek reprezentujących jest wprowadzana zastępcza funkcja kryteralna określona zależnoścą (8). Czas przejazdu T jest uwzględnany z wagą T, a koszt przejazdu C z wagą C. Wartośc wag T C są dobrane tak, aby wartośc funkcj kryteralnej F Z śceżek o mnmalnym czase koszce przejazdu były sobe równe oraz była spełnona zależność (4), co określa układ równań (9). F Z = T T + C C. (8) TTmax CC T C 1 mn T T mn C C max W układze równań (9) wartośc (T max, C mn ) są wagam śceżk o mnmalnym koszce przejazdu, natomast (T mn, C max ) są wagam śceżk o mnmalnym czase przejazdu. Warto zwrócć uwagę na to, że waga C max śceżk o mnmalnym czase przejazdu określa maksymalny koszt śceżk będącej rozwązanem nezdomnowanym. Podobne w przypadku śceżk o mnmalnym koszce przejazdu, jej waga T max określa maksymalny czas przejazdu dla śceżk należącej do zboru rozwązań nezdomnowanych. Powyższe zależnośc wynkają z defncj rozwązana nezdomnowanego. Z układu równań (9) są otrzymywane wartośc wag T C, określone zależnoścam (10) (11). Zależnośc te obowązują wyłączne (9)
68 J. Wduch w przypadku, kedy wag śceżek o mnmalnym czase koszce przejazdu są różne. Jeżel są one równe, to wag T C przyjmują wartość 0.5. C C max mn T (10) Cmax Cmn Tmax Tmn T T max mn C (11) Cmax Cmn Tmax Tmn Algorytm wyznaczana połączeń komunkacyjnych z użycem metody skalaryzacj oraz drzewa śceżek został przedstawony w postac procedury SSP. Wejśce: G = (V, E) graf skerowany reprezentujący seć komunkacyjną v s werzchołek reprezentujący przystanek początkowy v e werzchołek reprezentujący przystanek końcowy T s godzna rozpoczęca podróży na przystanku początkowym Wyjśce: R - zbór rozwązań, tj. śceżek reprezentujących połączena komunkacyjne 1: procedure SSP(G, v s, v e, T s, R) 2: begn 3: R := ; S ; {pusty zbór rozwązań stos zawerający śceżk} 4: p := MnKoszt(G, v s, v e, T s); R := R {p}; 5: p := MnCzas(G, v s, v e, T s); R := R {p}; 6: wyznacz wartośc T, C F max; 7: p akt := p; {aktualne analzowana śceżka} 8: := 0; {ndeks analzowanego werzchołka w śceżce p akt} 9: konec := false; {znacznk określający, czy zakończyć oblczena} 10: whle not konec do 11: op := WYZNACZ_ŚCIEŻKĘ; {aktualne wykonywana operacja} 12: whle < len(p akt) and op NOWA_ŚCIEŻKA do 13: usuń z grafu G łuk (v, v +1) należący do śceżk p akt; 14: (p, op) := NowaŚceżka(G, v, v e, T s, T, C, F max, p akt); 15: f op = BRAK_ŚCIEŻKI then 16: usuń z grafu G werzchołek v ; := + 1; 17: end f 18: end whle 19: f op = NOWA_ŚCIEŻKA then {znalezono nową śceżkę} 20: R := R {p}; 21: S (p akt, ); {umeszczene śceżk p akt na stose} 22: p akt := p; := d(p akt); 23: else {op = BRAK_ŚCIEŻKI} 24: umeść w grafe G usunęte werzchołk łuk dla śceżk p akt; 25: f S then {stos ne jest pusty} 26: (p akt, ) S; {pobrane śceżk ze stosu} 27: usuń z grafu G werzchołek v ; := + 1; 28: else 29: konec := true; {zakończene oblczeń} 30: end f 31: end f 32: end whle 33: usuń rozwązana zdomnowane ze zboru R; 34: return R; 35: end Wyznaczone połączena komunkacyjne są zapamętywane w zborze rozwązań R. Dodatkowo użyty jest stos S zawerający analzowane śceżk, na podstawe których są wyznaczane nowe śceżk. W początkowych krokach algorytmu są wyznaczane umeszczane
Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych 69 w zborze rozwązań R śceżk o mnmalnym koszce czase przejazdu (wersze 4 5). Do ch wyznaczena jest stosowany zmodyfkowany algorytm Djkstry [80]. Na podstawe wyznaczonych śceżek wyznaczane są, zgodne z zależnoścam (10) (11), wartośc wag T C, a także wartość F max (wersz 6). Wartość F max jest równa wartośc zastępczej funkcj kryteralnej F Z dla śceżk o mnmalnym czase przejazdu jest określona zależnoścą (12) 2. W zborze rozwązań R będą zapamętywane wyłączne rozwązana, dla których wartość zastępczej funkcj kryteralnej F Z ne przekracza wartośc F max. F max = T T mn + C C max. (12) Kolejne rozwązana są wyznaczane na podstawe aktualne analzowanej śceżk p akt = v 0 = v s, (v 0, v 1 ), v 1,, v n 1, (v n 1, v n ), v n = v e (wesze 10 32), przy czym początkowo jest ną śceżka o mnmalnym czase przejazdu (wersz 7). Tworzene nowych śceżek odbywa sę w teracj whle (wersze 12 18) przez próbę wyznaczena nowej śceżk (wersz 14) z każdego werzchołka {d(p akt ),, v n 1 }, należącego do śceżk p akt, do werzchołka końcowego v e. W trakce wyznaczana śceżek jest użyty znacznk op zawerający nformację o wykonywanej operacj przyjmujący jedną z wartośc: WYZNACZ_ŚCIEŻKĘ oznacza, że zostane podjęta próba wyznaczena nowej śceżk z analzowanego werzchołka v do werzchołka v e, NOWA_ŚCIEŻKA oznacza, że została wyznaczona nowa śceżka z werzchołka v do werzchołka v e, BRAK_ŚCIEŻKI oznacza, że ne udało sę wyznaczyć nowej śceżk z werzchołka v do werzchołka v e. Przed wyznaczenem nowej śceżk jest usuwany z grafu G łuk (v, v +1 ), należący do śceżk p akt, wychodzący z werzchołka o ndekse (wersz 13). Operacja ta zapobega ponownemu wyznaczenu tej samej śceżk zapewna skończoność algorytmu. W przypadku kedy ne powodła sę operacja wyznaczena nowej śceżk z werzchołka v, następuje usunęce z grafu werzchołka v przejśce do analzy następnego werzchołka należącego do śceżk p akt (wersze 15 17). Po wyznaczenu nowej śceżk p jest ona dodawana do zboru rozwązań R (wersz 20), na stose S umeszczana jest aktualne analzowana śceżka p akt wraz z ndeksem werzchołka, na którym zakończyła sę analza śceżk p akt (wersz 21). Wyznaczona śceżka p staje sę śceżką p akt (wersz 22), która zostane poddana analze na podstawe której zostane podjęta próba wyznaczena nowych śceżek. Analza śceżk rozpoczne sę od werzchołka odchylającego d(p akt ) (wersz 22). 2 Wartość F max jest równa także wartośc zastępczej funkcj kryteralnej F Z dla śceżk o mnmalnym koszce przejazdu.
70 J. Wduch W przypadku braku możlwośc wyznaczena nowej śceżk na podstawe śceżk p akt, w grafe G są umeszczane wszystke werzchołk łuk, które zostały usunęte podczas analzy beżącej śceżk p akt (wersz 24). Jeżel stos S ne jest pusty, to poberana jest z nego śceżka, która zostane poddana analze, oraz ndeks werzchołka, na którym zakończyła sę poprzedna analza pobranej śceżk (wersz 26). Poneważ dokonana już została próba wyznaczena nowych śceżek z tego werzchołka, węc jest on usuwany z grafu następuje przejśce do analzy kolejnego werzchołka należącego do pobranej śceżk p akt (wersz 27). W przypadku kedy stos S jest pusty, następuje zakończene wyszukwana rozwązań przez nadane znacznkow konec wartośc true (wersz 29). W ostatnm kroku algorytmu usuwane są rozwązana zdomnowane ze zboru rozwązań R (wersz 33). Próba wyznaczena nowej śceżk w werszu 14 odbywa sę z użycem procedury NowaŚceżka. Wejśce: G = (V, E) skerowany graf reprezentujący seć komunkacyjną v werzchołek, z którego jest wyznaczana śceżka v e werzchołek końcowy T s godzna rozpoczęca podróży na przystanku początkowym T, C - wag, z jakm uwzględnany jest czas koszt przejazdu w zastępczej funkcj kryteralnej F Z F max - maksymalna wartość zastępczej funkcj kryteralnej F Z dla akceptowalnego rozwązana p akt - śceżka, na podstawe której jest podejmowana próba utworzena nowej śceżk Wyjśce: (p, op) - wyznaczona śceżka p, nformacja o wykonanej operacj 1: procedure NowaŚceżka(G, v, v e, T s, T, C, F max, p akt) 2: begn 3: T := czas przejazdu z werzchołka v s do werzchołka v w śceżce p akt; 4: C := koszt przejazdu z werzchołka v s do werzchołka v w śceżce p akt; 5: for all v V do 6: F Z[v] := ; T[v ] := ; C[v ] := ; C[v ] := ; 7: end for 8: F Z[v ] := TT + CC ; {wartość funkcj F Z dla werzchołka v } 9: T[v ] := T ; C[v ] := C ; C[v ] := 0; 10: Q V; {wstaw wszystke werzchołk do kolejk} 11: konec := false; {znacznk określający czy zakończyć oblczena} 12: whle Q and not konec do 13: v mn mn(q); {pobrane z kolejk werzchołka o mnmalnej wartośc F Z} 14: f v mn = v e or F Z[v mn] = then 15: konec := true; 16: else 17: for all (v mn, v j) E and v j Q then 18: T j := czas dojazdu do werzchołka v j; 19: C j := koszt dojazdu do werzchołka v j; 20: C j := przyrost kosztu dojazdu do werzchołka v j; 21: F Zj := TT j + C(C j - C j); {wartość funkcj F Z dla werzchołka v j} 22: f F Zj < F Z[v j] and F Zj <= F max then 23: arc[v j] := (v mn, v j); {łuk wchodzący do werzchołka v j} 24: T[v j] := T j; C[v j] := C j; C[v j] := C j; F Z[v j] := F Zj; 25: end f 26: end for 27: end f 28: end whle 29: f F Z[v e] = then {ne wyznaczono rozwązana (nowej śceżk)}
Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych 71 30: return (, BRAK_ŚCIEŻKI); 31: else {wyznaczono nową śceżkę} 32: p := śceżka z v s do v e utworzona na podstawe p akt arc; 33: return (p, NOWA_ŚCIEŻKA); 34: end f 35: end W procedurze NowaŚceżka jest wyznaczana śceżka z werzchołka v do werzchołka v e o mnmalnej wartośc zastępczej funkcj F Z. Do wyznaczena śceżk jest stosowany zmodyfkowany algorytm Djkstry. Dla każdego werzchołka v V są pamętane następujące wartośc: F Z [v ] wartość zastępczej funkcj kryteralnej, T[v ], C[v ] czas koszt dojazdu z werzchołka początkowego v s do werzchołka v, C[v ] wartość przyrostu kosztu, o jak jest pomnejszany koszt dojazdu przy wyznaczanu wartośc zastępczej funkcj kryteralnej F Z. 1 j0 C [ v ] C j, j1 (13) Przy wyznaczanu wartośc zastępczej funkcj kryteralnej F Z dla werzchołka v, koszt przejazdu jest pomnejszany o wartość przyrostu kosztu C[v ]. Wartość ta pomnejsza koszt przejazdu w przypadku przesadek oraz przejazdu pojazdem ln pospesznej, w sytuacj kedy przesadka ne jest koneczna lub stneje możlwość przejazdu pojazdem ln zwykłej, zamast pospesznej. Przyrost kosztu ne przekracza mnmalnego kosztu dojazdu do werzchołka v jest określony zależnoścą (13), gdze C j,j+1 jest równe: 0 jeżel ne jest dokonywana przesadka na przystanku reprezentowanym przez werzchołek v j, kosztow przejazdu z v j do v j+1, jeżel w v j jest dokonywana przesadka ne jest on przystankem końcowym w trase ln, pojazdem której dojechano do v j, połowe kosztu przejazdu z v j do v j+1, jeżel w v j jest dokonywana przesadka jest on przystankem końcowym w trase ln, pojazdem której dojechano do v j, a do v j+1 przejazd odbywa sę pojazdem ln pospesznej, połowe kosztu przejazdu z v j do v j+1, jeżel v j jest werzchołkem reprezentującym przystanek początkowy podróży v s do v j+1 przejazd odbywa sę pojazdem ln pospesznej. W częśc ncjalzacyjnej procedury NowaŚceżka następuje wyznaczene czasu T kosztu dojazdu C z werzchołka początkowego v s do werzchołka v w śceżce p akt, na podstawe której jest podejmowana próba utworzena nowej śceżk (wersze 3 4). Ponadto, dla każdego werzchołka grafu wartośc F Z [v ], T[v ], C[v ], C[v ] są ncjowane wartoścam początkowym (wersze 5 9), a wszystke werzchołk są wstawane do kolejk prorytetowej Q
72 J. Wduch (wersz 10). Werzchołk w kolejce są uporządkowane nemalejąco według wartośc zastępczej funkcj kryteralnej F Z. Wyznaczene nowej śceżk z werzchołka v do werzchołka końcowego v e, o mnmalnej wartośc F Z neprzekraczającej wartośc F max, odbywa sę w teracj whle (wersze 12 28). W każdej teracj jest poberany z kolejk werzchołek v mn o mnmalnej wartośc F Z (wersz 13) 3. Jeżel pobranym werzchołkem jest werzchołek końcowy v e, to następuje zakończene oblczeń przez nadane znacznkow konec wartośc true (wersz 15). Zakończene oblczeń następuje także w sytuacj, kedy ne stneje werzchołek, dla którego wyznaczono śceżkę, co jest sygnalzowane wartoścą F Z [v mn ] =. Jeżel stneje werzchołek, dla którego wyznaczono śceżkę ne jest nm werzchołek końcowy v e, to następuje próba poprawena wartośc F Z dla wszystkch werzchołków v j sąsadujących z v mn znajdujących sę w kolejce Q, co sę odbywa przez analzę wszystkch łuków wychodzących z werzchołka v mn (wersze 17 26). W tym celu jest wyznaczany czas T j koszt dojazdu C j do werzchołka v j przez werzchołek v mn (wersze 18 19). Wyznaczany jest także zgodne z zależnoścą (13) przyrost kosztu C j (wersz 20) oraz wartość zastępczej funkcj kryteralnej F Zj (wersz 21). Przy wyznaczanu wartośc zastępczej funkcj kryteralnej F Zj koszt przejazdu C j jest pomnejszany o wartość C j. Jeżel wyznaczona wartość zastępczej funkcj kryteralnej F Zj jest mnejsza od dotychczas wyznaczonej wartośc F Z [v j ] dla werzchołka v j ne przekracza wartośc F max, to następuje zapamętane wyznaczonej śceżk do werzchołka v j przez werzchołek v mn (wersze 23 24). Zapamętywany jest łuk (v mn, v j ) wchodzący do werzchołka v j należący do śceżk (wersz 23) oraz czas T j koszt dojazdu C j, przyrost kosztu C j, a także wartość zastępczej funkcj kryteralnej F Zj (wersz 24). Procedura zwraca jako wynk parę wartośc: wyznaczoną śceżkę oraz kod wykonanej operacj równy NOWA_ŚCIEŻKA (wersze 32 33). W przypadku kedy ne jest możlwe wyznaczene nowej śceżk, zwracana jest pusta śceżka kod operacj BRAK_ŚCIEŻKI (wersz 30). Brak możlwośc wyznaczena nowej śceżk oznacza, że zostały już wcześnej wyznaczone wszystke śceżk z werzchołka v do werzchołka końcowego v e lub ne stneje śceżka, dla której wartość zastępczej funkcj kryteralnej F Z ne przekracza wartośc F max. 6. Wynk badań eksperymentalnych Badana eksperymentalne zostały przeprowadzone z użycem komputera PC z procesorem Pentum IV 2.4 GHz dla sec komunkacyjnej składającej sę z 1211 przystanków. Seć jest 3 Jeżel stneje wele takch werzchołków, to poberany jest dowolny z nch.
Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych 73 podzelona na 26 stref kursują w nej pojazdy 500 ln komunkacyjnych. Maksymalna długość trasy ln komunkacyjnej jest równa 29, a mnmalna długość jest równa 6 4. Graf G opsujący seć komunkacyjną zawera 1211 werzchołków, 5549 łuków ma następujące parametry: maksymalny stopeń wejścowy wyjścowy werzchołka są równe 13, maksymalny stopeń werzchołka jest równy 26, mnmalny stopeń wejścowy wyjścowy są równe 1, mnmalny stopeń werzchołka jest równy 2. Celem przeprowadzonych badań był pomar czasu wyznaczana połączeń komunkacyjnych z użycem opracowanego algorytmu SSP. Na czas wyznaczana połączeń ma wpływ welkość przeszukwanego obszaru przestrzen rozwązań, a co za tym dze lczba wszystkch wyznaczonych połączeń, także będących rozwązanam zdomnowanym. Stąd celem badań był także pomar lczby wyznaczonych połączeń komunkacyjnych. W celu porównana uzyskanych wynków dodatkowo przeprowadzono badana z użycem algorytmów DFSB, BFS MKSP, które zostały omówone w pracach [31, 32, 34]. Tabela 3 Wynk badań eksperymentalnych z użycem algorytmu SSP Lczba wyznaczonych Przystanek Długość trasy Czas wyznaczana połączeń połączeń [mn:s] początkowy końcowy mn. maks. nezdomnowane wszystke 270 398 32 49 60 8876 0:55 360 485 25 40 49 1413 0:04 364 219 22 34 40 1269 0:04 394 278 33 58 33 13006 1:19 415 475 27 34 13 3434 0:07 445 480 22 28 25 4566 0:12 440 475 23 36 11 1535 0:03 475 570 21 30 19 2495 0:07 545 685 34 45 8 20603 1:38 650 780 34 58 8 34246 2:18 925 1080 29 41 41 7660 0:50 930 1055 32 40 16 7911 0:52 945 1055 26 36 11 1122 0:04 1209 1104 19 24 15 1198 0:03 4 Długość trasy ln komunkacyjnej jest merzona lczbą przystanków należących do trasy.
74 J. Wduch Tabela 4 Wynk badań eksperymentalnych z użycem algorytmów DFSB, BFS, MKSP Przystanek Lczba wszystkch Czas wyznaczana połączeń wyznaczonych połączeń [mn:s] początkowy końcowy DFSB BFS MKSP DFSB BFS MKSP 270 398 94638 150911 150673 9:03 15:37 15:18 360 485 1172 5229 4893 0:02 0:24 0:19 364 219 1242 5472 4963 0:04 0:30 0:21 394 278 95008 151437 150813 9:49 16:29 15:32 415 475 12984 12974 31836 0:51 1:00 3:10 445 480 47201 62623 96421 3:35 6:59 9:25 440 475 1042 5611 4528 0:01 0:38 0:13 475 570 1405 9736 18673 0:05 1:11 2:19 545 685 96497 151694 151613 9:46 16:42 16:38 650 780 130482 155015 153007 11:28 18:08 17:29 925 1080 85935 139935 141735 7:47 12:14 13:28 930 1055 93692 143173 142677 8:47 14:35 14:18 945 1055 1592 5286 4994 0:06 0:28 0:24 1209 1104 1207 5329 4947 0:03 0:29 0:21 Rys. 6. Zależność czasu wyznaczana połączeń od lczby wyznaczonych połączeń za pomocą algorytmu SSP Fg. 6. A computaton tme of routes dependng on a number of computed routes usng the SSP algorthm
Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych 75 W tabel 3 przedstawono wynk przeprowadzonych badań dla algorytmu SSP, który został opsany w rozdzale 5. Dla danych par przystanków początkowego końcowego przedstawono lczbę wszystkch wyznaczonych połączeń komunkacyjnych, w tym połączeń będących rozwązanam nezdomnowanym. Przedstawono także czas wyznaczana połączeń oraz maksymalną mnmalną długość trasy wyznaczonego połączena będącego rozwązanem nezdomnowanym. Lczba wszystkch wyznaczonych połączeń uwzględna wyznaczone połączena końcowe, tj. połączena z przystanku początkowego do przystanku końcowego, a także wyznaczone połączena częścowe. Przez połączene częścowe rozume sę każde wyznaczone rozwązane w procedurze NowaŚceżka (wersze 23 24). Wynk przeprowadzonych badań z użycem algorytmów DFSB, BFS MKSP zostały przedstawone w tabel 4, gdze przedstawono czas wyznaczana połączeń oraz lczbę wszystkch wyznaczonych połączeń. Dodatkowo wynk przeprowadzonych badań zostały przedstawone na wykresach (rys. 6 8). Czas wyznaczana połączeń z użycem algorytmów DFSB, BFS, MKSP SSP przedstawa wykres na rys. 7, a wykres z rys. 8 przedstawa lczbę wszystkch wyznaczonych połączeń. Dodatkowo na rys. 6 przedstawono wykres zależnośc czasu wyznaczana połączeń od lczby wszystkch wyznaczonych połączeń z użycem algorytmu SSP. W celu porównana algorytmów zameszczono także na wykrese czas wyznaczana połączeń za pomocą pozostałych badanych algorytmów. Rys. 7. Czas wyznaczana połączeń z użycem algorytmów DFSB, BFS, MKSP, SSP Fg. 7. A computaton tme of routes usng the DFSB, BFS, MKSP, SSP algorthms
76 J. Wduch Najkrótszy czas wyznaczana rozwązań, tj. połączeń komunkacyjnych, został uzyskany dla algorytmu SSP, co wynka ze sposobu wyznaczana rozwązań przeszukwana przestrzen rozwązań. Jak wspomnano w rozdzale 3, zastosowane metody skalaryzacj ne gwarantuje wyznaczena wszystkch rozwązań nezdomnowanych. Jak wykazano w pracach [5, 25, 30], nektóre rozwązana ne mogą być wyznaczone z użycem tej metody. Z tego powodu w algorytme SSP jest przeszukwany najmnejszy obszar przestrzen rozwązań, dzęk czemu osągnęto najkrótszy czas ch wyznaczana. W najdłużej trwającym eksperymence, jakm było wyznaczene rozwązań mędzy przystankam 650 780, czas ten jest ok. 5 krotne mnejszy nż dla algorytmu DFSB ok. 9 krotne mnejszy nż dla algorytmów MKSP BFS. Przeszukane najmnejszego obszaru przestrzen rozwązań potwerdza lczba wszystkch wyznaczonych rozwązań, która jest najmnejsza dla algorytmu SSP. Najwęcej rozwązań wyznaczono dla pary przystanków 650 780. Lczba wyznaczonych rozwązań z użycem algorytmu SSP jest 4 krotne mnejsza nż w przypadku algorytmu DFSB 5 krotne mnejsza nż w przypadku algorytmów MKSP BFS. Rys. 8. Lczba wszystkch wyznaczonych połączeń z użycem algorytmów DFSB, BFS, MKSP, SSP Fg. 8. A number of all computed routes usng the DFSB, BFS, MKSP, SSP algorthms
Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych 77 7. Podsumowane W nnejszej pracy został przedstawony problem wyznaczana połączeń w secach komunkacyjnych. Celem badanego problemu jest, dla zadanej pary przystanków początkowego końcowego oraz godzny rozpoczęca podróży, wyznaczene połączeń komunkacyjnych mnmalzując jednocześne czas koszt przejazdu. Rozwązane nnejszego problemu sprowadza sę do rozwązana dwukryteralnego problemu wyznaczana najkrótszej śceżk w grafe o zmennych wagach. Problem ten należy do grupy zadań optymalzacj welokryteralnej, a jego rozwązanem w ogólnym przypadku jest zbór rozwązań, zwany zborem rozwązań nezdomnowanych. Kryteram jakośc, na podstawe których dokonywana jest ocena rozwązań, tj. połączeń komunkacyjnych, są czas koszt przejazdu. W pracy zaproponowano algorytm SSP, w którym połączena komunkacyjne należące do zboru rozwązań nezdomnowanych są wyznaczane z użycem metody skalaryzacj. W metodze tej poszczególnym kryterom jakośc są przypsywane wag określające wpływ danego kryterum na wyznaczone rozwązane jest wprowadzana zastępcza funkcja kryteralna F Z, która następne jest poddawana optymalzacj. Dzęk wprowadzenu zastępczej funkcj kryteralnej zadane jest redukowane do zadana optymalzacj jednokryteralnej jest możlwość zastosowana mnej złożonych metod rozwązywana problemu. Jednak w ogólnym przypadku ne ma gwarancj wyznaczena wszystkch rozwązań nezdomnowanych. Przeprowadzając welokrotne proces optymalzacj dla różnych wag, stneje możlwość uzyskana różnych rozwązań nezdomnowanych. W algorytme SSP jest stosowana zastępcza funkcja kryteralna F Z określona zależnoścą (8), w której czas koszt przejazdu są odpowedno uwzględnane z wagam T C określonym zależnoścam (10) (11). Ich wartośc są wyznaczane na podstawe połączeń o mnmalnym czase koszce przejazdu według równań (9) ne są zmenane podczas wyznaczana rozwązań dla danej pary przystanków. Nowe rozwązana są wyznaczane na podstawe dotychczas wyznaczonych rozwązań poprzez analzę kolejnych werzchołków należących do aktualne analzowanego rozwązana wyznaczene śceżk z analzowanego werzchołka do werzchołka reprezentującego przystanek końcowy. Podczas wyznaczana śceżek jest modyfkowany graf reprezentujący seć komunkacyjną, co zapobega welokrotnemu wyznaczanu tych samych rozwązań. Rozwązanem startowym, od którego rozpoczyna sę wyznaczane kolejnych rozwązań, jest rozwązane o mnmalnym czase przejazdu, a do wyznaczana śceżek został użyty zmodyfkowany algorytm Djkstry. Dla opracowanego algorytmu SSP zostały przeprowadzone badana eksperymentalne. W celu porównana czasu wyznaczana rozwązań z użycem algorytmu SSP przeprowadzono dodatkowe badana z użycem algorytmów DFSB, BFS, MKSP, które zostały opsane
78 J. Wduch w pracach [31, 32, 34]. Najmnejszy czas wyznaczana rozwązań został uzyskany dla algorytmu SSP, co wynka ze sposobu przeszukwana przestrzen rozwązań. Metoda skalaryzacj ne gwarantuje wyznaczena wszystkch rozwązań nezdomnowanych, dlatego nektóre obszary przestrzen rozwązań ne są przeszukwane. W przypadku pozostałych trzech algorytmów są wyznaczane wszystke rozwązane nezdomnowane, a co za tym dze jest przeszukwany wększy obszar przestrzen rozwązań nż w algorytme SSP. Warto jednak podkreślć, że w algorytme SSP sposób przeszukwana przestrzen rozwązań gwarantuje wyznaczene rozwązań optymalnych ze względu na każde z kryterów, tj. rozwązań o mnmalnym czase koszce przejazdu. BIBLIOGRAFIA 1. Brumbaugh Smth J., Sher D.: An emprcal nvestgaton of some bcrteron shortest path algorthms. European Journal of Operatonal Research, Vol. 43, No. 2, 1989, s. 216 224. 2. Clmaco J. C., Martns E. Q. V.: A bcrteron shortest path algorthm. European Journal of Operatonal Research, Vol. 11, No. 4, 1982, s. 399 404. 3. Coello Coello C. A., van Veldhuzen D. A., Lamont G. B.: Evolutonary algorthms for solvng mult objectve problems. Kluwer Academc Publshers, New York 2002. 4. Corley H.W., Moon I. D.: Shortest paths n networks wth vector weghts. Journal of Optmzaton Theory and Applcaton, Vol. 46, No. 1, 1985, s. 79 86. 5. Coutnho Rodrgues J. M., Clmaco J. C., Current J. R.: An nteractve b objectve shortest path approach: searchng for unsupportet nondomnated solutons. Computers & Operatons Research, Vol. 26, No. 8, 1999, s. 789 798. 6. Cormen T. H., Leserson Ch. E., Rvest R. L.: Wprowadzene do algorytmów. WNT, Warszawa 2000. 7. Daellenbach H. G., De Kluyver C. A.: Note on multple objectve dynamc programmng. Journal of the Operatonal Research Socety, Vol. 31, No. 7, 1980, s. 591 594. 8. Dell'Olmo P., Gentl M., Scozzar A.: On fndng dssmlar Pareto optmal paths. European Journal of Operatonal Research, Vol. 162, No. 1, 2005, s. 70 82. 9. Garey M., Johnson D.: Computers and ntractblty: a gude to the theory of NP completeness. W. H. Freeman & Co., New York, USA, 1990. 10. Hansen P.: Bcrteron path problems. Multple Crtera Decson Makng: Theory and Applcaton, Sprnger Verlag, Berln, Germany, 1980, s. 109 127. 11. Jungnckel D.: Graphs, networks and algorthms. Sprnger, Berln 1999. 12. Lpsk W.: Kombnatoryka dla programstów. WNT, Warszawa 1989.
Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych 79 13. Machuca E., Mandow L., Pérez de la Cruz J.L.: An Evaluaton of Heurstc Functons for Bcrteron Shortest Path Problems. Proceedngs of the XIV Portuguese Conference on Artfcal Intelgence (EPIA 2009), Unversdade de Avero, 2009, s. 205 216. 14. Mandow L., Pérez de la Cruz J. L.: Fronter search for Bcrteron Shortest Path Problems. Proceedng of the 2008 conference on ECAI 2008 18th European Conference on Artfcal Intellgence, IOS Press, 2008, s. 480 484. 15. Mandow L., Pérez de la Cruz J. L.: Path recovery n fronter search for multobjectve shortest path problems. Journal of Intellgent Manufacturng, Vol. 21, No. 1, 2008, s. 89 99. 16. Martí R., González Velarde J. L., Duarte A.: Heurstcs for the b objectve path dssmlarty problem. Computers & Operatons Research, Vol. 36, No. 11, 2009, s. 2905 2912. 17. Martns E. Q. V.: On a multcrtera shortest path problem. European Journal of Operatonal Research, Vol. 16, No. 2, 1982, s. 236 245. 18. Martns E. Q. V., Pascoal M. M. B.: An algorthm for rankng optmal paths. Departamento de Matematca, Unversdade de Combra, Techncal Report 01/004, CISUC, 2000 (http://www.mat.uc.pt/~marta/publcacoes/rank_optmal.ps.gz). 19. Mote J., Murthy I., Olson D. L.: A parametrc approach to solvng bcrteron shortest path problems. European Journal of Operatonal Research, Vol. 53, No. 1, 1991, s. 81 92. 20. Pareto V.: Course d'econome Poltque, F. Rouge, Lausanne, 1896. 21. Peschel M., Redel C.: Poloptymalzacja. Metody podejmowana decyzj kompromsowych w zagadnenach nżyneryjno-techncznych. WNT, Warszawa 1979. 22. Rath A., Ehrgott M.: A comparson of soluton strateges for bobjectve shortest path problems. Journal Computers and Operatons Research, Vol. 36, No. 4, 2009, s. 1299 1331. 23. Rengold E. M., Nevergelt J., Deo N.: Algorytmy kombnatoryczne. PWN, Warszawa 1985. 24. Skrver A.J.V., Andersen K.A.: A label correctng approach for solvng bcrteron shortest-path problems. Computers & Operatons Research, Vol. 27, 2000, s. 507 524. 25. Skrver A. J. V., Andersen K. A.: A classfcaton of bcrtera shortest path (BSP) algorthms. Asa Pacfc Journal of Operatonal Research, Vol. 17, 2000, s. 199 212. 26. Stadler W.: A survey of Multcrtera Otmzaton or the Vector Maxmum Problem. Part I: 1776 1960, Journal of Optmzaton Theory & Aplcaton, Vol. 29, No. 1, 1979, s. 1 52. 27. Tung C.T., Chew K.L.: A bcrteron Pareto optmal path algorthm. Asa Pacfc Journal of Operatonal Research, Vol. 5, 1988, s. 166 172.
80 J. Wduch 28. Ulungu E. L., Teghem J.: Mult objectve combnatoral optmzaton problems: a survey. Journal of Mult-Crtera Decson Analyss, Vol. 3, No. 2, 1994, s. 83 104. 29. Voorneveld M.: Characterzaton of Pareto domnance. Operatons Research Letters, Vol. 31, No. 1, 2003, s. 7 11. 30. Whte D. J.: The set of effcent solutons for multple objectve shortest path problems. Computers & Operatons Research, Vol. 9, No. 2, 1982, s. 101 107. 31. Wduch J.: Problem wyznaczana połączeń w secach komunkacyjnych. Studa Informatca, Vol. 22, No. 4(46), Glwce 2001, s. 117 134. 32. Wduch J.: Wyznaczane połączeń w secach komunkacyjnych o zmennych wagach. Studa Informatca, Vol. 23, No. 4(51), Glwce 2002, s. 85 104. 33. Wduch J.: Algorytmy optymalzacj welokryteralnej w problemach komunkacyjnych. Rozprawa doktorska, Poltechnka Śląska, Glwce 2008. 34. Wduch J.: Rozwązane problemu wyznaczana połączeń w secach komunkacyjnych za pomocą zmodyfkowanego algorytmu wyznaczana K najkrótszych śceżek. Studa Informatca, Vol. 31, No. 1(88), Glwce 2010, s. 55 70. Recenzent: Dr hab. nż. Marusz Boryczka, prof. UŚ Wpłynęło do Redakcj 3 paźdzernka 2011 r. Abstract The communcaton networks routng problem (CNRP) whch s a sample of the bcrteron shortest path problem (BSP) wth varable weghts have been presented. Several algorthms have been proposed n the lterature for solvng the BSP, but these algorthms assume constant weghts [1, 2, 4, 7, 8, 10, 13, 14, 15, 16, 17, 19, 22, 24, 27]. The CNRP s an example of multcrtera optmzaton problem (MOP), too. In the paper we present fundamental nformaton about MOP and we present the CNRP descrpton and analyss of the problem. In general case the soluton of the MOP s not a sngle soluton but a set of solutons called the set of non domnated solutons. We present the SSP algorthm to fnd the routes between two gven stops: the start stop and the fnal stop, and the tme of start of journey at the start stop. We have two optmzaton crtera: tme and cost of travel. Computed routes belongng to the set of non domnated soluton. The algorthm fnd the solutons usng scalarzaton method, where the crteron functons are replaced wth sngle weghted crteron functon F Z defned by formula (8).