18
簡簡簡 DPM 簡簡簡簡簡簡簡簡 簡簡

2009 年度 第 5 回輪講

  • Upload
    wolfe

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

2009 年度 第 5 回輪講. ~簡単な DPM による実験編~ 平賀 友浩. 目次. 1.概要 2.モデル 3.アルゴリズム 4.計算 5.まとめ. 概要. 単期間での解体問題を取り扱う 簡単な部品を考えて、適当な制約条件を付けて Heuristic なアルゴリズムを動かしてみる. モデル. 前回同様、 a 、 b 、 c 、 d の4つの部品からなるモデルを考える。 B を取り外すためには、 a と c を分離する必要がある。. DPM. 各種制約および条件設定. 新品部品の取得コスト; - PowerPoint PPT Presentation

Citation preview

Page 1: 2009 年度 第 5 回輪講

~簡単な DPM による実験編~

平賀 友浩

Page 2: 2009 年度 第 5 回輪講

1.概要 2.モデル 3.アルゴリズム 4.計算 5.まとめ

Page 3: 2009 年度 第 5 回輪講

単期間での解体問題を取り扱う

簡単な部品を考えて、適当な制約条件を付けて Heuristic なアルゴリズムを動かしてみる

Page 4: 2009 年度 第 5 回輪講

前回同様、 a 、 b 、 c 、 d の4つの部品からなるモデルを考える。

B を取り外すためには、 a と c を分離する必要がある。

Page 5: 2009 年度 第 5 回輪講
Page 6: 2009 年度 第 5 回輪講

1 0 0 0 0 0 1

0 1 0 0 0 1 1

0 0 0 1 1 1 1

0 1 1 0 0 0 0

0 0 1 1 1 0 0

0 1 0 0 0 1 1

0 0 0 1 1 1 1

A

Page 7: 2009 年度 第 5 回輪講

新品部品の取得コスト;a/b/c a/b c/d a b c d80 50 35 20 40 30 10

需要a/b/c a/b c/d a b c d 2 6 1 4 3 7 4

Page 8: 2009 年度 第 5 回輪講

解体するための原料調達費30

各プランの Operation にかかる時間 プラン  1 2 3 4 5 6 7 時間   1 3 4 3 6 7 7

納涼区制約; 25 時間 解体費用

Operation にかかる時間 × 5

Page 9: 2009 年度 第 5 回輪講

Step 1. DPM を作成。 Aij と、コストのパラメータを設定。 Set t = 0 and k = 0, k は時 刻 t での反復回数 ( 今回の場合はtは固定 )

Step 2. t = t + 1 とし、 If t ≤ T なら Step 3 へ、でなければ Step 14 へ(今回の場合 T=1 )

Step 3. 需要 Djt を初期化、在庫 Yjt. For all j, もし Djt ≥ Yj(t-1), then set Djt = Djt - Yj(t-1) 、 Yjt = 0, でなければ , Yjt = Yj(t-1) - Djt and Djt = 0. ( 今回の場合在庫はなし )

Page 10: 2009 年度 第 5 回輪講

Step 4. 時刻 t における初期解をすべての需要を新規取得によって充足したものとして設定。 TRC の初期値を計算 .

Step 5. k を k = k + 1 とし、 Fi をもとにプラン i を策定 .

Step 6. 最大の Fi から i* を i*k = max {F1, F2,…, Fi} のように決定。 Ai*j = 1 かつ Djt > 0 で、プラン i で最小 の需要を満たすように z を決定 Zi*kt = min {D1t, D2t, …, Djt},

Step 7. MTkt を使用容量とし MTkt = MT(k-1)t

+ DTi∙Z i*kt, と更新する  Step 8. もし MTkt ≤ MCt, つまり使用した容

量がキャパシティの範囲内なら Step 9 へ ,そうでなければ Step 11 へ

Page 11: 2009 年度 第 5 回輪講

Step 9. TRCt 、 Djt, Yjt を更新。TRCt = TRCt - ∑COj∙Zi*kt+(CD∙DTi+CP)∙Zi*kt.

Ai*j = 1 に対して、もし Djt > 0 なら , Djt = Djt - Ai*j∙ Z i*kt, でなければ , Yjt = Yjt + Ai*j∙Z i*kt.

Step 10. もし、すべての需要が 0 ならば(∑Djt = 0), 残っている容量を RCt = MCt - MTkt とし、 TRCt = TRCt + ∑Yjt∙Hjt, として Step 2 へ、そうでなければ Step 5 へ

Step 11. Zi*kt = Zi*kt – 1 とデクリメントし、もし Zi*kt > 0 なら Step 7 へ , そうでなければ Fi* = 0 とする

Step 12. もし∑ Fi > 0 なら step 6 へ , そうでなければ Step 13 へ

Page 12: 2009 年度 第 5 回輪講

Step 13.( 今回の場合は単期間なのでないが ) t = 1 から t – 1 まで RCt ≥ min{DTi} かつ

∑ Fi > 0 を検索し、あれば Djt* = Djt, MCt* = RCt*, かつ t = t*, ただし t* は t の最近傍として Step 5 へ。なければ RCt = MCt – MTkt かつ MINCOSTt = MINCOSTt + ∑Yjt∙Hjt として Step 2 へ。

Page 13: 2009 年度 第 5 回輪講

  Bfpi 解体時間 単価 取得費用 Fi 順位

p1 90 1 5 30 55 1

p2 90 3 5 30 45 3

p3 100 4 5 30 50 2

p4 85 3 5 30 40 4

5p 95 6 5 30 35 5

6p 90 7 5 30 25 6

7p 100 7 5 30 35 5

Page 14: 2009 年度 第 5 回輪講

一回目では上のような Fi となったので、パーツ a/b/c の需要の2まで、プラン1を選択。このとき使用した用量は2

次に、 a/b/c の需要が0となったので、それを考慮して Bfi を再計算し、 Fi を出すと、

  Fip1 -25p2 45p3 50p4 405p 356p 257p 35

Page 15: 2009 年度 第 5 回輪講

したがって、プラン3を d の残りの需要2まで採択。このとき使用した容量は8

D の需要がなくなったので、 Bfi を再計算し、 Fi を出すと   Fi

p1  

p2 35

p3 40

p4 40

5p 35

6p 15

7p 25

Page 16: 2009 年度 第 5 回輪講

したがって、プラン 4 を c/d の需要1まで採択。これによって使用された用量は 3

これにより c/d の需要がなくなったので、再計算すると、   Fi

p1  

p2 35

p3 0

p4 5

5p 0

6p 15

7p 25

Page 17: 2009 年度 第 5 回輪講

したがって、プラン 2 を c の需要と容量制約を考えて 4 まで採択。これによって使用された用量は 12

これで、容量が限界となったので、残りの需要を購入により埋め合わせ、 TRC を計算すると、 555 となった。

Page 18: 2009 年度 第 5 回輪講

実際に手で計算してみて、このアルゴリズムがどのように動いているのか、実感できた。

バックワードのアルゴリズムは、複数の期間になった場合に、ある t で要領不足の場合に、それ以前で要領の空きがある場合に、そこで解体し、それを在庫しておくために必要であると考えた。それにより、在庫費用との比較によって、どちらが最適か判断するためのものであると考えた。