• 検索結果がありません。

有向無閉路グラフでの最短路問題

N/A
N/A
Protected

Academic year: 2021

シェア "有向無閉路グラフでの最短路問題"

Copied!
29
0
0

読み込み中.... (全文を見る)

全文

(1)

情報システム評価学 ー整数計画法ー

第4回目:動的計画法

塩浦昭義(東北大学 大学院情報科学研究科 准教授)

(2)

有向無閉路グラフでの最短路問題

入力:有向無閉路

(acyclic)

グラフ

G = (V, A),

2頂点

s, t

V,

各枝

(i, j)

の長さ

cij

出力:

s

から

t

への長さ最短の有向パス

頂点s

頂点t

(3)

最短路の性質

s

から

t

への最短パスが頂点

p

を通る

 s

から

p

への部分パスは

s

から

p

への最短路

p

から

t

への部分パスは

p

から

t

への最短路

頂点s

頂点t 頂点p

(4)

最短路の性質

特に,

s

から

t

への最短パスにおいて,

t

の直前の頂点が

p

 s

から

p

への部分パスは

s

から

p

への最短路

 s

から

t

への最短路長=(

s

から

p

への最短路長)

+cpt

頂点s

頂点t 頂点p

(5)

最短路長の計算

定義

--- d(v):

頂点

s

から

v

までの最短路長

全頂点

v

に対して

d(v)

は次の再帰式により計算可能

d(v) = min{d(u) + cuv | (u, v)

v

に入る枝

}

s

a c

b e

1

4

2

3 1

2 1 3

d(s) = 0

d(a) = 1

※頂点を処理する

順番に注意 d(b) = 3

d(c) = 2

d(e) = min{d(a)+3,

d(b)+3, d(c)+1}

= 3

(6)

最短路計算のポイント

最短路の性質

再帰式による解法

「最適性の原理」

最適解の部分解は,元の問題の部分問題の最適解である

再帰的なアルゴリズム

このアプローチ,もしくはこのアプローチにより得られる

再帰的アルゴリズムを動的計画法という

(7)

0-1 ナップサック問題と部分問題

0-1

ナップサック問題(入力は全て正の整数)

部分問題(

r = 1, 2,…, n,

λ

= 0, 1, …, b)

この部分問題の最適値 元の問題の最適値

(8)

0-1 ナップサック問題の最適解の性質

部分問題(

r = 1, 2,…, n,

λ

= 0, 1, …, b)

この部分問題の最適値

Pr(

λ

)

の最適解

x*

において

x*r = 0

ならば

(x*1, …, x*r-1)

Pr-1(

λ

)

の最適解

Pr(

λ

)

の最適解

x*

において

x*r = 1

ならば

(x*1, …, x*r-1)

Pr-1(

λ

-ar)

の最適解

(9)

0-1 ナップサック問題に関する再帰式

計算時間

O(nb)

(10)

0-1 ナップサック問題の最適解の計算

ここで

最適解も再帰的に計算可能

よって,

(11)

0-1 ナップサック問題の問題例

10 7

f4 f3 f2

10 10

10 10

10 0

0 f1

6 5

4 3

2 1

λ

0

(12)

整数ナップサック問題と部分問題

整数ナップサック問題(入力は全て正の整数)

部分問題(

r = 1, 2,…, n,

λ

= 0, 1, …, b)

この部分問題の最適値 元の問題の最適値

(13)

整数ナップサック問題の最適解の性質

部分問題(

r = 1, 2,…, n,

λ

= 0, 1, …, b)

この部分問題の最適値

Pr(

λ

)

の最適解

x*

において

x*r = t

ならば

(x*1, …, x*r-1)

Pr-1(

λ

- t ar)

の最適解

(14)

整数ナップサック問題に関する再帰式

再帰式において

計算時間

O(nb2)

改善は

可能か?

(15)

整数ナップサック問題の最適解の性質 その2

部分問題(

r = 1, 2,…, n,

λ

= 0, 1, …, b)

この部分問題の最適値

Pr(

λ

)

の最適解

x*

において

x*r = 0

ならば

(x*1, …, x*r-1)

Pr-1(

λ

)

の最適解

Pr(

λ

)

の最適解

x*

において

x*r = 1+t (t

0)

ならば

(x*1, …, x*r-1, t)

Pr(

λ

-ar)

の最適解

(16)

整数ナップサック問題に関する再帰式 その2

計算時間

O(nb)

(17)

整数ナップサック問題の問題例

30 7

f4 f3 f2

30 20

20 10

10 0

0 f1

6 5

4 3

2 1

λ

0

(18)

整数ナップサック問題の最適解の性質 その3

新たな部分問題(λ

= 0, 1, …, b)

この部分問題の最適値

Pn(

λ

)

の最適解

x*

において,ある

j

に対して

x*j = 1+t (t

0)

ならば

(x*1, …, x*j-1, t, x*j+1, …, x*n)

Pn(

λ

-aj)

の最適解

(19)

整数ナップサック問題に関する再帰式 その2

計算時間

O(nb)

(20)

整数ナップサック問題の問題例

7 0

h

6 5

4 3

2 1

λ

0

(21)

容量なしロットサイズ決定問題

ロットサイズ決定問題

各期における製品の製造数を決定する問題

需要を満たしつつ,製造コスト,在庫の保管コストを最小に

入力

n: 期間数

ft:第t期における製造開始コスト

pt:第t期における製品1単位当りの製造コスト

ht:第t期における製品1単位当りの保管コスト

dt:第t期における製品の需要量

(22)

混合整数計画問題による定式化

変数

xt:第t期における製品の製造量

st:第t期における製品の在庫量

yt{0,1}:第t期で製品を製造するとき1,そうでないとき0

(23)

製品の流れ

1 2 3 4 5

生産量x1

x2 x3 x4 x5

在庫量s1 s2 s3 s4

需要量d1 d2 d3 d4 d5

(24)

部分問題

問題

(Pk)

第1期から第

k

期までに問題を制限

(25)

最適解の性質

次の条件を満たす最適解が存在

xt > 0 ならば st-1 = 0 st-1 > 0 ならば xt=0

xt>0 ならば,ある k に対して xt = dt+ dt+1 + … + dt+k

1 2 3 4 5

d1+d2

0 d3 d4+d5 0

d2 0 0 d5

d1 d2 d3 d4 d5

部分問題P3に 対する最適解 部分問題P2

対する最適解 第1~2期に生産

した製品は

第2期終了時には 在庫に存在しない

(26)

ロットサイズ決定問題の再帰式

次の条件を満たす最適解が存在

xt > 0 ならば st-1 = 0 st-1 > 0 ならば xt=0

xt>0 ならば,ある k に対して xt = dt+ dt+1 + … + dt+k

①,②を満たす最適解において

xt>0

ならば,

(x1, x2, …, xt-1)

は部分問題

Pt

に対する最適解である

部分問題

Pk

の最適値を

H(k)

とおくと,

(27)

ロットサイズ決定問題の再帰式

次の条件を満たす最適解が存在

xt > 0 ならば st-1 = 0 st-1 > 0 ならば xt=0

xt>0 ならば,ある k に対して xt = dt+ dt+1 + … + dt+k

①,②を満たす最適解において

xt>0

ならば,

(x1, x2, …, xt-1)

は部分問題

Pt-1

に対する最適解である

部分問題

Pk

の最適値を

H(k)

とおくと,

(H(0)=0)

(28)

ロットサイズ決定問題の問題例

n: 期間数 = 4

ft:第t期における製造開始コスト (12,20,16,8)

pt:第t期における製品1単位当りの製造コスト (3,3,3,3)

ht:第t期における製品1単位当りの保管コスト (1,2,1,1)

dt:第t期における製品の需要量 (2,4,5,1)

H(4) H(3)

H(2) H(1)

H(0)

(29)

最適解の性質(証明)

次の条件を満たす最適解が存在

xt > 0 ならば st-1 = 0 st-1 > 0 ならば xt=0

xt>0 ならば,ある k に対して xt = dt+ dt+1 + … + dt+k

(①の証明)t m に対して①を満たす最適解(x, s, y)が存在すると仮定,

t m+1 に対して条件を満たす最適解が存在することを示す.

sm>0のとき,ある umに対して xu>0, xu+1=…=xm=0, su, su+1, …, sm>0

すなわち,第m+1期において,第u期で生産された製品がまだ保管されている.

解の最適性より,xm+1>0ならば pm+1 = pu +su+…+sm

よって,xm+1 を減らしてxuを増やしても,またxm+1 を減らしてxuを増やしても,解 の最適性は変わらない.

このことより,最適性を保ったまま,xm+1smのどちらかを0にすることが出来る.

このようにして得た最適解は, tm+1に対して条件①を満たしている.

(②の証明)条件①を使うと示すことが出来る.

参照

関連したドキュメント

東京大学 大学院情報理工学系研究科 数理情報学専攻. hirai@mist.i.u-tokyo.ac.jp

大谷 和子 株式会社日本総合研究所 執行役員 垣内 秀介 東京大学大学院法学政治学研究科 教授 北澤 一樹 英知法律事務所

鈴木 則宏 慶應義塾大学医学部内科(神経) 教授 祖父江 元 名古屋大学大学院神経内科学 教授 高橋 良輔 京都大学大学院臨床神経学 教授 辻 省次 東京大学大学院神経内科学

東北大学大学院医学系研究科の運動学分野門間陽樹講師、早稲田大学の川上

学識経験者 小玉 祐一郎 神戸芸術工科大学 教授 学識経験者 小玉 祐 郎   神戸芸術工科大学  教授. 東京都

講師:首都大学東京 システムデザイン学部 知能機械システムコース 准教授 三好 洋美先生 芝浦工業大学 システム理工学部 生命科学科 助教 中村

学識経験者 品川 明 (しながわ あきら) 学習院女子大学 環境教育センター 教授 学識経験者 柳井 重人 (やない しげと) 千葉大学大学院

関谷 直也 東京大学大学院情報学環総合防災情報研究センター准教授 小宮山 庄一 危機管理室⻑. 岩田 直子