1 / 120

ネットワーク理論 Text. Part 3 pp. 57-104

ネットワーク理論 Text. Part 3 pp. 57-104. 最短路問題 pp.58-84 Ford 法 , 双対問題とポテンシャル, Bellman 方程式と Bellman-Ford 法 負の費用をもつ閉路がある場合,閉路を含まない場合 最大流問題 pp.85-94 最小費用流問題 pp.95-104. 飛脚に払う費用 (単位は両). 大名の例題. 終点. 始点. c は枝集合 E から 非負の実数全体への写像. 点とそれに接続する 枝が交互に並んだもの. 最短路問題(定義). 点集合 V 枝集合 E

kerry
Télécharger la présentation

ネットワーク理論 Text. Part 3 pp. 57-104

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ネットワーク理論Text. Part 3 pp. 57-104 • 最短路問題 pp.58-84 • Ford法,双対問題とポテンシャル,Bellman方程式とBellman-Ford法 • 負の費用をもつ閉路がある場合,閉路を含まない場合 • 最大流問題 pp.85-94 • 最小費用流問題 pp.95-104 1

  2. 飛脚に払う費用 (単位は両) 大名の例題 終点 始点 2

  3. cは枝集合Eから 非負の実数全体への写像 点とそれに接続する 枝が交互に並んだもの 最短路問題(定義) • 点集合 V • 枝集合 E • 有向グラフ G=(V,E) • 枝の費用 c: E → R+ • 目的:始点sから終点tまでの最小費用のパス 最短路 3

  4. 氷を運びますか? Ford法(アイディア) 費用=10(両) 宿場1 富士山 氷の価格=0(両) 氷の価格=9(両) 氷の価格=10(両) 氷の価格=11(両) 4

  5. 点のポテンシャル y : V→ R 氷を運びますか? ywがyv+cvw以上なら 飛脚は氷を運ぶ! y は点集合 V から 実数全体への写像 アイディアの形式化小売価格=ポテンシャル 費用=cvw 点w 点v 氷の価格=yv(両) 氷の価格= yw(両) 5

  6. 「小売価格の見直し」操作 費用=10(両) 宿場1 富士山 氷の価格=0(両) 小売価格が 適正でない! 氷の価格=13(両) 小売価格の 見直し 氷の価格=10(両) 6

  7. Ford法(飛脚組合バージョン) • 富士山の氷の価格=0;他の宿場町の氷の価格=∞ • while 小売価格が適正でなければ... do • (wにおける)価格が適正でない枝 vw に対して「小売価格の見直し」 7

  8. 解いてみよう!(1) 8

  9. 解いてみよう!(2) ∞ ∞ 0 ∞ ∞ 9

  10. 解いてみよう!(3) ∞ ∞ 0 価格が適正でない ∞ ∞→5 10

  11. 解いてみよう!(4) ∞ ∞→10 0 価格が適正でない ∞ 5 11

  12. 解いてみよう!(5) ∞ 10→8 0 価格が適正でない ∞ 5 12

  13. 解いてみよう!(6) ∞ 8 0 価格が適正でない ∞→7 5 13

  14. 解いてみよう!(7) ∞→13 8 0 価格が適正でない 7 5 14

  15. 解いてみよう!(8) 13→9 8 0 価格が適正でない 7 5 15

  16. 解いてみよう!(9) 9 8 0 全ての価格が 適正になった 7 5 16

  17. ポテンシャルの実行不能,実行可能 • 小売価格=ポテンシャル • ポテンシャルが実行不能(小売価格が適正でない) • ポテンシャルが実行可能(小売価格が適正) 17

  18. Ford法 集合の差演算 • ys:=0, yv :=∞, • While ポテンシャル yが実行不能 do • yw>yv+cvwを満たす枝を見つけてyw:=yv+cvw 18

  19. 双対問題とポテンシャル-まずは線形計画として定式化-双対問題とポテンシャル-まずは線形計画として定式化- • 変数 xvw: 最短路(最適パス)が枝vwを使うなら1,それ以外なら0 • 例:始点 s に対して,xs1=0, xs2=1 (8ページ目のスライド参照)xがパスを表すためには...始点 s から飛脚が1人出ていく!xs1+xs2=1 19

  20. 線形計画として定式化2 • xがパスを表すためには...点1に飛脚が入ってきたら出ていかなければならない!xs1+x21 -x12-x1t =0 • 点2に飛脚が入ってきたら出ていかなければならない!xs2+x12–x21-x23 =0 • 点3に飛脚が入ってきたら出ていかなければならない!x23-x3t =0 • 終点tには飛脚が入ってくる! x1t+x3t =1 20

  21. 線形計画として定式化3 • パスに含まれている枝の費用の合計は最小化 最小化10xs1+5xs2+2x12+x1t+3x21+2x23+6x3t条件 -xs1- xs2 =-1 xs1 - x12-x1t+ x21 =0 xs2+ x12 - x21- x23 =0 x23- x3t =0 x1t + x3t =1 21

  22. 双対問題を作ってみよう! • 絶対に失敗しない方法 (Lagrange緩和を用いる!) まず,主問題のそれぞれの制約式に対応する双対変数を用意 22

  23. 双対問題を作ってみよう! 最小化10xs1+5xs2+2x12+x1t+3x21+2x23+6x3t条件 -xs1- xs2 =-1 xs1 - x12-x1t+ x21 =0 xs2+ x12 - x21- x23 =0 x23- x3t =0 x1t + x3t =1 ×ys ×y1 ×y2 ×y3 ×yt (xs1+xs2-1)×ys (-xs1+x12+x1t-x21)×y1 (-xs2-x12+x21+x23)×y2 (-x23+x3t)×y3 (-x1t-x3t+1)×yt 任意の実数 (負でも良い) =0 23

  24. 双対問題を作ってみよう! 最小化 10xs1+5xs2+2x12+x1t+3x21+2x23+6x3t +(xs1+xs2-1)ys+(-xs1+x12+x1t-x21)y1 +(-xs2-x12+x21+x23)y2+(-x23+x3t)y3 +(-x1t-x3t+1)yt 条件 主問題と同じ =0 任意の実数 この部分は0 24

  25. 双対問題を作ってみよう! 目的関数をyについてまとめる 最小化 yt-ys +(10+ys-y1)xs1+(5+ys-y2)xs2+(2+y1-y2)x12 +(1+y1-yt)x1t+(3+y2-y1)x21 +(2+y2-y3)x23+(6+y3-yt)x3t 条件 主問題と同じ 25

  26. 最小化 最適値 最大化 下界(目的関数に加えた項の 合計は0,式を緩和したので) 双対問題を作ってみよう! 目的関数に加えた制約を全て緩和 下界を与える 最小化 yt-ys+(10+ys-y1)xs1+(5+ys-y2)xs2+(2+y1-y2)x12 +(1+y1-yt)x1t+(3+y2-y1)x21+(2+y2-y3)x23+(6+y3-yt)x3t 条件 xは0以上 0以上でないと 発散してしまう 26

  27. 双対問題 ポテンシャルが実行可能である条件 小売価格が適正 双対問題 最大化 yt-ys 条件 27

  28. 双対問題の意味合いを考えてみよう(ポテンシャルと双対変数の関係)双対問題の意味合いを考えてみよう(ポテンシャルと双対変数の関係) • 双対変数yは宿場町での氷の小売価格(ポテンシャル)を表す. • 双対問題の目的関数は,江戸と富士山の小売の価格(ポテンシャル)の差の最大化を表す. • 双対問題の制約式は,小売価格が適正(ポテンシャルが実行可能)であることを表す. 28

  29. Bellman方程式とBellman-Ford法-双対問題を眺めてみよう!-Bellman方程式とBellman-Ford法-双対問題を眺めてみよう!- よりy1=min{ys+10,y2+3}である. 同様に y2=min{ys+5,y1+2}, y3=min{y2+2}, yt=min{y1+1,y3+6} 29

  30. Bellman方程式 Bellman方程式 つまり次式を満たすyを求めれば良い. 30

  31. y1=min{10,y2+3} y2=min{5,y1+2} y3=y2+2 yt=min{y1+1,y3+6} Bellman方程式を解こう1 ys=0(富士山sの小売価格は0) y1=min{ys+10,y2+3} y2=min{ys+5,y1+2} y3=min{y2+2} yt=min{y1+1,y3+6} 31

  32. Bellman方程式を解こう2 y1=min{10,y2+3}を y2=min{5,y1+2} に代入 y2=min{5,min{10,y2+3}+2} 整理して y2=min{5,min{12,y2+5}} もっと整理して y2=min{5,12,y2+5};よって y2 =5 32

  33. Bellman方程式を解こう3 y2 =5 がわかったので... y1=min{10,y2+3}より y1=min{10,5+3} =8 y3=y2+2 より y3=5+2=7 yt=min{y1+1,y3+6}より yt= min{8+1,7+6}=9 より系統的な方法はないものか? (手計算でなくコンピュータでもできるように!) 33

  34. 点wにk+1本の枝を経由してくるときの費用 点vにk本の枝を経由してくるときの 費用にvからwへ移動の費用を加えたもの 点wにk本の枝を経由 してくるときの費用 Bellman方程式(修正版) yv(k)=始点sから,たかだかk本の枝を経由し, 点vに至る最適パスの費用 34

  35. Bellman方程式(修正版)をもとにしたFord法-Bellman-Ford法-Bellman方程式(修正版)をもとにしたFord法-Bellman-Ford法- Bellman-Ford法を言葉で書くと... k=0のときは簡単! ys(0)=0(始点 s までは枝 0 本で費用0) yv(0)=∞(s以外の点vには,枝 0 本では行けない) これを初期条件として... k=1,2,3,4(点の数から1を減じた回数だけ;なぜか?) の順にy(k) を計算する. 35

  36. Bellman-Ford法の適用例 表の値はyv(k) 0 0 0 0 8 10 8 8 5 5 5 5 最適値 7 ∞ 7 7 9 ∞ 11 9 36

  37. Bellman-Ford法 ys(0):=0, yv(0):=∞, for k=0 to n-1 do yw(k+1):=yw(k) ,∀w ∈V for all do if yv(k)+cvw<yw(k) then yw(k+1):=yv(k)+cvw 37

  38. Bellman-Ford法の適用例最適パスを記憶する場合 sからきたことを表す 表の値はyv(k)と直前の点pr(Previousの略) 38

  39. Bellman-Ford法の適用例 sからきたことを表す 0 0 0 0 10 s 8 2 8 2 8 2 5 s 5 s 5 s 5 s 最適値 ∞ 7 2 7 2 7 2 ∞ 9 1 11 1 9 1 39

  40. 最短路木(最適パスの情報を含んだ木) Bellman-Ford法の表を後からたどることにより, 最短路木を作成 1 t s 2 3 40

  41. 演習問題1 • Aから各点への最短路をFord法で求めてみよう. • Aから各点への最短路をBellman-Ford法で求めてみよう. B E A 5 4 注:無向グラフなので A->B,B->Aの両方向に 枝がある有向グラフと みなして解くこと! 4 3 C 9 F 3 3 10 D 4 41

  42. 演習問題2 下のネットワークにおいて,sからtへの最短路を Bellman-Ford法で求めることができるかな? (オプション課題) 42

  43. ネットワーク理論Text. Part 3 pp. 57-104 • 最短路問題 pp.58-84 • Ford法,双対問題とポテンシャル,Bellman方程式とBemmlan-Ford法 • 負の費用をもつ閉路がある場合,閉路を含まない場合 • 最大流問題 pp.85-94 • 最小費用流問題 pp.95-104 43

  44. 飛脚に払う費用 (単位は両) 大名の例題 終点 始点 Ford法を適用してみよう 44

  45. Ford法の適用 ∞ ∞ 1 1 t 10 0 -5 s 6 3 2 5 2 3 2 ∞ ∞ 45

  46. Ford法の適用 ∞→10 ∞ 1 1 t 10 0 -5 s 6 3 2 5 2 3 2 ∞ ∞ 46

  47. Ford法の適用 10 ∞ 1 1 t 10 0 -5 s 6 3 2 5 2 3 2 ∞ ∞→5 47

  48. Ford法の適用 10 ∞ 1 1 t 10 0 -5 s 6 3 2 5 2 3 2 ∞→7 5 48

  49. Ford法の適用 10→2 ∞ 1 1 t 10 0 -5 s 6 3 2 5 2 3 2 7 5 49

  50. 合計費用が負の閉路 (=負の閉路) Ford法の適用 10→2→1→ ∞ 1 1 t 10 0 -5 s 6 3 2 5 2 3 終わらない! 2 5→4→3→ 7→6→5→ 50

More Related