30
BIULETYN WAT VOL. LX, NR 4, 2011 Metody rozwiązywania problemu najkrótszych dróg wierzchołkowo rozłącznych przechodzących przez wybrane wierzchołki w sieciach o strukturze kraty ZBIGNIEW TARAPATA, STEFAN WROCłAWSKI Wojskowa Akademia Techniczna, Wydział Cybernetyki, Instytut Systemów Informatycznych, 00-908 Warszawa, ul. S. Kaliskiego 2, [email protected], [email protected] Streszczenie. W pracy zaprezentowano modele i metody służące do rozwiązywania problemu wyzna- czania K dróg wierzchołkowo rozłącznych przechodzących przez wybrane wierzchołki, o najmniejszym sumarycznym koszcie w sieci prostokątnej (tzw. kracie) opartej o graf G. Zdefiniowano problem jako zadanie optymalizacji liniowej ciągłej oraz przedstawiono dwie metody przybliżone jego rozwiązania: metodę SGDP (bazującą na pewnej iteracyjnej procedurze wyznaczania dróg najkrótszych w pod- grafach grafu G) oraz modyfikację metody Edmondsa-Karpa rozwiązywania problemu wyznaczania przepływu zaspokajającego o minimalnym koszcie. Przeprowadzono analizę ich złożoności oraz dokonano porównania jakości obu metod na podstawie eksperymentalnych wyników. Słowa kluczowe: drogi rozłączne wierzchołkowo; symulacja pola walki; generowanie podgrafów; planowanie przemieszczania 1. Wprowadzenie Problem dróg rozłącznych jest znanym problemem optymalizacyjnym w sieciach. Obejmuje on następujące zagadnienia: planowanie manewrów oddziałów wojskowych i planowanie przemieszczania obiektów (np. pojazdów) [32], harmonogramowanie zadań w równoległych i rozproszonych systemach obliczeń [26], problem kurierów, problem konstruowania niezawodnej sieci [5] czy problem routingu w sieciach tele- komunikacyjnych (w szczególności optycznych) [1], [2], [14], [17], [20] etc. Prezen- towanym problemem oraz metodami jego rozwiązania mocno zainteresowany jest również przemysł związany z projektowaniem i produkcją układów elektronicznych

Metody rozwiązywania problemu najkrótszych dróg ...yadda.icm.edu.pl/yadda/element/bwmeta1.element.baztech-article-BWA... · algorytmu Dijkstry do znalezienia najkrótszej drogi

  • Upload
    vannga

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Biuletyn WAt Vol. lX, nr 4, 2011

Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych przechodzcych przez wybrane wierzchoki w sieciach o strukturze kraty

Zbigniew TarapaTa, STefan wrocawSki

wojskowa akademia Techniczna, wydzia cybernetyki, instytut Systemw informatycznych, 00-908 warszawa, ul. S. kaliskiego 2,

[email protected], [email protected]

Streszczenie. w pracy zaprezentowano modele i metody suce do rozwizywania problemu wyzna-czania K drg wierzchokowo rozcznych przechodzcych przez wybrane wierzchoki, o najmniejszym sumarycznym koszcie w sieci prostoktnej (tzw. kracie) opartej o graf G. Zdefiniowano problem jako zadanie optymalizacji liniowej cigej oraz przedstawiono dwie metody przyblione jego rozwizania: metod SgDp (bazujc na pewnej iteracyjnej procedurze wyznaczania drg najkrtszych w pod-grafach grafu G) oraz modyfikacj metody edmondsa-karpa rozwizywania problemu wyznaczania przepywu zaspokajajcego o minimalnym koszcie. przeprowadzono analiz ich zoonoci oraz dokonano porwnania jakoci obu metod na podstawie eksperymentalnych wynikw. Sowa kluczowe: drogi rozczne wierzchokowo; symulacja pola walki; generowanie podgrafw; planowanie przemieszczania

1. Wprowadzenie

problem drg rozcznych jest znanym problemem optymalizacyjnym w sieciach. obejmuje on nastpujce zagadnienia: planowanie manewrw oddziaw wojskowych i planowanie przemieszczania obiektw (np. pojazdw) [32], harmonogramowanie zada w rwnolegych i rozproszonych systemach oblicze [26], problem kurierw, problem konstruowania niezawodnej sieci [5] czy problem routingu w sieciach tele-komunikacyjnych (w szczeglnoci optycznych) [1], [2], [14], [17], [20] etc. prezen-towanym problemem oraz metodami jego rozwizania mocno zainteresowany jest rwnie przemys zwizany z projektowaniem i produkcj ukadw elektronicznych

202 Z. Tarapata, S. Wrocawski

bardzo duej skali integracji (VLSi ang. Very Large Scale Integration) [1]. kluczo-wym zagadnieniem jest znalezienie takich cieek na pytkach ukadw, aby adne z nich si nie przecinay, a ponadto aby byy one jak najkrtsze.

problem przemieszczania obiektw jest jednym z podstawowych problemw w symulatorach pola walki i jest zwizany z przegrupowaniem jednostek wojskowych na polu walki zarwno w czasie dziaa bojowych, jak i na etapie ich planowania. przemieszczanie obiektw jest bardzo wane z punktu widzenia zoonych symulacji, poniewa moe wpywa na dokadno, adekwatno, efektywno i inne charak-terystyki tych systemw. w przypadku systemw DiS (ang. Distributed Interactive Simulation), system ma za zadanie symulowa procesy i obiekty pola walki w celu szkolenia personelu militarnego, czyli prowadzenia tzw. komputerowo wspomaga-nych wicze caX (ang. Computer Assisted Exercises). Jedn z technik sucych do zapewnienia dziaa wojsk strony przeciwnej na wirtualnym polu walki jest uycie komputera do generowania i kontrolowania wielu obiektw symulacyjnych. Systemy takie nazywa si cgf (ang. Computer Generated Forces) [21] lub Saf (ang. Semi-Automated Forces). nieodczn czci tego typu systemw s moduy planowania tras przemieszczania bazujce na modelach terenu i wykorzystujce przetworzone z nich informacje. w [19] opisany zosta modu tego typu stosowany w systemie ModSaf. w [4] autorzy opisuj system mieszany planowania tras (po drogach i na przeaj) z uyciem systemw typu giS w symulatorach. opisuj m.in. tzw. hierarchiczny system planowania drg jako cz prognostycznego systemu analiz taktycznych piMTaS (ang. Predictive Intelligence Military Tactical Analysis System). Modu planowania tras w systemie ccTT (Close Combat Tactical Trainer) opisany zosta w [8], natomiast autorzy [16] opisali analizator przemieszczania TMa (ang. Tactical Movement Analyzer). System ten wykorzystuje mapy cyfrowe, zdjcia satelitarne, warunki pogodowe i rodzaj pojazdu, aby okreli przejezdno kwadratu terenu. Modu odpowiedzialny za planowanie przemieszczania znajdu-je si rwnie w polskim systemie wspomagania szkolenia operacyjnego wojsk Zocie, ktry zosta wytworzony w wydziale cybernetyki wojskowej akademii Technicznej [3]. przegld moliwych rozwiza w tym zakresie zosta przedsta-wiony m.in. w [28]. w pracach [26], [32] i [33] przedstawiono kilka problemw harmonogramowania przemieszczania oraz jego synchronizacji dla wielu obiektw oraz algorytmy rozwizujce ten problem wraz z teoretyczn i eksperymentaln analiz w zastosowaniach militarnych. w pracy [34] porusza si wany problem wielorozdzielczego planowania i symulacji przemieszczania.

problem optymalizacyjny znajdowania K najkrtszych drg rozcznych dla K > 1 pomidzy K parami rnych wierzchokw jest np trudny (nawet dla K = 2) [12], [15], [20], rwnie jeli na graf bdzie narzucone wymaganie planarnoci [13]. problem znalezienia dwch lub wicej rozcznych drg pomidzy ustalo-nymi parami wierzchokw kocowych jest intensywnie studiowany. pierwsze znaczce wyniki zostay uzyskane przez Suurballe [24]. Zaprezentowany przez

203Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

niego algorytm dla jednego rda i jednego wierzchoka docelowego ma zoono O(Alog(1+A/V)V), gdzie V to liczba wierzchokw sieci, A liczba ukw w sieci. Metoda ta rozwizuje omawiany problem jako specjalny przypadek problemu przepywu o minimalnym koszcie i wykorzystuje dwie efektywne implementacje algorytmu Dijkstry do znalezienia najkrtszej drogi z pojedynczego wierzchoka. efektywny algorytm znajdujcy drogi rozczne z pojedynczego rda do pozo-staych wierzchokw sieci zosta przedstawiony w [25]. pary drg rozcznych s wyznaczane tu za pomoc algorytmu zblionego do algorytmu Dijkstry o zoonoci O(Alog(1+A/V)V). perl i Shiloach [11] studiowali zoono poszukiwa dwch drg rozcznych pomidzy dwoma rnymi wierzchokami pocztkowymi i dwoma rnymi wierzchokami kocowymi w skierowanych grafach acyklicznych (Dag). Zaproponowali algorytm, ktry daje si w atwy sposb uoglni do znajdowania najkrtszych par drg (mierzonych jako sumaryczna dugo drg) lub do znaj-dowania pku d drg rozcznych pomidzy okrelonymi punktami kocowymi. w tym drugim przypadku zoono obliczeniowa wynosiaby O(AV d-1). eppstein w [11] rozwaa problem poszukiwania par drg wierzchokowo rozcznych w Dag, zarwno czc dwa okrelone wierzchoki z ich wsplnym przodkiem, albo czc dwie pary wierzchokw pocztkowych i kocowych. pokaza, jak znale K par drg o najkrtszej cznej dugoci w czasie O(AV + K) oraz jak zliczy wszystkie takie pary drg, wykorzystujc O(AV) operacji arytmetycznych. wyniki te mog by rozszerzone na znajdowanie lub zliczanie pkw zoonych z d rozcznych drg w czasie O(AV d-1+K) lub O(AV d-1). Li i inni [18] podali pseudowielomianowy algorytm dla optymalizacyjnej wersji problemu dla dwch drg rozcznych, przy czym minimalizowana jest dugo duszej z nich. w pracy [14] poruszany by problem poszukiwania dwch wierzchokowo rozcznych drg o minimalnym sumarycznym koszcie w sieciach, w ktrych koszt przypisany by do kadego uku lub krawdzi oraz koszt przejcia przypisany by do kadego wierzchoka tej sieci. koszt przejcia mia oznacza opnienia przesyu zwizane ze zmian technologii przesyu po obu stronach wza sieci. w pracy [31] przedstawiono opis sposobu wy-korzystania metod wyznaczania przepywu w sieciach do rozwizania specyficznego problemu planowania manewru wojsk, wykorzystujc zmodyfikowany algorytm busackera-gowena [7] oraz pewn procedur konstrukcji sieci przepywowej. Do-bre studium bardzo wanego problemu poszukiwania drg rozcznych w grafach planarnych zaprezentowano w [22]. bardzo ciekawe podejcie do problemu czasowo zalenych najkrtszych par drg rozcznych zostao przedstawione w [23]. w [26] zaproponowano nowe podejcie do problemu K drg rozcznych: bazuje ono na budowaniu, poczynajc od sieci pocztkowej, tzw. K-wierzchokw (K-wymiarowy wektor wierzchokw sieci), K-ukw i wirtualnej K-sieci, i poszukiwaniu w ta-kiej K-sieci najkrtszej K-drogi (K-wymiarowy wektor drg prostych), uywajc algorytmu podobnego do algorytmu Dijkstry.

204 Z. Tarapata, S. Wrocawski

w niniejszej pracy przedstawiono algorytm bazujcy na generowaniu podgrafw (Subgraphs Generating-based Disjoint Paths SgDp) oraz mody-fikacj metody edmondsa-karpa rozwizujc problem K najkrtszych drg rozcznych wierzchokowo, przechodzcych przez wybrane wierzchoki po-rednie. Metody te bazuj na zaoeniu, e topologia sieci reprezentowana jest przez graf prostoktny, ktry jest typow reprezentacj terenu, np. w symula-torach pola walki. w rozdziale 2 zdefiniowano problem wyznaczania K drg rozcznych midzy K wektorami wierzchokw porednich (w skrajnym przy-padku midzy K parami wierzchokw), rozdziay 3 i 4 zawieraj opisy wspo-mnianych metod, w rozdziale 5 przedstawiono wybrane dowiadczalne wyniki i dokonano porwnania omawianych metod. prac kocz wnioski oraz opis moliwych kierunkw rozwoju prezentowanych metod.

2. Definicja problemu

Sie oparta na grafie prostoktnym moe modelowa m.in. regularn siat-k kwadratowych obszarw terenu uywan do planowania przemieszczania na przeaj (rys. 1). Siatka ta dzieli teren na identycznego rozmiaru kwadrato-we obszary, za kady z nich jest homogeniczny z punktu widzenia charaktery-styki terenowej (wspczynnik spowolnienia, zalesienie, stopie widocznoci etc.). nie ma moliwoci przemieszczania si po obszarach, ktre nie s do siebie geograficznie przylege brana pod uwag jest jedynie przylego w pozio-mie, pionie oraz na ukos kady obszar moe mie maksymalnie 8 ssiadw (patrz rys. 1). wprowadzony jest rwnie koszt przejcia midzy ssiednimi (i tylko ssiednimi) obszarami.

Taka struktura moe by reprezentowana przez prostoktny digraf ,G GG V A= nazywany rwnie krat, gdzie VG zbir wierzchokw grafu (wierzchoek od-powiada rodkowi kwadratowego obszaru), AG zbir ukw grafu, AG VG VG,

rys. 1. Siatka prostoktna oraz odpowiadajcy jej graf typu krata

205Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

A = |AG|. uki istniej jedynie pomidzy wierzchokami odpowiadajcymi ssia-dujcym obszarom. funkcja kosztu opisana na ukach ma charakter addytywny, o nieujemnych wartociach.

niech VG = {1, , V}, tzn. kady wierzchoek grafu G utosamiany bdzie z jego numerem. niech M bdzie liczb odcinkw, z jakich ma skada si kada droga (M = N-1, N oznacza liczb wierzchokw porednich cznie z pocztko-wym i kocowym), K oznacza liczb obiektw, dla ktrych wyznacza bdziemy drogi. wektor wierzchokw przez ktre musi przechodzi droga dla k-tego obiektu oznaczymy 1 2, ,..., ,k k k Nkv v v v

= gdzie v1k jest wierzchokiem pocztkowym, a vNk kocowym drogi dla k-tego obiektu, pozostae wierzchoki s porednimi w drodze. niech [ ]imk V M KA a = bdzie macierz wierzchokw pocztkowych, porednich oraz kocowych dla kadego z obiektw: aimk = 1, gdy i-ty wierzchoek jest pocztkiem dla m-tego odcinka drogi k-tego obiektu, aimk = 1, jeli i-ty wierz-choek jest kocem dla m-tego odcinka drogi k-tego obiektu, aimk = 0 w pozostaych przypadkach. Dodatkowo, nastpujce warunki musz by spenione:

1 11 ,i k ka i v= = co oznacza, e wierzchoek v1k musi by wierzchokiem pocztkowym pierwszego odcinka drogi dla k-tego obiektu;

1 21 ,i k ka i v= = co oznacza, e pierwszy wierzchoek poredni v2k dla k-tego obiektu jest wierzchokiem kocowym dla pierwszego odcinka drogi dla tego obiektu;

1 ,iMk Mka i v= = co oznacza, e ostatni wierzchoek poredni vMk dla k-tego obiektu jest wierzchokiem pocztkowym dla ostatniego odcinka drogi dla tego obiektu;

1 ,iMk Nka i v= = co oznacza, e vNk jest wierzchokiem kocowym w ostatnim odcinku drogi dla k-tego obiektu;

{ } ( 1)1,..., 1 1 1,imk i m km M a a + = = co oznacza, e wierzchoek kocowy m-tego odcinka drogi dla k-tego obiektu jest rwnoczenie wierzchokiem pocztkowym dla (m+1)-tego odcinka drogi dla tego obiektu.

ponadto niech [ ]ik V KH h = bdzie macierz wierzchokw (generujc podgraf grafu G), ktre mog by brane pod uwag podczas wyznaczania drg dla kadego obiektu: hik = 1, jeli i-ty wierzchoek moe by wzity pod uwag podczas ustalania drg dla k-tego obiektu; hik = 0 w przeciwnym wypadku. niech ij V AOUT out = bdzie binarn macierz zawierajc informacje o ukach wychodzcych z wierz-chokw grafu G:outij = 1, jeli j-ty uk wychodzi z wierzchoka i-tego, outij = 0 w przeciwnym przypadku; ij V AIN in = bdzie binarn macierz przechowujc informacje o ukach wchodzcych do wierzchokw z grafu G:inij = 1, jeli j-ty uk wchodzi do i-tego wierzchoka, inij = 0 w przeciwnym przypadku. niech j AD d = bdzie wektorem nieujemnych kosztw przejcia ukw, jmk A M KX x = macierz zmiennych decyzyjnych: xjmk = 1 jeli j-ty uk z grafu G naley do m-tego odcinka drogi dla k-tego obiektu, xjmk = 0 w przeciwnym przypadku.

206 Z. Tarapata, S. Wrocawski

Zadanie wyznaczania K rozcznych drg przechodzcych przez wybrane wierzchoki sformuujemy nastpujco: wyznaczy macierz X tak, aby

1 1 1

minA M K

j jmkj m k

d x= = =

(1)

przy nastpujcych ograniczeniach:

( )1

, 1, ; 1, ; 1,A

ij j jmk imkj

out ini x a i V m M k K=

= = = =

(2)

1 1 1

1, 1, ,A M K

ij jmkj m k

out x i V= = =

=

(3)

1 1 1

1, 1, ,A M K

ij jmkj m k

in x i V= = =

=

(4)

1 1

, 1, ; 1, ,A M

ij jmk ikj m

out x h i V k K= =

= =

(5)

1 1

, 1, ; 1, ,A M

ij jmk ikj m

in x h i V k K= =

= = (6)

{ }0,1 , 1, ; 1, ; 1, .jmkx j A m M k K = = = (7)

poszczeglne ograniczenia maj nastpujc interpretacj: (2): dla kadego wierzchoka (wyczajc startowy i kocowy), dla kadego

obiektu oraz dla kadego odcinka drogi liczba ukw wychodzcych z wierzchoka i liczba ukw wchodzcych do wierzchoka, ktre zostay wybrane do drogi jest taka sama (nastpne dwa ograniczenia zapewniaj, ze warto ta jest 1). Dla wierzchoka pocztkowego rnica ta jest rwna 1 (tylko jeden odcinek drogi moe zaczyna si w danym wierzchoku startowym), a dla wierzchoka kocowego rwna 1 (tylko jeden odcinek drogi moe koczy si w danym wierzchoku kocowym).

(3) i (4): dla kadego wierzchoka co najwyej jeden uk wychodzcy (wcho-dzcy) z (do) niego moe nalee do jakiejkolwiek drogi.

(5) i (6): tylko wierzchoki dozwolone nale do drogi dla k-tego obiektu.Mona zauway, e macierz wspczynnikw ogranicze, zbudowana na

podstawie lewych stron ogranicze (2)-(6), jest cakowicie unimodularna, a prawe strony ogranicze, elementy aimk oraz hik s cakowitoliczbowe. Moemy zatem zastpi ograniczenie { }0,1jmkx ograniczeniem 0jmkx (otrzymujc cigy problem programowania liniowego zamiast binarny), gdy stosujc np. algorytm

207Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

simpleks, kade rozwizanie dopuszczalne bdzie cakowitoliczbowe (w tym przy-padku { }0,1jmkx ).

w powyszym problemie optymalizacyjnym zdefiniowano AMK zmien-nych decyzyjnych oraz V(MK+2K+2) ogranicze (wyczajc ograniczenie (7)). w pracach [29], [30] zdefiniowano podobny problem z wykorzystaniem binarnej macierzy incydencji grafu (zamiast macierzy IN i OUT, jak w tym przypadku), ale nie zmienia to w znaczcy sposb zoonoci tak sformuowanego problemu. w obu tych przypadkach rozwizanie problemu (1)-(7) standardowymi metodami rozwizywania zada programowania liniowego jest bardzo nieefektywne (zwasz-cza dla duych sieci), dlatego te w rozdziaach 3 i 4 zaprezentowano przyblione algorytmy rozwizania problemu.

3. Opis metody SGDP

Jedn z metod rozwizania problemu (1)-(7) jest metoda SgDp (Subgraphs Generating-based Disjoint Paths), w szczegach zaprezentowana w [32]. Znajduje ona pk K najkrtszych wierzchokowo rozcznych drg przechodzcych przez usta-lone rne wierzchoki porednie, dla kadego k = 1,, K. Jej ide jest generowanie tzw. pasa, czyli podgrafu Gmk grafu wejciowego G dla kadej pary wierzchokw pocztkowego i kocowego m-tego odcinka k-tego obiektu, bazujc na zaoeniu, e teren reprezentowany jest jako sie prostoktna. w podgrafie wyszukiwana jest najkrtsza droga przy uyciu algorytmu Dijkstry [9], a nastpnie usuwana z grafu G, aby zapewni, e adna inna droga ju nie skorzysta z wierzchokw i ukw nalecych do wyznaczonej poprzednio drogi. w przypadku gdy nie zostanie znalezione rozwizanie dopuszczalne (czyli K drg rozcznych wierzchokowo), albo w celu poprawienia rozwizania, algorytm w kolejnych iteracjach ponawia wyszukiwanie, modyfikujc kolejno lub szeroko pasw wedug procedury opisanej w dalszej czci rozdziau.

Dla m-tego odcinka k-tego obiektu generowany jest oddzielny podgraf w na-stpujcy sposb: ' , ,

mk mkmk G GG V A= gdzie

mkGV jest zbiorem wierzchokw

podgrafu, a mkG

A zbiorem ukw pomidzy wierzchokami nalecymi do mkG

V . Jeli swk jest szerokoci pasa (identyczn dla wszystkich odcinkw tego samego obiektu), w ktrym dozwolona jest droga dla k-tego obiektu, to naley wyznaczy prost przechodzc przez wierzchoek pocztkowy vmk i kocowy ( 1)m kv + (kady z wierzchokw musi mie ustalone wsprzdne, czy to geograficzne, czy wzgldne w sieci). Do pasa, czyli podgrafu ' ,mkG naley zaliczy wszystkie te wierzchoki grafu G, ktre s odlege (w sensie wsprzdnych, metryka euklidesowa) od dowolnego punktu lecego na wyznaczonej prostej maksymalnie o swk/2 (patrz rys. 2). Mona to wykona, posugujc si nastpujc zalenoci:

208 Z. Tarapata, S. Wrocawski

{ :

( ) tan ( ( ) ( ))cos

( )

( ) tan ( ( ) ( )) }cos

{( , ') : ( , ') }.

mk

mk mk mk

G G

kmk k mk

k

kmk k mk

k

G G G G

V v V

swx v g y v y v

gx v

swx v g y v y v

g

A v v V V v v A

=

+

+ +

=

rys. 2. idea wycinania podgrafw (pasw): s1 i t1 to wierzchoki terminalne m-tego odcinka k-tego obiektu s1 = vmk, t1 = v(m+1)k, za s2 i t2 to wierzchoki terminalne m-tego odcinka (k+1)-tego obiektu

s2 = vm(k+1), t2 = v(m+1)(k+1)

w powyszych wzorach x(v) oraz y(v) oznaczaj odpowiednio wsprzdn x (odcita w kartezjaskim ukadzie wsprzdnych) i y (rzdna w kartezjaskim ukadzie wsprzdnych) wierzchoka v. kt, jaki tworzy o rzdnych i prosta przeprowadzona midzy wierzchokiem pocztkowym i kocowym, oznaczony zosta symbolem gk.

Metoda zakada moliwo odrzucenia czci ukw, jeli ich koszt jest wikszy ni zdefiniowany prg przejezdnoci (passabilityThreshold). Majc wyznaczony pas dla kadego obiektu, moliwe jest znalezienie najkrtszej drogi za pomoc algo-rytmu Dijkstry, uywajc rnych strategii poszukiwa. S to m.in. trzy strategie wyznaczania kolejnoci obiektw, w jakiej bd wyszukiwane dla nich najkrtsze drogi: stripeOrderStrategies = {Ascending, Descending, Random}, gdzie Ascending

209Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

kolejno rosnca zgodnie z numeracj obiektw; Descending kolejno malejca numeracji obiektw oraz Random kolejno losowa (rozkad rwno-mierny). Dwie pierwsze deterministyczne strategie generuj tylko jedn moliwo kolejnoci, natomiast strategia Random generuje K! rnych moliwoci. Liczba sprawdzanych moliwoci jest ograniczana przez warunki stopu, o ktrych bdzie mowa w dalszej czci tego rozdziau.

istnieje rwnie moliwo parametryzacji strategii generowania szerokoci pasa (swk). Szeroko moe by albo staa i nigdy nie zmieniana, albo losowana z okrelonego zakresu z rozkadem rwnomiernym: widthOfStripeGenerationStra-tegy = {Constant, Random}. Strategia losowa moe wygenerowa maksymalnie L rnych szerokoci (L zaley od zdefiniowanego przedziau oraz minimalnego przyrostu szerokoci).

iteracj w algorytmie SgDp jest prba znalezienia pku K drg przy zadanej kolejnoci oraz szerokoci pasw. Liczba iteracji ograniczana jest przez warunki stopu zdefiniowane w strategiach stopu.

Zdefiniowano kilka strategii stopu, ktre mona czy w dowolne konfiguracje, a kad z nich mona kalibrowa w zalenoci od potrzeb. Strategie stopu mog spowo-dowa zatrzymanie algorytmu, jeli osignity zosta: limit czasu (TimeLimit), maksy-malna liczba iteracji (MaxIterationNumber), maksymalna liczba znalezionych rozwiza dopuszczalnych (NFeasibleSolutionFound) lub jeli kolejne rozwizanie dopuszczalne nie jest lepsze od poprzedniego o okrelon warto (NextSolutionIsBetterThan):

stopStrategies = {MaxIterationNumber, NFeasibleSolutionFound, NextSolutionIs-BetterThan, TimeLimit}.

Dodatkowym parametrem jest tryb zwikszania szerokoci pasa:

widthGenerationModes = {SameWidth, VariousWidth}.

Dla trybu SameWidth kady z obiektw ma wyznaczany pas o identycznej szerokoci, tzn. jeli dla ktregokolwiek obiektu w iteracji nie udao si znale drogi przy okrelonej szerokoci pasa, wyznaczana jest nowa szeroko i proces poszukiwania drg rozpoczynany jest dla kadego obiektu od nowa. Drogi, ktre wczeniej udao si wyznaczy, s zapominane. Dla trybu VariousWidth kady obiekt moe mie rn szeroko pasa w pojedynczej iteracji, czyli brak rozwizania dla k-tego obiektu powoduje zwikszenie szerokoci pasa tylko dla tego obiektu. poprzednio wyznaczone drogi s pamitane.

Strategie wyznaczania kolejnoci obiektw zapewniaj, e adna kolejno nie jest sprawdzana dwukrotnie. rwnie strategie wyznaczania szerokoci pasa generuj zawsze niesprawdzan do tej pory szeroko pasa. w przypadku losowej strategii wyznaczania szerokoci pasa kada kolejna szeroko jest wiksza od poprzedniej.

analizujc zoono obliczeniow algorytmu, mona zauway, e wyznaczenie podgrafu dla pojedynczego odcinka (majc dany wierzchoek pocztkowy, kocowy

210 Z. Tarapata, S. Wrocawski

oraz graf pocztkowy) wymaga O(V) operacji, za poszukiwanie drogi za pomoc algorytmu Dijkstry opartego na kopcach binarnych ma zoono rzdu O(A logV). Zarwno wyznaczenie pasa jak i poszukiwanie drogi jest powtarzane dla kadego od-cinka kadego obiektu, a wic KM razy. Ze wzgldu na moliwo powrotw przy bra-ku satysfakcjonujcego rozwizania, poszukiwania pku drg mog by prowadzone dla rnych szerokoci pasa, czyli L razy oraz dla rnych kolejnoci obiektw, czyli w najgorszym przypadku K! razy. ostateczna zoono pesymistyczna algorytmu SgDp jest rzdu O(K!(KLM (V+AlogV)).

pseudokod algorytmu SgDp:0) Zapisz pocztkowy stan grafu

1) Dopki aden z warunkw stopu nie jest speniony {

2) Wygeneruj kolejno pasw uywajc wybranej stripeOrderStrategy

3) Jeli nie pozostaa adna nie sprawdzana kolejno pasw Zakocz

4a) Jeli tryb poszukiwa = SameWidth{

5a) Dopki aden z warunkw stopu nie jest speniony {

6a) Wygeneruj szeroko pasa uywajc wybranej widthOfStripeGenera-

tionStrategy

7a) Jeli nie pozostaa adna niesprawdzona szeroko -> przywr

stan grafu i przejd do kroku 5a);

8a) Dla kadego k-tego obiektu, k=1,,K{

9a) Dla kadego odcinka w PS(k) {

10a) Szukaj drogi dla odcinka w wygenerowanym podgrafie}

11a) Jeli droga zostaa znaleziona -> zapisz drog i usu

wykorzystane wierzchoki i uki z grafu}

12a) Jeli wszystkie drogi zostay znalezione -> zapisz rozwizanie

dopuszczalne}}

4b) Jeli tryb poszukiwa = VariousWidth{

5b) Dopki aden z warunkw stopu nie jest speniony {

6b) Dla kadego k-tego spord K obiektw {

7b) Wygeneruj szeroko pasa uywajc wybranej widthOfStripeGenera-

tionStrategy

8b) Jeli nie pozostaa adna niesprawdzona szeroko -> przywr stan

grafu i przejd do kroku 5b);

9b) Dla kadego odcinka w PS(k) {

10b) Szukaj drogi dla odcinka w wygenerowanym podgrafie;}

11b) Jeli droga zostaa znaleziona -> zapisz drog i usu

wykorzystane wierzchoki i uki z grafu

W przeciwnym przypadku przywr pocztkowy stan grafu }

12b) Jeli wszystkie drogi zostay znalezione -> zapisz rozwizanie

dopuszczalne i przywr pocztkowy stan grafu }}}

211Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

w praktyce zoono algorytmu SgDp jest znacznie mniejsza, poniewa wygenerowane podgrafy skadaj si z duo mniejszej liczby wierzchokw, ni graf wejciowy, za warunki stopu zdefiniowane w strategiach stopu znacznie ogra-niczaj liczb przeszukiwanych moliwoci. Moliwe s dalsze modyfikacje w celu zmniejszenia zoonoci obliczeniowej, np. oparcie algorytmu Dijkstry na innych strukturach danych: kopcu fibonacciego czy kolejkach priorytetowych brodala [6]. Te ostatnie charakteryzuj si bardzo dobr zoonoci obliczeniow najczciej wykorzystywanych operacji. inn moliwoci jest sprawdzanie przynalenoci wierzchokw do podgrafu (pasa) w locie, czyli w trakcie wyznaczania najkrtszej drogi lub zastosowanie zmodyfikowanego algorytmu a*.

4. Opis modyfikacji metody Edmondsa-Karpa [36]

Jak zauwaono wczeniej, problem znajdowania przepywu zaspokajajcego o minimalnym koszcie mona zastosowa do wyznaczania K drg rozcznych. wymagana jest modyfikacja modelu opartego na reprezentacji grafowo-sieciowej polegajca na dodaniu do kadego uku dodatkowej informacji oznaczajcej mak-symaln przepustowo uku. rozwizanie tego problemu polega na wyznaczeniu drg w taki sposb, aby mona byo przez nie przesa przepyw o wartoci dokadnie K, przy czym przepyw moe skada si z wielu drg, a przez kad z nich mona przesa maksymalnie tak warto, jak jest minimalna warto przepustowoci uku wchodzcego w skad danej drogi.

w klasycznym problemie przepywu zaspokajajcego o minimalnym koszcie [10] wyznacza si przepyw pomidzy par wierzchokw s-t, a nie jak w opisywa-nym do tej pory problemie, pomidzy KM parami wierzchokw

(v11 vN1), , (v1K vNK). aby wyznaczy przepyw przechodzcy przez wiele par, wprowadza si dodatkowe superwierzchoki [5] S oraz T, w taki sposb, e wierzchoek S poczony jest z kadym wierzchokiem 1 , 1,kv k K= ukiem o koszcie 0 i przepustowoci 1, za wszystkie inne poczenia do wierzchokw v1k (wierzchokw pocztkowych dla kadego obiektu) s usuwane. podobnie wszystkie uki wychodzce z wierzchokw , 1,Nkv k K= s usuwane, za wprowadzane s nowe uki o koszcie 0 i przepustowoci 1 z wierzchokw vNk do wierzchoka T (patrz rys. 3).

przepyw zaspokajajcy (o wartoci K) o minimalnym koszcie wyznaczany jest z superwierzchoka S do superwierzchoka T. Ta modyfikacja zapewnia jednak jedynie wyznaczenie K rozcznych drg z S do T przechodzcych przez wierz-choki

1 21ik Nkv v 1 2( , 1, ),k k K= nie gwarantujc, e k1 = k2 tzn. nie ma gwarancji, e

wyznaczona droga bdzie przechodzia przez wierzchoki porednie zdefiniowane dla jednego obiektu (patrz rys. 4). aby problem przepywu w peni odpowiada omawianemu problemowi wyznaczania rozcznych drg, zostanie zaproponowana prosta modyfikacja metody edmondsa-karpa [10].

212 Z. Tarapata, S. Wrocawski

poniewa jednym z ogranicze naoonych na wyznaczone drogi jest ich rozcz-no, kademu ukowi naley przypisa identyczn warto przepustowoci rwn 1 wyklucza to moliwo wykorzystania uku wicej ni raz, a wic zapewnia rozczno krawdziow. rozwizaniem problemu rozcznoci wierzchokowej jest zastpienie wierzchoka v w wejciowym grafie G dwoma wierzchokami vi i vo w taki sposb, e do wierzchoka vi wchodz wszystkie te uki, ktre wchodziy do wierzchoka v (o identycznych kosztach i przepustowociach), za wychodzi jeden uk wchodzcy do wierzchoka vo. ukowi temu nadajemy jednostkow przepustowo oraz zerowy koszt przejcia. Do wierzchoka vo wchodzi tylko jeden

rys. 3. Dodanie superwierzchokw S i T do grafu. wierzchoki s1 = v11, s2 = v12 s wierzchokami pocztkowymi odpowiednio pierwszego i drugiego obiektu, za t1 = v21, t2 = v22 wierzchokami

kocowymi dla tych obiektw (K = 2, N = 2)

rys. 4. przykad rozwizania problemu przepywu bez modyfikacji. wyznaczone drogi przechodz przez wierzchoki, ktre miay nalee do rnych drg s1t2; s2t1

213Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

uk wychodzcy z vi, za wychodz z niego wszystkie te uki, ktre wychodziy z wierzchoka v (patrz rys. 5).

rys. 5. Transformacja wierzchoka v w wierzchoki vi i vo

ostatni kwesti do rozwizania pozostaje uwzgldnienie wierzchokw pored-nich w wyznaczanych drogach. Dokonano tego, rozwizujc problem przepywu zaspokajajcego (o wartoci K) o minimalnym koszcie kilkukrotnie dla rnego zestawu wierzchokw pocztkowych oraz kocowych, tzn. jeli k-ta droga ma przechodzi przez wierzchoki v1k,,vNk, to naley rozwiza problem przepywu M = N-1 razy, szukajc przepywu najpierw midzy K parami wierzchokw v1k, a v2k nastpnie midzy K parami vmk, a v(m+1)k, koczc na przepywie midzy K parami wierzchokw v(M-1)k, a vMk (patrz rys. 6). kady zestaw K par wierzchokw, pomidzy ktrymi poszukiwany jest przepyw zaspokajajcy o wartoci K, nazywany bdzie warstw; w problemie wejciowym mona wic wyrni M warstw.

rys. 6. Sie z zaznaczonymi warstwami. obiekt 1 musi przechodzi przez wierzchoki v11, v21 oraz v31, za obiekt 2 przez wierzchoki v12, v22 i v32. w warstwie 1 wierzchokami terminalnymi s wierz-choki v11, v12, v21 i v22, za w warstwie 2 wierzchokami terminalnymi s v21, v22, v31 i v32. przykad

podano dla K = 2, N = 3

Do rozwizania problemu przepywu zaspokajajcego o minimalnym koszcie uyto klasycznej metody edmondsa-karpa, zaprezentowanej przez autorw w [10]. ide tej metody jest, zaczynajc od zerowego przepywu, powikszanie go za po-moc drg powikszajcych (ang. augmenting paths). Drogi wyszukiwane s za pomoc uoglnienia algorytmu bfS, algorytmu Dijkstry tak, aby znaleziona droga powikszajca bya najkrtsza (najmniejszy koszt) oraz zawieraa tylko takie uki,

214 Z. Tarapata, S. Wrocawski

ktre maj dostatecznie du przepustowo. po wyznaczeniu drogi, przepusto-woci na ukach wchodzcych w jej skad s pomniejszane o najwiksz warto przepywu, jak mona przesa przez ca drog, co w rozwaanym przypadku oznacza ich zerowanie.

pseudokod metody edmondsa-karpa (s wierzchoek pocztkowy, t wierz-choek kocowy):

(1) ustaw maksymalny przepyw na zero;(2) wyszukaj najmniej kosztown drog z s do t; wszystkie uki wchodzce do

drogi musz mie przepustowo >0;(3) jeli droga istnieje:(a) zwiksz warto maksymalnego przepywu o warto najmniejszej prze-

pustowoci uku nalecego do wyznaczonej drogi;(b) zmniejsz przepustowo kadego uku nalecego do drogi o warto

najmniejszej przepustowoci uku nalecego do wyznaczonej drogi;(4) jeli droga nie istnieje zakocz.Jak wspomniano wczeniej, aby zapewni, e drogi bd wyszukiwane pomidzy

wierzchokami vnk a v(n+1)k, 1, 1,n N= czyli e w kadej warstwie czone bd odpowiednie wierzchoki zdefiniowane dla tego samego obiektu, naley wprowadzi dodatkow modyfikacj, ktra polega na tym, e kady uk etykietowany jest liczb cakowit w sposb nastpujcy: kady uk wychodzcy z superwierzchoka S jest zaetykietowany wartoci k wtedy, gdy wchodzi do wierzchoka vnk oraz kady uk wchodzcy do superwierzchoka T jest zaetykietowany wartoci k wtedy, gdy wychodzi z wierzchoka v(n+1)k. pozostae uki zostaj zaetykietowane wartoci 1 (patrz rys. 7).

rys. 7. Sie z nadanymi etykietami ukw

w tak zaetykietowanej sieci wyszukiwana jest droga za pomoc zmodyfiko-wanego algorytmu Dijkstry. Droga wychodzca z wierzchoka S po przejciu przez pierwszy uk, ktry ma niezerow przepustowo, zostaje na stae zaetykietowana wartoci jego etykiety (etykieta drogi nie zmienia si do koca poszukiwa). nastpnie przeszukiwane s kolejne wierzchoki, do ktrych prowadz uki o ety-kiecie 1, czyli przeszukiwanie odbywa si w sposb zgodny z klasyczn metod

215Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

Dijkstry (oczywicie z uwzgldnieniem wymogu na niezerow przepustowo ukw). gdy podczas wyszukiwa napotkany zostanie superwierzchoek T, do ktrego wchodzi uk o etykiecie rnej od 1, nastpuje porwnanie, czy warto etykiety uku jest identyczna z etykiet drogi. Jeli wartoci s zgodne, to przejcie do wierzchoka T jest moliwe (aktualna warto przepustowoci jest ustalana na 1), jeli wartoci etykiet rni si, aktualna warto przepustowoci jest ustawiana na 0, a wic wierzchoek T jest niedostpny.

ostatni modyfikacj wprowadzon, aby zapewni, e obie metody rozwi-zuj ten sam problem, jest wprowadzenie progu przejezdnoci, czyli wymogu, e wszystkie wyznaczone drogi mog zawiera tylko te uki, ktrych koszt przejcia nie przekracza progu przejezdnoci (passabilityThreshold).

analiza zoonoci obliczeniowej zmodyfikowanej metody edmondsa-karpa pokazuje, e zoono ta jest rzdu o(M(A+KAlogV)). kada z K drg podzielona jest na M odcinkw. Dla kadego zestawu M odcinkw (M warstw) wykonywana jest transformacja grafu polegajca na dodaniu superwierzchokw oraz poszukiwaniu K drg powikszajcych przepyw za pomoc algorytmu Dijkstry. Transformacja dokonywana jest w czasie o(A), poniewa naley sprawdzi kady z ukw, aby dokona usunicia niepotrzebnych ukw, za algorytm Dijkstry dziaa w czasie o(A logV).

cho teoretyczna zoono tego algorytmu jest lepsza od zoonoci obliczenio-wej metody SgDp, w praktyce czas wykonania jest wikszy, poniewa w omawianej metodzie algorytm Dijkstry przeszukuje cay graf wejciowy, a nie, jak w przypadku metody SgDp, may podgraf grafu wejciowego (patrz wyniki w rozdziale 5).

5. Wyniki eksperymentw

badania zostay przeprowadzone na grafach przedstawiajcych rzeczywiste obszary terenu. grafy zawieray od 5000 do 30000 wierzchokw, dla liczby obiektw K = {2, 3, 4, 5} i liczby punktw porednich N = {2, 3, 4, 5}. punkty porednie byy losowane. badania metody SgDp przeprowadzono dla prawie kadego moliwego zestawu wartoci parametrw, przy czym uyto konfiguracji, jak poniej.

Strategie generowania szerokoci pasa: ConstantWidthOfStripStrategy domylna warto szerokoci pasa =

10,0; RandomWidthOfStripStrategy zakres losowanych szerokoci < 5,0; 10,0

>; minimalny przyrost szerokoci 0,5.Metod SgDp badano przy trzech zestawach strategii stopu: {TimeLimit; MaxIterationNumber}; {TimeLimit, MaxIterationNumber, NextSolutionBetterThan}; {TimeLimit, MaxIterationNumber; NFeasibleSolutionFound}.

216 Z. Tarapata, S. Wrocawski

Domylnymi parametrami byy dla nich: TimeLimit limit czasu = 5000 ms; MaxIterationNumber maksymalna liczba iteracji = 10; NextSolutionBetterThan minimalna poprawa wartoci funkcji celu = 5,0; NFeasibleSolutionFound maksymalna liczba znalezionych rozwiza

dopuszczalnych = 4.wyniki otrzymane z obu metod zostay porwnane rwnie z rozwizaniami

optymalnymi problemu (1)-(7) otrzymanymi z solvera cpLeX 7.0 znajdujcego si w pakiecie gaMS 2.0. obliczenia przeprowadzono na procesorze intel core i5 430i, 22.27 gHz.

rys. 8. Typowe grafy prostoktne reprezentujce fragment terenu. kolorem oznaczono koszt przy-pisany do wierzchokw: janiejszy kolor oznacza lepiej przejezdne obszary, najciemniejszy oznacza przeszkody takie jak lasy, rzeki, jeziora, zabudowania. im janiejszy kolor, tym mniejszy koszt przejcia danego obszaru; a) graf o 7540 = 65 116 wierzchokach reprezentujcy teren w pobliu Drawska (polska); b) graf o 25000 = 125 200 wierzchokach reprezentujcy teren w pobliu radomia (polska)

wraz z dwoma wierzchokowo-rozcznymi drogami wyznaczonymi metod SgDp

na wykresie redniego czasu oblicze dla poszczeglnych metod (wykres 1) zastosowano skal logarytmiczn. wida, e metoda SgDp jest rednio o jeden rzd wielkoci szybsza od metody edmondsa-karpa (e-k) i pi rzdw wielkoci od metody z solvera cpLeX. rnic w rednim czasie wykonania tych samych zada przez SgDp oraz e-k dobrze pokazuje wykres 2.

przeprowadzono rwnie szczegowe badania wpywu zastosowania rnych strategii w metodzie SgDp. badania pokazay, e algorytm dziaa szybciej przy

217Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

zastosowaniu strategii generowania staej szerokoci pasa (ConstantWidthOfStrip) i cho rnica dla maych wartoci V (liczby wierzchokw) jest znikoma (ok. 20 ms), powiksza si w miar wzrostu V (do 220 ms).

Znacznie wiksza rnica w czasie wykonania wystpuje dla rnych strate-gii generowania kolejnoci obiektw (wykres 3). o ile nie ma znaczcych rnic pomidzy stosowaniem strategii Ascending i Descending, o tyle czas potrzebny do oblicze przy wykorzystaniu strategii Random jest duszy.

Jeszcze wiksze rnice w czasie wykonania mona zauway z danych przed-stawionych na wykresie 4. algorytm dziaa istotnie szybciej (prawie dwukrotnie) dla trybu zakadajcego jednakow szeroko dla wszystkich pasw.

istotn rnic w czasie wykonania algorytmu powoduje rwnie wybr zestaww strategii stopu (wykres 5). Jest to spodziewany wynik, poniewa wybr

wykres 1. redni czas wykonania dla metody SgDp, edmondsa-karpa oraz zadania optymalizacyj-nego rozwizywanego przez cpLeX (skala logarytmiczna)

wykres 2. redni czas wykonania dla metody SgDp i edmondsa-karpa

218 Z. Tarapata, S. Wrocawski

bardziej restrykcyjnych strategii stopu zmusi algorytm do wczeniejszego zako-czenia dziaania, moe jednak rwnie spowodowa nieznalezienie rozwizania lub znalezienie rozwizania odlegego od optymalnego.

Z zaprezentowanych wynikw mona stwierdzi, e w praktyce czas oblicze dla metody SDgp jest liniowy wzgldem rozmiaru danych (liczby wierzchokw grafw wejciowych). Stwierdzenia takiego nie mona sformuowa o metodzie edmondsa-karpa, poniewa obserwowany fragment krzywej sugeruje wyszy rzd funkcji zoonoci. Metoda edmondsa-karpa wymaga zdecydowanie wikszej iloci pamici (wykres 6), co nie powinno dziwi, poniewa metoda SgDp bazuje

wykres 3. redni czas wykonania metody SgDp z podziaem na strategie generowania kolejnoci obiektw

wykres 4. redni czas wykonania metody SgDp dla dwch trybw: jednakowa szeroko pasa dla wszystkich obiektw (SameWidth) oraz rna szeroko pasa dla rnych obiektw (VariousWidth)

219Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

wykres 5. redni czas wykonania metody SgDp dla rnych zestaww strategii stopu

wykres 6. porwnanie redniej liczby zajtych bajtw pamici przez metody SgDp i edmondsa-karpa

gwnie na podgrafach grafu wejciowego, co znacznie redukuje nie tylko czas oblicze, ale i wymagan ilo pamici.

podobnie jak dla redniego czasu wykonania, przeprowadzono szczegowe badania metody SgDp z podziaem na rne strategie i tryby poszukiwa. nie wykazay one jednak praktycznie adnych rnic, dlatego te wyniki nie zostan zaprezentowane i bd traktowane jako nieistotne dla dalszej analizy.

omawiane metody rozwizania problemu wyznaczania K drg rozcznych zostay poddane rwnie badaniu wraliwoci ze wzgldu na czas wykonania. Miara wraliwoci rozumiana jest jako najwiksza rnica midzy czasami wykonania algorytmu dla dowolnych rnych zestaww danych wejciowych. na wykresie 7 wida, e metoda SgDp jest zdecydowanie mniej wraliwa. wykres wraliwoci

220 Z. Tarapata, S. Wrocawski

wykres 7. porwnanie redniej wraliwoci ze wzgldu na czas wykonania metod SgDp, edmondsa- -karpa (skala logarytmiczna)

sugeruje zaleno logarytmiczn, natomiast wykres dla metody edmondsa-karpa sugeruje zaleno wielomianow. naley doda, e obie metody s bardzo wraliwe, poniewa redni czas wykonania dla metody SgDp wynosi od 139 do 1691 ms (w zalenoci od rozmiaru grafu), a rednia eksperymentalna wraliwo ze wzgldu na czas wykonania wynosia 820-5754 ms, natomiast dla metody edmondsa-karpa redni czas wynosi 800-42237 ms przy wraliwoci 1187-78102 ms.

Metoda SgDp wykazuje si du wraliwoci ze wzgldu na czas wykonania przy zmianach strategii generowania szerokoci pasa (wykres 8). Moe by to spo-wodowane wystpujcymi przypadkami nieznajdowania drg, dla ktrych wynik moe pojawi si ju w pierwszych kilkudziesiciu milisekundach (szczeglnie dla deterministycznych strategii, ktre umoliwiaj sprawdzenie tylko jednej wartoci danego parametru).

wykres 8. wraliwo metody SgDp ze wzgldu na czas wykonania z podziaem na strategie gene-rowania szerokoci pasa

221Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

Dla badanych strategii generowania kolejnoci obiektw duych rnic nie odnotowano. najwiksze rnice wraliwoci otrzymano, badajc metod SgDp przy stosowaniu rnych zestaww strategii stopu (wykres 9).

wykres 9. wraliwo metody SgDp ze wzgldu na czas wykonania z podziaem na zestawy strategii stopu

wraliwo SgDp moe by nawet piciokrotnie razy wiksza od redniej wartoci. Jest to wasno, ktra moe wykluczy metod SgDp z zastosowa, gdzie potrzeba bardzo dokadnego oszacowania czasu wykonania algorytmu (np. w systemach czasu rzeczywistego).

badania pokazay, e stosowanie wsplnej szerokoci dla wszystkich obiektw jest mniej wraliwe ze wzgldu na czas wykonania.

wykres 10. wraliwo metody SgDp ze wzgldu na czas wykonania z podziaem na tryb poszukiwa: wsplna szeroko dla wszystkich obiektw (SameWidth) oraz rna szeroko pasw dla rnych

obiektw (VariousWidth)

222 Z. Tarapata, S. Wrocawski

wspczynnik skutecznoci pozwoli oszacowa, dla jakiego procentu liczby przypadkw danych zostanie znalezione rozwizanie dopuszczalne, jeli takie roz-wizanie istnieje (istnienie rozwizania dopuszczalnego weryfikowane jest przez solver cpLeX). Jest to pierwszy krok na drodze do wyznaczenia eksperymentalnych wspczynnikw aproksymacji.

na wykresie 11 przedstawiono wspczynniki skutecznoci dla badanych przy-padkw danych wejciowych. Mona zauway, e metoda edmondsa-karpa daje bardzo dobre wyniki (na poziomie 0,99) w tecie skutecznoci, natomiast metoda SgDp gorsze, ale rwnie do przyjcia (na poziomie 0,95). Jest to wynik spodziewany, poniewa jeli droga istnieje w mniejszym podgrafie, na pewno bdzie istnie rwnie i w wikszym (zbir wierzchokw podgrafu wikszego zawiera wszystkie wierzchoki podgrafu mniejszego). Jednoczenie z analizy wykresu wynika, e dla zastosowanych danych testowych skuteczno metod bya bardzo dobra w przypadku grafw o liczbie wierzchokw wikszej od ok. 8000. cho metoda SgDp, w przeciwiestwie do ed-mondsa-karpa, potrafi poszukiwa drg z rn kolejnoci obiektw, jest to jednak element, ktry niezwykle rzadko wpywa na popraw wspczynnika skutecznoci, czciej natomiast wpywa na wspczynnik dokadnoci rozwizania.

wykres 11. wspczynnik skutecznoci dla metody SgDp i metody edmondsa-karpa

Ze wzgldu na przyjte parametry domylne strategii generowania szerokoci pasa, a wic takie, e maksymalna szeroko pasa generowana strategi Random-StripWidthStrategy jest rwna staej szerokoci generowanej przez strategi Con-stantWidthOfStrip, zmiana tych strategii nie ma praktycznie adnego wpywu na skuteczno. rwnie adnych znaczcych zmian w wartoci eksperymentalnego wspczynnika skutecznoci nie pokazay ani zmiany zestaww strategii stopu, ani zmiana parametru odpowiedzialnego za wyszukiwanie drg ze wspln lub rn szerokoci pasa.

223Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

poniewa wspczynnik skutecznoci metody SgDp i edmondsa-karpa jest na rozsdnie wysokim poziomie (rednio powyej 0,95 dla duych wartoci V), warto zbada eksperymentalne wspczynniki aproksymacji. ich wartoci mog przesdzi o przyjciu bd odrzuceniu metod jako sposobw rozwizania bada-nego problemu.

badania wykazay, e redni eksperymentalny wspczynnik aproksymacji dla metod SgDp i edmondsa-karpa jest bardzo blisko 1 dla wikszoci badanych przypadkw. redni eksperymentalny wspczynnik aproksymacji na poziomie 1,03 oznacza, e znalezione rozwizania s gorsze od optymalnych zaledwie o 3%. pozwala to zaliczy badane metody do grona metod dajcych bardzo dobre wyniki. na wykresie 12 wida, e dla badanych grafw o maych liczbach wierzchokw (V) metoda SgDp uzyskaa przewag nad metod edmondsa-karpa, co musiao by spowodowane zmian kolejnoci przeszukiwa obiektw. Dla wikszoci przy-padkw jednak metoda edmondsa-karpa okazaa si blisza znalezieniu rozwiza optymalnych, cho nieznacznie.

wykres 12. redni eksperymentalny wspczynnik aproksymacji dla metod SgDp i edmondsa- -karpa

przeprowadzono rwnie szczegow analiz metody SgDp i wpywu doboru jej strategii na warto redniego eksperymentalnego wspczynnika aproksymacji. obliczany jest jako rednia arytmetyczna z wartoci eksperymentalnego wsp-czynnika aproksymacji z wielu uruchomie algorytmu dla wielu zestaww danych okrelonego rozmiaru. im mniejsza warto tego wspczynnika, tym algorytm jest bardziej preferowany. wykazano, e lepsze (blisze optymalnym) rozwizania daje strategia generowania szerokoci pasa ConstantWidthOfStrip (wykres 13). wpyw

224 Z. Tarapata, S. Wrocawski

wykres 13. redni eksperymentalny wspczynnik aproksymacji dla metody z podziaem na strategie generowania szerokoci pasa

wykres 14. redni eksperymentalny wspczynnik aproksymacji dla metody z podziaem na wybrane zestawy strategii stopu

strategii generowania kolejnoci obiektw wydaje si nie mie znaczenia, ale za to wykres zalenoci redniego eksperymentalnego wspczynnika aproksymacji od wybranych zestaww strategii stopu kae skania si ku zestawowi [TimeLimit][MaxIterationNumberStopStrategy], jednak przewaga tego zestawu nad innymi badanymi jest niewielka (wykres 14).

w celu sprawdzenia, jak silnie mog rni si znajdowane rozwizania do-puszczalne przez metody SgDp i edmondsa-karpa od rozwiza optymalnych znajdowanych przez solver cpLeX 7.0, wyznaczono maksymalny eksperymentalny

225Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

wspczynnik aproksymacji. okazuje si, e wspczynnik ten jest rwnie na bar-dzo dobrym, niskim poziomie (poniej 1,05 dla metody edmondsa-karpa i nieco gorszy, bo na poziomie 1,05-1,15 dla SgDp).

analiza metody SgDp pod ktem zmian strategii generowania szerokoci pasa ponownie wskazaa na wyszo strategii generujcej sta szeroko pasa nad strategi RandomStripWidthStrategy.

analiza zmian pozostaych strategii nie wykazaa zdecydowanego wpywu ktrejkolwiek z nich na badany wspczynnik. podobnie analiza zmian parametru odpowiedzialnego za poszukiwanie drg z jednakow lub rn szerokoci pa-sw dla wszystkich obiektw nie wykazaa praktycznie adnych zmian w wartoci maksymalnego eksperymentalnego wspczynnika aproksymacji.

wykres 15. Maksymalny eksperymentalny wspczynnik aproksymacji dla metod SgDp i edmondsa--karpa

wykres 16. Maksymalny eksperymentalny wspczynnik aproksymacji dla metody SgDp z uwzgld-nieniem zmian strategii generowania szerokoci pasa

226 Z. Tarapata, S. Wrocawski

6. Podsumowanie

w pracy zaprezentowano metody rozwizywania problemu znajdowania naj-krtszych drg rozcznych w grafach prostoktnych. algorytmy te mog by uyte do planowania przemieszczenia, np. planowania tras w symulatorach pola walki.

Metody dokadne (np. zaimplementowane w solverze cpLeX) maj niedopusz-czalnie duy czas dziaania, dlatego naturalnym kierunkiem rozwoju bada w tej dziedzinie jest konstrukcja algorytmw aproksymacyjnych lub takich, ktre, cho nie zapewniaj 100% skutecznoci, charakteryzuj si bardzo dobrymi wartociami eksperymentalnych wspczynnikw aproksymacji.

analiza wybranych metod ze wzgldu na zdefiniowane miary oceny wykazaa, e zaimplementowane metody (SgDp, edmondsa-karpa) s:

a) szybkie redni czas wykonania jest kilka rzdw wielkoci lepszy ni redni czas wykonania przez solver cpLeX;

b) skuteczne wspczynnik skutecznoci na poziomie 0,99 dla metody edmondsa-karpa i 0,95 dla SgDp pokazuj wysoki odsetek przypad-kw, w ktrych metody te znajduj rozwizania dopuszczalne (o ile one istniej);

c) bardzo dokadne wspczynniki aproksymacji bliskie 1; bardzo dobra warto redniego eksperymentalnego wspczynnika aproksymacji i nieco tylko gorsza warto maksymalnego eksperymentalnego wspczynnika aproksymacji;

d) wraliwe ze wzgldu na czas wykonania wartoci maksymalnych war-toci wraliwoci s due, jednak nawet dla najgorszych przypadkw czas znalezienia rozwiza przez te metody jest do przyjcia.

Zastosowane ograniczenie przestrzeni poszukiwa przez metod SgDp pro-wadzi do znacznego przyspieszenia dziaania algorytmu kosztem niewielkiej straty skutecznoci i dokadnoci.

Zauwaono, ze zastosowanie losowoci w metodzie SgDp, zarwno podczas wyznaczania szerokoci pasa jak i przy wyznaczaniu kolejnoci obiektw nie po-prawio badanych charakterystyk, z wyjtkiem nieznacznej poprawy wraliwoci ze wzgldu na czas wykonania.

poniewa oba zaprezentowane algorytmy s algorytmami aproksymacyjnymi, wydaje si niezbdne okrelenie warunkw koniecznych i wystarczajcych do zna-lezienia rozwiza optymalnych oraz oszacowanie teoretycznego wspczynnika aproksymacji. Dodatkowo wydaje si kluczowe zbadanie wpywu liczby wierzcho-kw porednich oraz liczby obiektw na wraliwo algorytmu oraz dokonanie kalibracji parametrw dla rnych strategii poszukiwa dla metody SgDp.

Moliwe jest rozszerzenie badanego problemu na inne kryteria, np. minima-lizacja kosztu najduszej z drg, problem wielokryterialny itd. warto rwnie zwrci wiksz uwag na moliwo zrwnoleglenia oblicze.

227Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

Artyku wpyn do redakcji 25.01.2011 r. Zweryfikowan wersj po recenzji otrzymano w lutym 2011 r.

LiTeraTura

[1] a. aggarwal, J. kleinberg, D. williamson, Node-Disjoint Paths on the Mesh and a New Trade-Off in VLSI Layout, SiaM Journal on computing, 29, 4, 2000, 1321-1333.

[2] r. andersen, f. chung, a. Sen, g. Xue, On Disjoint Path Pairs with Wavelength Continuity Constraint in WDM Networks, proceedings of the ieee infocom2004, Hong kong (china), 7-11 March, 2004, 524-535.

[3] r. antkiewicz, w. kulas, a. najgebauer, D. pierzchaa, J. rulka, Z. Tarapata, r. wantoch-rekowski, The Automation of Combat Decision Processes in the Simulation Based Operational Training Support System, proceedings of the 2007 ieee Symposium on compu-tational intelligence in Security and Defense applications (ciSDa), Honolulu (Hawaii, uSa), april 1-5 2007.

[4] J. r. benton, S. S. iyengar, w. Deng, n. brener, V. S. Subrahmanian, Tactical route planning: new algorithms for decomposing the map, proceedings of the ieee international conference on Tools for ai, 268-277, 1995.

[5] r. bhandari, Survivable networks. Algorithms for Diverse Routing, boston, 2001. [6] g. S. brodal, Fast Meldable Priority Queues, proceedings of the 4th international workshop

on algorithms and Data Structures, London, 282-290, 1995. [7] r. g. busacker, p. J. gowen, A procedure for determining a family of minimum-cost flow patterns,

operations research office Technical report 15, John Hopkins university, baltimore, 1961. [8] c. campbell, r. Hull, e. root, L. Jackson, Route planning in CCTT, proceedings of the 5th

conference on computer generated forces and behavioural representation, university of central florida, 233-244, 1995.

[9] e. w. Dijkstra, A Note on Two Problems in Connexion with Graphs, numerische Mathematik, 1, 1959, 269-271.

[10] J. edmonds, r. M. karp, Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems, Journal of the acM, 19, 2, 1972, 248-264.

[11] D. eppstein, Finding common ancestors and disjoint paths in DAGs, Technical report 95-52, Department of information and comp. Science, univ. of california, irvine, 1995.

[12] S. even, a. itai, a. Shamir, On the complexity of time-table and multicommodity flow problems, SiaM Journal on computing, 5, 1976, 691-703.

[13] J. f. Lynch, The equivalence of theorem proving and the interconnection problem, SigDa newsletter, 5, 3, 1975, 31-36.

[14] a. Jongh, M. gendreau, M. Labbe, Finding disjoint routes in telecommunications networks with two technologies, operations research, 47, 1999, 81-92.

[15] r. M. karp, On the computational complexity of combinatorial problems, networks, 5, 1975, 48-68.

[16] T. kreitzberg, T. barragy, b. nevin, Tactical movement analyzer: a battlefield mobility tool, proceedings of the 4th Join Tactical fusion Symposium, 1990, 363-383.

[17] c. L. Li, S. T. Mccormick, D. Simchi-Levi, Finding disjoint paths with different path-costs: Complexity and algorithms, networks, 22, 1992, 653-667.

[18] c. L. Li, S. T. Mccormick, D. Simchi-Levi, The complexity of finding two disjoint paths with min-max objective function, Discrete applied Math., 26, 1990, 105-115.

228 Z. Tarapata, S. Wrocawski

[19] M. Longtin, D. Megherbi, Concealed routes in ModSAF, proceedings of the 5th conference on computer generated forces and behavioral representation, university of central florida, 1995, 305-314.

[20] Y. perl, Y. Shiloach, Finding two disjoint paths between two pairs of vertices in a graph, Journal of the acM, 25, 1978, 1-9.

[21] M. D. petty, Computer generated forces in Distributed Interactive Simulation, proceedings of the conference on Distributed interactive Simulation Systems for Simulation and Training in the aerospace environment, The international Society for optical engineering, orlando, 1995, 251-280.

[22] a. Schrijver, p. Seymour, Disjoint paths in a planar graph a general theorem, SiaM Journal of Discrete Mathematics, 5, 1, 1992, 112-116.

[23] H. Sherali, k. ozbay, S. Subramanian, The time-dependent shortest pair of disjoint paths problem: complexity, models and algorithms, networks, 31, 1998, 259-272.

[24] J. w. Suurballe, Disjoint paths in a network, networks, 4, 1974, 125-145.[25] J. w. Suurballe, r. e. Tarjan, A quick method for finding shortest pairs of disjoint paths, networks,

14, 1984, 325-336.[26] Z. Tarapata, Multi-paths optimization in unreliable time-dependent networks, proceedings of

The 2nd naTo regional conference on Military communication and information Systems, 04-06 october, Zegrze, 1, 2000, 181-189.

[27] Z. Tarapata, Modeling, optimization and simulation of groups movement according to group pattern in multiresolution terrain-based grid network, proceedings of The regional conference on Military communication and information Systems, Zegrze, 1, 2001, 241-251.

[28] Z. Tarapata, Military route planning in battlefield simulation: effectiveness problems and potential solutions, Journal of Telecommunications and information Technology, 4, 2003, 47-56.

[29] Z. Tarapata, Modele harmonogramowania zsynchronizowanego przemieszczania wielu obiektw, badania operacyjne i Decyzje, 2, 2007, 83-103.

[30] Z. Tarapata, Algorytmy harmonogramowania zsynchronizowanego przemieszczania wielu obiektw, badania operacyjne i Decyzje, 4, 2008, 101-132.

[31] Z. Tarapata, Zastosowanie metod wyznaczania przepywu w sieciach do planowania manewru wojsk, biuletyn instytutu Systemw informatycznych, 2, 2008, 31-44.

[32] Z. Tarapata, Approximation Scheduling Algorithms for Solving Multi-objects Movement Syn-chronization Problem, icannga2009, Lecture notes in computer Science, 5495, Springer, Heidelberg, 2009, 577-589.

[33] Z. Tarapata, Movement Simulation and Management of Cooperating Objects in CGF Systems: a Case Study, keS-aMSTa2010, Lecture notes in artificial intelligence, 6070, Springer, Heidelberg, 2010, 293-304.

[34] Z. Tarapata, Multiresolution models and algorithms of movement planning and their application for multiresolution battlefield simulation, aciiDS2010, Lecture notes in artificial intelligence, 5991, Springer, Heidelberg, 2010, 378-389.

[35] Z. Tarapata, S. wrocawski, Subgraphs Generating Algorithm for Obtaining Set of Node-Disjoint Paths in Terrain-Based Mesh Graphs, Mig2010, Lecture notes in computer Science, 6459, Springer, Heidelberg, 2010, 398-409.

[36] S. wrocawski, Analiza wybranych modeli i metod wspomagania decyzji w sytuacjach konflik-towych, praca magisterska pod kierunkiem Z. Tarapaty, wydzia cybernetyki, waT, warszawa, 2010.

229Metody rozwizywania problemu najkrtszych drg wierzchokowo rozcznych...

Z. TarapaTa, S. wrocawSki

Methods for solving node-disjoint shortest paths visiting specified nodes problem in mesh networks

Abstract. in the paper, models and methods for solving K node-disjoint shortest paths visiting specified nodes problem in mesh networks (based on a graph g) have been presented. The problem has been defined as continuous linear programming problem and two approximation methods for solving it have been presented: SgDp method (based on some iterative procedure of finding shortest paths in subgraphs of g) and modification of edmonds-karp method for solving minimal cost flow problem. complexity and quality analysis of presented methods based on experimental results using real terrain models have been done. Keywords: node-disjoint paths; battlefield simulation; subgraphs generating; movement planning