均等多品種フローの 最大化アルゴリズムにおける 効率の実際的改善 2003年9月25日 コンピュテーション研究会 中央大学大学院 理工学研究科 情報工学専攻 二瓶 浩一 浅野 孝夫 均等多品種フローの最大化問題 (Maximum Concurrent Flow Problem) 需要: 1 1/2 1 1/2 需要: 1 均等多品種フローの最大化問題 (Maximum Concurrent Flow Problem) 需要: 2 2/5 1 3/5 需要: 3 発表の流れ 問題定義 研究概要 従来手法 提案手法 計算機実験 まとめと今後の課題 問題定義 入力 グラフ 辺の容量 品種 始点 終点 需要 問題定義 目的 全品種のフローの合計が辺容量を超えない. 正の実数 に対して,すべての品種 で となる. これらの条件を満たす最大の を求めること. 問題定義 言いかえると,目的は である. ただし とする. 問題の難しさ 線形計画問題として定式化可能 多項式時間で最適解が求まる インスタンス s2 5 6 s1 4 3 4 t2 5 4 4 6 t1 LP定式化 最適解 問題の難しさ 線形計画問題として定式化可能 多項式時間で最適解が求まる 実際には非常に長い計算時間が必要 近似アルゴリズムの研究が行われている これまでの研究 Shahrokhi and 辺容量がすべて1の場合の 1990 Matura FPTAS 任意容量の場合のFPTAS 1995 Leighton et al. (ランダム化アルゴリズム) 1995 Radzik 任意容量の場合のFPTAS (決定性アルゴリズム) 2002 Karakostas 任意容量の場合のFPTAS (最新手法) FPTAS 誤差パラメータ に対して, 近似率: 計算時間: と の多項式時間 のアルゴリズムをFPTAS (Fully Polynomial Time Approximation Scheme) という. 研究概要 Karakostasのアルゴリズムは最適解が大き くなるほど,計算時間が増加する. 計算時間が最適解の大きさに依存しない 手法の提案. Karakostasのアルゴリズム 誤差パラメータ に対して, 近似率: 計算時間: のアルゴリズム. Karakostasのアルゴリズム s2 5 6 s1 4 3 4 t2 5 4 4 6 t1 Karakostasのアルゴリズム 各辺の容量を長さに変換する. を計算し,辺 の長さ とする (この例では を ). Karakostasのアルゴリズム 2.75 s2 2.7 1 3.46 2.25 s1 3.38 辺eを通るフローの合計 4.5 3.38 t2 2.7 3.38 3.38 2 3.55 2.25 2.32 t1 長さ: Karakostasのアルゴリズム となったら反復終了. 反復前: 反復後: このとき,各辺のフローは容量を超えている ため,スケール・ダウンする. 倍 Karakostasのアルゴリズムの欠点 最適解が大きいインスタンスほど計算時間 が増加する. 最適解が1未満のインスタンスに対しては, 近似保証が成立しない. 最適解が小さくなるようにインスタンスを変 換し,Karakostasのアルゴリズムで解く. インスタンスの変換 s2 5 6 s1 4 3 4 最適解は2となる t2 5 4 4 6 t1 提案手法 すべての品種の需要をα倍すると,最適解 が1/αになることが示せる. 1. 2. 3. 別のアルゴリズムで実行可能解を求め,そ れをαとして,インスタンスを変換する. 変換したインスタンスをKarakostasのアル ゴリズムで解く. 得られた解をα倍して出力する. 提案手法 を求めるアルゴリズム アルゴリズムMF 各品種の最大フローを求め,フローが辺容量以 下になるようする. アルゴリズムIMF アルゴリズムMFを反復させる. アルゴリズムMF s2 5 6 s1 4 3 4 t2 5 4 4 6 t1 アルゴリズムMF s2 (3 5) 5 (6 0) 6 (0 4) 4 (1 3) 4 s1 t2 (3 3) 3 (4 4) 5 (4 0) 4 (0 4) 4 (6 0) 6 t1 (品種1 品種2) 容量 アルゴリズムMF s2 (3 5) 5 (6 0) 6 (0 4) 4 (1 3) 4 s1 t2 (3 3) 3 (4 4) 5 (4 0) 4 (0 4) 4 (6 0) 6 t1 (品種1 品種2) 容量 品種2を5/8倍 アルゴリズムMF s2 (6 0) 6 s1 (3 25/8) 5 (0 5/2) 4 (1 15/8) 4 (3 15/8) 3 t2 (4 5/2) 5 (4 0) 4 (0 5/2) 4 (6 0) 6 t1 (品種1 品種2) 容量 緑の辺で容量の 1.625倍のフロー すべてのフローを 1/1.625倍する アルゴリズムIMF 残余容量グラフ s2 1.23 2.31 s1 2.46 2.23 t2 1 2.46 1.54 2.31 3.07+0.69 t1 3.76 アルゴリズムIMF 残余容量グラフ s2 1.77 s1 1.77 2.23 t2 0.46 2.46 0.71 1.48 品種2にパス が存在しない t1 反復終了 解析(近似率) アルゴリズムMFとアルゴリズムIMFは近似 保証 を達成する. アルゴリズムMF: 解析はタイト アルゴリズムIMF: タイトでない? 解析(計算時間) アルゴリズムMF: アルゴリズムIMF: は,最大フローの計算時間を表す. アルゴリズムMFとIMFの比較 辺の密度を変化させたとき 辺の密度が増加すると反復数が増加する. (点数:10,品種数:10のとき,辺数90で反復数 は7回程度) 計算時間は,反復数に依存する. 得られる解についても同様. (点数:10,品種数:10のとき,辺数90で1.6倍) アルゴリズムMFとIMFの比較 品種数を変化させたとき 反復数はほとんど変化しない. (点数:10,辺数:45の場合,3回程度) 計算時間も同様. (点数:10,辺数:45の場合,3倍程度) 得られる解もほとんど変化しない. (反復した場合,平均して1.3倍程度) アルゴリズムIMF 点数: 45,辺数: 1000,品種数: 100,ε: 0.1 平均 アルゴリズムIMFの計算時間 [s] Karakostasのアルゴリズムの 計算時間 [s] Karakostasのアルゴリズムの解が 1になるときの提案手法の解 1.199 74.475 0.589 インスタンスの変換 s2 6 s1 5 4 3 λ= 1.02 3.76 × 4 t 5 =3.84 2 4 4 6 t1 提案手法 は実行可能解なので,すべての品種の需 要を 倍したインスタンスの最適解は1以上 になる. が最適解に近ければ,Karakostasのアル ゴリズムを実行するのに必要な計算時間が 大きく減少する. 計算機実験 実験内容 辺数と品種数の変化 誤差パラメータの変化 グラフの規模の変化 マシンスペック CPU: Intel Pentium4 2.4 GHz メモリ: 512 MB 計算機実験 各インスタンスについて, 方法1: Karakostasのアルゴリズムをそのまま実行. 方法2: アルゴリズムMFでαを求め,Karakostasのア ルゴリズムを実行. 方法3: アルゴリズムIMFでαを求め,Karakostasの アルゴリズムを実行. を比較した. 計算機実験 ランダムに生成したインスタンスに対して,す べての品種の需要を変化させ,解が 1, 2, 4, 8,…, 256, 512 となるようにして,方法1, 2, 3を実行した. 同一条件で20個のインスタンスを生成して, 実験を行った. 計算機実験 90 方法1 方法2 方法3 80 計算時間 [s] 70 60 50 40 30 20 10 0 1 10 100 1000 解λ 点数: 20, 辺数: 95, 品種数: 285, ε: 0.1のときの結果の一例 辺数,品種数の変化 点数 辺数 品種数 ε 20 95 95 0.1 20 95 285 0.1 20 285 95 0.1 20 285 285 0.1 8 6 辺数, 品種数 10 285, 285 285, 95 95, 285 95, 95 285, 285 285, 95 95, 285 95, 95 辺数,品種数の変化 12 最小値 平均値 最大値 良 4 2 0 誤差パラメータの変化 点数 辺数 品種数 ε 20 190 190 0.05 20 190 190 0.1 20 190 190 0.2 誤差パラメータの変化 9 最小値 平均値 最大値 8 7 6 良 5 4 3 2 1 0 0.05 0.1 0.2 0.05 0.1 0.2 ε 規模の変化 点数 辺数 品種数 ε 10 45 45 0.1 20 190 190 0.1 30 435 435 0.1 規模の変化 18 最小値 平均値 最大値 16 14 12 良 10 8 6 4 2 0 10 20 30 10 20 30 点数 考察 すべての場合で, より の方が小さ い値になった. 解が非常に小さい場合には,Karakostasの アルゴリズムの方が短い計算時間で解が求 まった. 提案手法は,解の大きさによらず,常に一定 の計算時間で解が求まった. まとめ Karakostasのアルゴリズムをもとにして,計 算時間を改善した. 解が非常に小さいときには,Karakostasの アルゴリズムの方が短い計算時間である が,提案手法は解の大きさによらず計算時 間が一定なので,有用であるといえる. 今後の課題 を求めるアルゴリズムの改善. 計算時間の理論的な短縮.
© Copyright 2024 ExpyDoc