第 4 章 多目的を有する最適経路探索問題
4.3 拡張ダイクストラ法
77
78
図4-1(b) 拡張ダイクストラ法の探索過程(N=3;ノード2)
図4-1(c) 拡張ダイクストラ法の探索過程(N=3;ノードt)
図 4-1(a)はノード 1 のラベル集合の計算過程を示している.始点ノードsから
ノード1への途中経路は e1 を通る経路と e2,e5 を通る経路がある.2つの経 路から計算されるノード1のラベルはそれぞれ (1,10,10,20),(1,30,35,40)となる.
生成されたラベルを比較すると,(1,10,10,20)は (1,30,35,40) に対して優越してい る.よってノード 1 のラベル集合は L1(1,10,10,20)となる.図 4-1(b)はノード 2 までのラベル集合,図4-1(c)は終点ノードtのラベル集合の計算過程を表している.
そ れ ぞ れ の ラ ベ ル 集 合 は , L2 {(2,20,20,30),(2,20,15,35)} , )}
40 , 25 , 25 , ( ), 30 , 30 , 20 ,
{(t t
Lt と計算される.終点ノードにおいて,他のラベルに 優越されなかった(t,20,30,30),(t,25,25,40)がパレート最適解となる.
79
次に拡張ダイクストラ法の詳細な計算手順を下記に示す.
拡張ダイクストラ法の計算手順
STEP 1:(初期化)Lv{(s,0,0,,0)},Wv ,vs STEP 2:ノードvの隣接ノード集合Wvを求める.
STEP 3:(隣接ノードへの途中経路探索) STEP 3-1:隣接ノード(Wv)を選択する.
STEP 3-2:(v,l1v,l2v,,lNv){(,l1,l2,,lN)|((,l1,l2,,lN)Lv)( v)}を 選択する.
STEP 3-3:start(ei)がv,end(ei)がのエッジ ei について )
, , ,
,
( l1v ci1 l2v ci2 lNv ciN を求め,
) ,
, ,
, ( ) , , , ,
( l1* l2* l*N l1vci1 l2vci2 lNvciN とする.
STEP 3-4: の全てのラベルと (,l1*,l2*,,lN*) を比較する.
) , , , ,
( l1* l*2 lN* がパレート最適解ならば Lv に記憶する.
STEP 3-5:STEP 3-2 で全ての (v,l1v,l2v,,lNv) を選択し終えていたら STEP
3-6 へ進む.それ以外は STEP 3-2 に戻る.
STEP 3-6:STEP 3-1 でWvの全ての隣接ノードを選択し終えていれば STEP 4
へ進む.それ以外は STEP 3-1 へ戻る.
STEP 4:(既知の途中経路から隣接ノードへの途中経路探索とラベル計算) STEP 4-1: (Wv)を選択する.
STEP 4-2:ノードに連結するノード に対し,(,l1,l2,,lN)Lv を選択 する.
STEP 4-3: start(ei)が,end(ei)がのエッジ ei について )
, , ,
,
( l1 ci1 l2 ci2 lN ciN を求め,
) ,
, ,
, ( ) , , , ,
( l1* l2* l*N l1 ci1 l2 ci2 lN ciN とする.
STEP 4-4:Lvの全てのラベルと (,l1*,l2*,,l*N) を比較する.
) , , , ,
( l1* l*2 lN* がパレート最適解ならばLvに記憶する.
STEP 4-5:STEP 4-2ですべての (,l1,l2,,lN) を選択し終えていれば STEP
4-6 へ進む.それ以外は STEP 4-2 に戻る.
STEP 4-6:STEP 4-1で Wv の全てのノードが選択されていれば STEP 5 へ進 む.それ以外は STEP 4-1 へ戻る.
STEP 5:(ノードの移動・パレート最適解の出力)
STEP 5-1:vtかつ STEP 2 ですべてのノード v(V) を選択し終えていれば,
Lv
80
STEP 5-2 に進む.それ以外は v(Wv) を選択し vv として STEP 2 へ戻る.
STEP 5-2:すべてのパレート最適解
)}
( ) ) , , , ((
| ) , , , ,
{( l1 l2 lN l1 l2 lN Lv t を出力して計算を終了 する.
次に STEP 3-4 と STEP 4-4 で行うパレート最適解判定について下記に詳細を 示す.
パレート最適解の判定
STEP 1:Lvと (,l1,l2,,l*N) を受け取る.
STEP 2:(,l1,l2,,lN){(,l1,l2,,lN)|((,l1,l2,,lN)Lv)( )}を選 択する.
STEP 3:j1,2,,N の全てに対して lj lj が成立しているならば STEP 5 へ進む.それ以外は,Lv Lv{(,l1,l2,,lN)}とし STEP 4 へ進む.
STEP 4:j1,2,,N の全てに対して lj lj が成立しているラベル をLv Lv\{(,l1,l2,,lN)}とする.
STEP 5:STEP 2ですべての (,l1,l2,,lN) が選択されていれば Lv を返す.
それ以外はSTEP 2へ戻る.
N
j1,2,, に対して,目的関数値gj(x)に対応した座標軸gjが張るN 次元空 間を考えると,拡張ダイクストラ法の探索過程は,原点を始点としてgjが増加す る方向へ伸びていく線分として表現できる.図4-2(a)はN 2,図4-2(b)はN 3 の場合を示した.図中の点は,始点ノードsから終点ノードtまでの経路で通過 する途中ノードを示している.そして最終的に,始点ノードsから終点ノードtま での経路 x はN 次元空間上の 1 点 (座標は (g1(x),g2(x),,gN(x))) として表 されることになる.
81
図4-2(a) 拡張ダイクストラ法の経路探索イメージ (N=2)
図4-2(b) 拡張ダイクストラ法の経路探索イメージ (N=3)
82
次に,図 4-3(a)に示したネットワークを対象に,探索空間上で拡張ダイクスト
ラ法によりパレート最適解を判定する過程を,下記の図 4-3(b)と図4-3(c)の 2 次 元空間上で説明する.探索空間上で拡張ダイクストラ法の計算過程を詳細に図示 すると,空間における1点はノード上にある1つのコストラベルを表す.ラベル は該当ノードに到達するまでの総コストであり,1つのノード上には該当ノード に到達するまでの経路の数のラベルが存在する.図 4-3(b)に示したように,v1に 到達する経路が2通りあれば,探索空間上にもv1までの総コストとして2点が図 示される.拡張ダイクストラ法では,同一ノード上のラベル間でパレート最適解 の判定を行っている.図4-3(b)のv1のラベルを示す2つの点は,どちらも互いに 被支配領域に存在していないので,2 点からv1に隣接する別のノードへの経路探 索を進める.
図 4-3(c)は,v2におけるラベルの判定を図示したものである.v2のラベルにつ
いては,v1を経由した経路の点は,sから直接v2へ到達した経路の点と比べ各目 的関数値が高い領域に存在している.そのため,図 4-3(c)に示したようにv1を経 由した経路の点から他ノードへの経路探索は制限される.
以上のように,拡張ダイクストラ法の計算過程は,終点ノードtまでの途中に 存在するノードへの経路も含め,すべて空間上で考えることが出来る.以後空間 上において,パレート最適解の判定により途中で探索が停止し,拡張ダイクスト ラ法において生成されないラベルは図示しないものとする.
図4-3(a) ネットワーク上での最適解判定過程
83
図4-3(b) 拡張ダイクストラ法の最適解判定イメージ (1)
図4-3(c) 拡張ダイクストラ法の最適解判定イメージ (2)
84