64
ロロロロロロロロロ ロ 10 ロ ロロロロロロロ ロ 11 ロ ロロロロロロロ ロロロロロロ ロロロロロ ロロロロ ロロロロロロロロロロ ロロロロロロロ ロロロロロロロロロ ロロロロロロロロロロロロロロロロロロロ ロロロロロロ [ ロロロ ] ロ 10 ロ ロロロロロロ ロロロロロロ ロロ ロロ

東京商船大学 久保 幹雄

Embed Size (px)

DESCRIPTION

ロジスティクス工学 第 10 章 施設配置モデル 第 11 章 ロジスティクス・ネットワーク 設計モデル サプライ・チェインの設計と管理 第2章 ロジスティクス・ネットワークの構成 コケコーラの事例を読んでおくこと! 副読本:組合せ最適化 [ 短編集 ] 第 10 章 施設配置問題. 東京商船大学 久保 幹雄. 平面上の配置問題 Fermat (フェルマー) の古典問題. 各点上に顧客がいるとして,顧客の歩く総距離が最小になる点に施設を建てる. ->Weber 問題 -> 施設配置問題 - PowerPoint PPT Presentation

Citation preview

Page 1: 東京商船大学 久保 幹雄

ロジスティクス工学第 10 章 施設配置モデル

第 11 章 ロジスティクス・ネットワーク設計モデル

サプライ・チェインの設計と管理第2章 ロジスティクス・ネットワークの構成

コケコーラの事例を読んでおくこと!

副読本:組合せ最適化 [ 短編集 ] 第 10 章 施設配置問題

東京商船大学久保 幹雄

Page 2: 東京商船大学 久保 幹雄

平面上の配置問題Fermat (フェルマー)の古典問

題• 各点上に顧客がいるとして,顧客の歩く総距離が最小に

なる点に施設を建てる. ->Weber 問題 -> 施設配置問題• 各点上にコンピュータがあるとして,総距離が最小にな

るように繋ぐ.(ただしハブを使っても良い.) ->Steiner 木問題

Page 3: 東京商船大学 久保 幹雄

Steiner (スタイナー)木問題• 平面上に点が与えられたとき,総距離が最小

になるように繋ごう!ただし中継点を使っても良い.(中継点なしだと最小木問題になり簡単(どん欲アルゴリズムで解ける!)

Page 4: 東京商船大学 久保 幹雄

距離の 2 乗和を最小にする平面上の施設配置問題

距離の 2 乗和を最小にする平面上の施設配置問題

• n 人の顧客が平面上に分布しており,その座標を (Xi,Yi), i=1,...,n とする.このとき,顧客からの距離の2乗和を最小にするような施設は平面上のどこに作れば良いか?

• f(X,Y)=Σi (Xi-X) 2+(Yi-Y)2 最小にする (X,Y)

を求める問題

(2,1),(9,1),(12,3)(2,1),(9,1),(12,3)(5,8),(11,7)(5,8),(11,7)

(( Xi,Yi)Xi,Yi)

Page 5: 東京商船大学 久保 幹雄

距離の 2 乗和を最小にする平面上の施設配置問題の解法

距離の 2 乗和を最小にする平面上の施設配置問題の解法

• f(X,Y)=Σi (Xi-X) 2+(Yi-Y)2 を最小にす

る! -> 微分する!• ∂f(X,Y)/∂X =• ∂2f(X,Y)/∂X2 =

So f(X,Y) is . X* = Y* =

Page 6: 東京商船大学 久保 幹雄

Weber (ウエーバー)問題Weber (ウエーバー)問題• n 人の顧客が平面上に分布しており,その座

標を (Xi,Yi), i=1,...,n とする.このとき,顧客からの距離の和( 2 乗和でなはい!)を最小にするような施設は平面上のどこに作れば良いか?

• f(X,Y)=Σi {(Xi-X) 2+(Yi-Y)2 }1/2 を最小にす

る (X,Y) を求める問題

(2,1),(9,1),(12,3)(2,1),(9,1),(12,3)(5,8),(11,7)(5,8),(11,7)

(( Xi,Yi)’s are:Xi,Yi)’s are:

Page 7: 東京商船大学 久保 幹雄

Weber 問題の解法Weber 問題の解法

• f(X,Y)=Σi {(Xi-X) 2+(Yi-Y)2 }1/2  を微分

してみる.• ∂f(X,Y)/∂X =• ∂2f(X,Y)/∂X2=

So f(X,Y) is . X* = Y* =

Page 8: 東京商船大学 久保 幹雄

練習問題練習問題• Find the optimal location of the facility of

Continuous Location and Weber examples.

Page 9: 東京商船大学 久保 幹雄

k- メディアン問題

A B C D EA 0 4 3 2 6B 4 0 2 3 4C 3 2 0 1 3D 2 3 1 0 4E 6 4 3 4 0

A B

CD E

2

1

2

3

4

4

(3)

(3) (2) (1)

(1)距離

各点上にいる顧客 A,B,C,D,E (カッコ内の数字は人数を表す)は,開設された最も近い施設を利用するものとする.このとき,顧客の総走行距離を最小にするように, k 個の施設を選択せよ.

Page 10: 東京商船大学 久保 幹雄

k- メディアン問題(定義)• 無向グラフ G=(V,E)• 距離関数 d: E→R+ (非負の実数)• 需要関数(点の重み) w: V →R+

• 施設の数 k (正数) が与えられたとき,

となるような点集合 S を求める問題.  ただし, d(i,j) は 2 点 i,j の最短距離を表す.

Vj

Sij

kSjidw ),(minmin

S 内の最も近い施設に行く

総移動距離を最小にする k 個の施設を選択

重みつきの合計をとる

Page 11: 東京商船大学 久保 幹雄

施設を点の上に配置したと仮定しても最適性が失われないことの証明 (1)

p qx

d(x,p) d(x,q)=d(p,q)-d(x,p)

k=1 の場合で証明枝 p,q の間の x に配置するのが最適と仮定

P: p 経由の方が近い点集合Q: q 経由の方が近い点集合

Pj Qj

jj ww

P の方が顧客が多いと仮定 (w.l.g.:without loss of generality)

PQ

Page 12: 東京商船大学 久保 幹雄

施設を点の上に配置したと仮定しても最適性が失われないことの証明 (2)

Qjj

Pjj

Pj Qjjj

Qjj

Pjj

Qjj

Pjj

Vjj

jqdqpdwjpdwwwpxd

jqdpxdqpdwjpdpxdw

jqdqxdwjpdpxdwjxdw

),(),(),(),(

),(),(),(),(),(

),(),(),(),(),(

           

           

d(x,q)=d(p,q)-d(x,p)

Pj Qj

jj ww d(p,j) d(p,q)+d(q,j)≦点 p から j へ行くには,Q 経由より直接の方が近い!

0以上

Vj

jQj

jPj

jVj

j jpdwjpdwjpdwjxdw ),(),(),(),(

途中の点 x の施設より点 p の方が良い!

Page 13: 東京商船大学 久保 幹雄

k- メディアン問題の Excel による表現( median.xls)

Open0 4 3 2 6 04 0 2 3 4 13 2 0 1 3 02 3 0 1 4 16 4 3 4 0 0

99999 99999 99999 99999 999994 0 2 3 4

99999 99999 99999 99999 999992 3 0 1 4

99999 99999 99999 99999 999992 0 0 1 4 Min Dsitance3 1 2 3 1 Demand6 0 0 3 4 13 Total

A B C D E F G123456789101112131415

=IF(G2=1,A2,99999)

=MIN(A8:A12)

=A13*A14

=SUM(A15:E15)

もし G2 のセルに1が入っていたら, A2 の値,それ以外なら大きな数

Page 14: 東京商船大学 久保 幹雄

貪欲解法

• 貪欲解法( greedy algorithm ) k=1 の場合の最適な施設( 1- メディア

ン)を求め,それを固定した上で,次の施設を順に(施設数が k になるまで)選択していく.

1つの施設を建てる場合 -> 点 D が最適!

2つの施設を配置する場合:貪欲解法のとき 点 D と点 [ ]    最適解 点 [ ] と点 [ ]

Page 15: 東京商船大学 久保 幹雄

貪欲解法(逆順)(組合せ最適化短編集 第 10 章の第1話参照)

• 貪欲解法とは逆に,すべての施設が配置されている場合からはじめて, 1 つの施設を除いたときの費用の増加が最も少ないもを削除.これを施設数が k になるまで繰り返す.(medan2.xls)

1顧客 2顧客 3顧客 4顧客A施設 110 585 165 595B施設 640 65 200 580C施設 670 590 125 115D施設 450 115 840 100

Page 16: 東京商船大学 久保 幹雄

練習問題 (k- メディアン問題 )

A B

CD E

2

1

2

3

4

4(3)

(3) (2) (1)

(1)距離各点上にいる顧客 A-H (カッコ内の数字は人数を表す)は,開設された最も近い施設を利用するものとする.このとき,顧客の総走行距離を最小にするように, 1 個の施設を選択せよ.また, 2 個選択する場合はどうか ?Excel による試行錯誤と貪欲解法,貪欲解法(逆順)で解け.

F

GH

3 2

(1)

(4)(0)

Page 17: 東京商船大学 久保 幹雄

k- センター問題

A B C D EA 0 4 3 1 2B 4 0 2 4 5C 3 2 0 2 3D 1 4 2 0 1E 2 5 3 1 0

A B

CD

E

1

2

2

1

4

距離

各点上にいる顧客 A,B,C,D,E は,開設された最も近い施設からサービスを受けるものとする.このとき,施設から最も遠い顧客への距離を最小にするように, k 個の施設を選択せよ.(消防署などの緊急を要する施設の配置で利用)

Page 18: 東京商船大学 久保 幹雄

k- センター問題(定義)• 無向グラフ G=(V,E)• 距離関数 d: E→R+ (非負の実数)• 施設の数 k (正数) が与えられたとき,

となるような点集合 S を求める問題.  ただし, d(i,j) は 2 点 i,j の最短距離を表す.

),(minmaxmin jidSiVjkS

S 内の最も近い施設から行く

最大距離を最小にする k 個の施設を選択

最も遠い(不利な)顧客を選択

Page 19: 東京商船大学 久保 幹雄

1- センター問題の最適解必ずしも点の上とは限らない!

A B C D E maxA 0 4 3 1 2   4B 4 0 2 4 5 5C 3 2 0 2 3 3D 1 4 2 0 1 4E 2 5 3 1 0 5

点の上だとすると...行ごとの最大値を計算.それが最小になる点 [   ] が最適!

消防署の最適配置!

Page 20: 東京商船大学 久保 幹雄

1- センター問題 ( 枝上への最適配置)

A B

CD

E

1

2

2

1

4

枝 (A,B) 上( A からの距離が x の地点)に配置する場合

A B

4

5(4)

(5)

(3)(4)

(5)

x

d(x,B)

d(x,A)

d(x,D)

d(x,C)

1

2

3

d(x,E)),(maxmin jid

VjkS

Page 21: 東京商船大学 久保 幹雄

1- センター問題 ( 枝上への配置の下界の導出)

p x=0

q x=d(p,q)

p q

Mp=max{d(p,j)}

Mq=max{d(p,j)}

Mp-x

x+Mq-d(p,q)

最も小さい場合Mp-x=x+Mq-d(p,q)

x

2

),(MqMp qpd

Page 22: 東京商船大学 久保 幹雄

1- センター問題 ( 最適解)

A B

CD

E

1

2

2

1

4(4)

(5)

(3)(4)

(5)

x

2

),(MqMp qpd

AB 上 ->(4+5-4)/2=2.5 <3

>3 ( C 上に配置)なら,枝 pq 上は調べなくて良い!

AD 上 ->(4+4-1)/2=3.5 >3

BC 上 ->

CD 上 ->

DE 上 ->

よって CD 上のみ調べれば良い!練習問題:枝 CD 上の最適配置をグラフを用いて求めよ.

Page 23: 東京商船大学 久保 幹雄

容量制約なし施設配置問題

A B C D EA 0 4 3 2 6B 4 0 2 3 4C 3 2 0 1 3D 2 3 1 0 4E 6 4 3 4 0

7 8 9 7 6

=cij

= fj

輸送費用

各点の需要量は1

施設開設の固定費用

Page 24: 東京商船大学 久保 幹雄

容量制約なし施設配置問題(定式化)I: 需要地点 ( 顧客)の集合J: 施設の配置可能地点の集合 xij = 顧客 i の需要が施設 j によって満たされる割合

yi = 1 施設が点 j 上に配置されるとき 0 それ以外のとき

ijJj Ii Jj

ijjj xcyf

   最小化

Jjy

JjIix

JjIiyx

Iix

j

ij

jij

Jjij

        

          

          

      条件

}1,0{

,0

,

1

Ii

ijij yIx

(下界が)弱い定式化

(式の本数は多いが下界が)強い定式化

十分に大きな数(=顧客の数)(使わない方がよい!)

Page 25: 東京商船大学 久保 幹雄

練習問題• k- センター問題,容量制約なし施設配

置問題を試行錯誤で解くための Excel モデルを作成せよ.

• Excel を用いた試行錯誤( What If分析)を用いて k- メディアン , k- センター問題,容量制約なし施設配置問題を解け. ( k- メディアン , k- センター問題の場合には, k を色々変えてみよ.)

Page 26: 東京商船大学 久保 幹雄

Lagrange緩和

Iii

Jjijij

Jj Ii Jjijjj uxxcyf 1   最小化

Jjy

JjIix

JjIiyx

Iix

j

ij

jij

Jjij

        

          

          

      条件

}1,0{

,0

,

1    

Jj

ijx 01

Lagrange 乗数(任意の実数)

Jjy

JjIix

JjIiyx

j

ij

jij

        

          

      条件

}1,0{

,0

,最初の式の緩和 -> 最適値は等しいか小さい -> 下界 !

Page 27: 東京商船大学 久保 幹雄

Lagrange緩和(子問題への分解)

Ii

iijJj Ii Jj

iijjj uxucyf   最小化

Jjy

JjIix

JjIiyx

j

ij

jij

        

          

      条件

}1,0{

,0

,

-> 各 j (施設)ごとに分解できる! ij

Iiiijjj xucyf

   最小化

        

          

      条件

}1,0{

0

j

ij

jij

y

Iix

Iiyx

Ii

iu 

を各 j について解いて    を加える ->下界

各顧客がちょうど1つの施設に行く条件を緩和

そのかわりに顧客 iがui の「ご褒美」を施設に与える!

Page 28: 東京商船大学 久保 幹雄

Lagrange緩和( Excel モデル) flp-lag1.xls

[cij] [ui] Lagrange乗数 施設名 Open 固定費用0 4 3 2 6 3 A 0 7 04 0 2 3 4 3 B 0 8 03 2 0 1 3 3 C 0 9 02 3 1 0 4 3 D 1 7 76 4 3 4 0 4 E 0 6 0

[cij- ui]- 16 Σ ui 7 固定費用の和- 3 0 0 - 1 00 - 3 - 1 0 00 - 1 - 3 - 2 0

- 1 0 - 2 - 3 00 0 - 1 0 - 4

- 4 - 4 - 7 - 6 - 4 Σ (cij- ui)-7 8 9 7 6 固定費用0 0 0 0 0 0 16 下界0 0 0 0 0 yj 17 上界

99999 99999 99999 99999 9999999999 99999 99999 99999 9999999999 99999 99999 99999 99999

2 3 1 0 499999 99999 99999 99999 99999

2 3 1 0 4 10開設している施設への最小輸送費用の和

[xii]0 0 0 0 0 10 0 0 0 0 10 0 0 0 0 10 0 0 0 0 10 0 0 0 0 1

[si]劣勾配

ここを変えると下界が変化(劣勾配はここに出てくる)

ここを変えると上界が変化

Page 29: 東京商船大学 久保 幹雄

Lagrange緩和( Excel モデル) flp-lag1.xls[cij] [ui] Lagrange乗数 施設名 Open 固定費用

0 4 3 2 6 3 A 0 7 04 0 2 3 4 3 B 0 8 03 2 0 1 3 3 C 0 9 02 3 1 0 4 3 D 1 7 76 4 3 4 0 4 E 0 6 0

[cij- ui]- 16 Σ ui 7- 3 0 0 - 1 00 - 3 - 1 0 00 - 1 - 3 - 2 0

- 1 0 - 2 - 3 00 0 - 1 0 - 4

- 4 - 4 - 7 - 6 - 4 Σ (cij- ui)-7 8 9 7 6 固定費用0 0 0 0 0 0 16 下界0 0 0 0 0 yj 17 上界

99999 99999 99999 99999 9999999999 99999 99999 99999 9999999999 99999 99999 99999 99999

2 3 1 0 499999 99999 99999 99999 99999

2 3 1 0 4 10開設している施設への最小輸送費用の和

[xii]0 0 0 0 0 10 0 0 0 0 10 0 0 0 0 10 0 0 0 0 10 0 0 0 0 1

[si]劣勾配

[A8]=MIN(A2-$F2,0)

[A17]=IF($H2=1,A2,99999)

[A15]=MIN(A13+A14,0)

[A16]=IF(A15<0,1,0)

[A25]=IF(A8<=0,A$16,0)

Page 30: 東京商船大学 久保 幹雄

双対上昇法(主・双対ヒューリスティク

ス)• Lagrange 乗数を下界が単調に増加するように

設定する簡便法– 各顧客(需要地点)が支払う「ご褒美」を

0に設定して,すべての顧客が施設に行けるようになるまで以下を繰り返す.

• 各顧客に対して,順繰りに,次に近い施設への輸送費用まで「ご褒美」を増やす.

• (ご褒美-輸送費用)が0以上なら,余剰のご褒美を施設に与える.

• 施設がもらったご褒美の合計が,施設の固定費用と一致したら,施設を開設する.このとき,その施設に行くことにした顧客はご褒美を値上げするのをやめる.

Page 31: 東京商船大学 久保 幹雄

双対問題の導出( Lagrange緩和を経由) (1)

Ii Jjijjij

Iii

Jjijij

Jj Ii Jjijjj vyxuxxcyf )(1   最小化

Jjy

JjIix

JjIiyx

Iix

j

ij

jij

Jjij

        

          

          

      条件

0

,0

,

1    

Jj

ijx 01

Lagrange 乗数 ui

(任意の実数)0

   0 jij yx

0 以下Lagrange 乗数 vij

(非負の実数)

整数条件を( 1 以下の条件も)外す(注意:テキストでは1以下を残している!)

Page 32: 東京商船大学 久保 幹雄

双対問題の導出( Lagrange緩和を経由) (2)

Ii Jj

ijijiijjIi Jj Ii

ijji xvucyvfu )(   最小化

Jjy

JjIix

j

ij

        

      条件

0

,0

目的関数にのせた式を緩和

項別に整理

0 以下の項を加えて,さらに式を緩和したので下界 !下界が-∞にならないためには...これらの項が 0 以上!より良い(=大きい)下界を得るためには...ここを最大化.

Ii

iu   最大化

JjIiv

Jjfv

JjIicvu

ij

jIi

ij

ijiji

,0

,

        

          

    条件 双対問題

Page 33: 東京商船大学 久保 幹雄

双対上昇法(主・双対ヒューリスティクス)

Ii

iu   最大化

JjIiv

Jjfv

JjIicvu

ij

jIi

ij

ijiji

,0

,

        

          

    条件  ijiji vcu

ui を大きくしていき,cij を超えた分を vij

これが等号で成立したら施設 j を開設し,その施設の近所の需要地点 i の ui を大きくするのをやめる.

 iji cu なら,需要地点 i は施設 j の近所とよぶ!

1. ui を各需要地点ごとに次に近い施設までの移動費用まで増やす.2. 近所の施設が開設していない需要地点に対して,一様に増やす.

Page 34: 東京商船大学 久保 幹雄

例題(ヒューリスティクスがうまくいかない例)

0 3

5

4

24

2

1

4

5

50,000

100,000

50,000≦ 60,000

工 場 1

工 場 2

倉 庫 1

倉 庫 2

顧 客 1

顧 客 2

顧 客 3

需 要 量

需 要 量

需 要 量

Page 35: 東京商船大学 久保 幹雄

最も近い倉庫から補充した場合

5× 140,000

2× 60,000

4× 50,000

2× 50,000

1× 100,000

50,000

100,000

50,000≦ 60,000

工 場 1

工 場 2

倉 庫 1

倉 庫 2

顧 客 1

顧 客 2

顧 客 3

122合 計 億 円

工 場 ・ 倉 庫 間 700,000 120,000

820,000小 計

倉 庫 ・ 顧 客 間 100,000 100,000 200,000

400,000小 計

足りない分は工場1から運ぶ

Page 36: 東京商船大学 久保 幹雄

最も安い経路(工場 -倉庫 - 顧客)を選択した場合

0× 100,000

3× 50,000

5× 40,000

2× 60,000 1× 100,000

5× 50,000

50,000

100,000

50,000≦ 60,000

工 場 1

工 場 2

倉 庫 1

倉 庫 2

顧 客 1

顧 客 2

顧 客 3

82合 計 億 円

工 場 ・ 倉 庫 間 200,000 120,000

320,000小 計

倉 庫 ・ 顧 客 間 150,000 250,000 100,000

500,000小 計

Min{0+3,4+3, 5+2,2+2}

Page 37: 東京商船大学 久保 幹雄

最も安い経路(工場 -倉庫 - 顧客)を選択した場合

ー倉庫2から顧客3への輸送費用が半額のときー

0× 50,000

3× 50,000

5× 90,000

2× 60,000

2× 50,000

1× 100,000

50,000

100,000

50,000≦ 60,000

工 場 1

工 場 2

倉 庫 1

倉 庫 2

顧 客 1

顧 客 2

顧 客 3

92合 計 億 円

工 場 ・ 倉 庫 間 450,000 120,000

570,000小 計

倉 庫 ・ 顧 客 間 150,000 100,000 100,000

350,000小 計

増えている!

4万 ->2万

Page 38: 東京商船大学 久保 幹雄

最も安い経路(工場 -倉庫 - 顧客)を選択した場合

ーさらに倉庫2から顧客1への輸送費用を 5000円にしたときー

さらに増えている!

0.5× 50,000

5× 140,000

2× 60,000

2× 50,000

1× 100,000

50,000

100,000

50,000≦ 60,000

工 場 1

工 場 2

倉 庫 1

倉 庫 2

顧 客 1

顧 客 2

顧 客 3

104.5合 計 億 円

工 場 ・ 倉 庫 間 700,000 120,000

820,000小 計

倉 庫 ・ 顧 客 間 25,000 100,000 100,000

225,000小 計

2万 ->0.5万

Page 39: 東京商船大学 久保 幹雄

Excelソルバーによる求解 Table2-5.xls

輸送費 p1 p2 c1 c2 c3w1 0 4 3 4 5w2 5 2 2 1 2

輸送量 p1 p2 c1 c2 c3 -入量 出量w1 140000 0 50000 90000 0 0w2 0 60000 0 10000 50000 0

140000 60000 50000 100000 50000|供給 需要量 200000 60000 50000 100000 50000

費用計算用 0 0 150000 360000 0 5100000 120000 0 10000 100000 230000

目的関数 740000

変化させるセル

Page 40: 東京商船大学 久保 幹雄

Excelソルバーの設定(1)

工場の供給量上限

目的関数のセルを指定

需要は必ず満たす

$H$7=0

倉庫の入量 = 出量

Page 41: 東京商船大学 久保 幹雄

Excelソルバーの設定(2)

非線形モデルで使用

線形モデル,非負数を仮定をチェックする!

注意:初期値によっては収束しない可能性あり!

Page 42: 東京商船大学 久保 幹雄

感度レポートの解釈

制約条件計算 潜在 制約条件 許容範囲内 許容範囲内

セル 名前 値 価格 右辺 増加 減少$B$8 p1 140000 0 200000 1E+30 60000$C$8 p2 60000 - 1 60000 90000 10000$D$8 c1 50000 3 50000 60000 50000$E$8 c2 100000 4 100000 60000 90000$F$8 c3 50000 5 50000 10000 50000$H$6 w1 -入量 出量 0 0 0 60000 140000$H$7 w2 -入量 出量 0 3 0 10000 90000

双対変数の最適値のこと

工場 p2 の生産量上限 60000 を1単位増やすと総費用が 1 減る制約を 90000 まで増やすか, 10000 まで減らすと解が変わる

Page 43: 東京商船大学 久保 幹雄

例題の最適解

0× 140,000

3× 50,000

2× 60,000 1× 60,000

5× 50,000

4× 40,000

50,000

100,000

50,000≦ 60,000

工 場 1

工 場 2

倉 庫 1

倉 庫 2

顧 客 1

顧 客 2

顧 客 3

74合 計 億 円

工 場 ・ 倉 庫 間 120,000

120,000小 計

倉 庫 ・ 顧 客 間 150,000 160,000 250,000 60,000

620,000小 計

Page 44: 東京商船大学 久保 幹雄

AMPL とは?• A Modeling Programming Language の略で,

数理計画のモデリングをエレガントに行うための言語

• 問題を解くための手法(ソルバー)は別売線形計画:単体法など(混合)整数計画:分枝限定法など非線形計画: 内点法など

• WEB 経由で無料で使える!• Excel のソルバーよりは本格的(プロ向き)

Page 45: 東京商船大学 久保 幹雄

AMPL によるモデル化 (1)

var x11 >=0; var x12 >=0; var x21>=0; var x22>=0;   var X11>=0;

var X12>=0; var X13 >=0; var X21>=0; var X22>=0; var X23>=0;

minimize cost: 0*x11 +5*x12 +4*x21 +2*x22 +

3*X11 +4*X12 +5*X13 +2*X21 +1*X22 +2*X23;

輸送費 p1 p2 c1 c2 c3w1 0 4 3 4 5w2 5 2 2 1 2

工場 p1,p2   倉庫 w1,w2   顧客 c1,c2,c3 変数 xij :工場 pi から倉庫 wj への輸送量変数 Xij: 倉庫 wi から顧客 cj への輸送量

Page 46: 東京商船大学 久保 幹雄

AMPL によるモデル化 ( 2 )工場2は最大で 60000 しか生産できない

subject to PlantCapacity: x21+x22 <=60000;

倉庫1に入る量と出る量が一致する

subject to Warehouse1: x11+x21=X11+X12+X13;

倉庫2に入る量と出る量が一致する

subject to Warehouse2: x12+x22=X21+X22+X23;

Page 47: 東京商船大学 久保 幹雄

AMPL によるモデル化 ( 3 )顧客1の需要  50000 は必ず満たす

subject to Customer1: X11+X21=50000;

顧客2の需要  100000 は必ず満たす

subject to Customer2: X12+X22=100000;

顧客3の需要  50000 は必ず満たす

subject to Customer3: X13+X23=50000;

Page 48: 東京商船大学 久保 幹雄

AMPL のメイル経由での利用NEOS サーバー: http://www-neos.mcs.anl.gov/neo

s/

• 以下の情報を電子メイル [email protected] に出す.TYPE MINCOSOLVER MINLP-AMPL

BEGIN.MOD ここにモデルを書く.END.MOD

BEGIN.DAT ここにデータを(必要なら)書く.END.DAT

BEGIN.COM AMPL コマンド:以下の 2 行は解を得るためのおまじない.solve;display _varname, _var;END.COM

BEGIN.COMMENT ここにコメントを(必要なら)書く.END.COMMENT

END-SERVER-INPUT

Page 49: 東京商船大学 久保 幹雄

AMPL モデル Table2-5.mod

BEGIN.MOD # の右はコメント文(書かなくても大丈夫!):# 変数の宣言var x11 >=0; var x12 >=0; var x21>=0; var x22>=0;var X11>=0; var X12>=0; var X13 >=0; var X21>=0; var X22>=0; var X23>=0;# 目的関数minimize cost: 0*x11 +5*x12 +4*x21 +2*x22 +3*X11 +4*X12 +5*X13 +2*X21 +1*X22 +2*X23;# 制約条件subject to PlantCapacity: x21+x22 <=60000;subject to Warehouse1: x11+x21=X11+X12+X13;subject to Warehouse2: x12+x22=X21+X22+X23;subject to Customer1: X11+X21=50000;subject to Customer2: X12+X22=100000;subject to Customer3: X13+X23=500000;END.MOD

Page 50: 東京商船大学 久保 幹雄

結果(メイルのリプライ)10 variables, all linear6 constraints, all linear; 18 nonzeros1 linear objective; 9 nonzeros.MINLP-B&B (20010722):   MINLP-B&B (20010722): Optimal solution found1 subproblem, objective = 740000Evals: obj = 14, constr = 15, grad = 15, Hes = 14: _varname _var :=1 x11 1400002 x12 03 x21 04 x22 600005 X11 500006 X12 650007 X13 250008 X21 09 X22 3500010 X23 25000;

Page 51: 東京商船大学 久保 幹雄

AMPL結果の解釈(1)

OBJECTIVES:  最適な目的関数の値

cost = 740000

VARIABLES: 最適な変数(輸送量)の値

x11 = 140000 x12 = 0 x21 = 0 x22 = 60000

X11 = 50000 X12 = 40000

X13 = 50000 X21 = 0 X22 = 60000 X23 = 0

Page 52: 東京商船大学 久保 幹雄

より良いモデリング(データとモデルの分離)

モデルファイル

データ1 データ2 データ3 データ4

モデル1

4つの異なる問題を解きたい!今のままだと...

モデル2 モデル3 モデル4

モデルとデータを分離しておくと...モデルは共通なので書き直す必要なし!

Page 53: 東京商船大学 久保 幹雄

AMPL モデル Table2-5-new.mod  (1)集合,パラメータ,変数の宣言

#集合は set で宣言# 工場の集合(中身はデータファイルで記述)set Plant;                set Warehouse; # 倉庫の集合set Customer; # 顧客の集合# パラメータは param で宣言:需要量 {顧客の集合} -> 集合は {}param Demand{Customer}; param Supply{Plant}; # 供給量 { 工場の集合 }param cost{Plant,Warehouse}; #工場・倉庫間の輸送費用param Cost{Warehouse,Customer}; # 倉庫・工場間の輸送費用#変数は var で宣言工場・倉庫間の輸送量(0以上の指示)var x{Plant,Warehouse} >=0; var X{Warehouse,Customer} >=0; # 倉庫・工場間の輸送量

Page 54: 東京商船大学 久保 幹雄

AMPL モデル Table2-5-new.mod (2)目的関数

minimize total_cost: sum {i in Plant, j in Warehouse} cost[i,j]*x[i,j]+ sum {i in Warehouse, j in Customer} Cost[i,j]*X[i,j];

ijWarehousejPlanti CustomerjWarehousei

ijij Xx

, ,

ijCostcost最小化

式には適当な名前を付ける!

sum は Σ を表し,合計は集合 {} で記述

添え字は [] で記述

Page 55: 東京商船大学 久保 幹雄

AMPL モデル Table2-5-new.mod (3)需要を満たすための制約

subject to CustomerDemand{j in Customer}: sum {i in Warehouse} X[i,j] =Demand[j];

Warehousei

jij CustomerjX    条件 Demand

顧客jへ入ってくる輸送量の合計 = 顧客jの需要量

式には適当な名前を付けておく(求解後に双対変数の情報を得るときに用いる.)

制約条件を記述するための AMPL コマンド

各顧客に対する制約であることを示す.

Page 56: 東京商船大学 久保 幹雄

AMPL モデル Table2-5-new.mod (4)倉庫でのフロー整合条件

subject to WarehouseFlow{i in Warehouse}: sum{j in Plant} x[j,i] = sum{j in Customer} X[i,j];

Plantj Customerj

ijji WarehouseiXx    条件

倉庫 i に入っている量=倉庫 i から出ていく量

Page 57: 東京商船大学 久保 幹雄

AMPL モデル Table2-5-new.mod (3)供給量の上限制約

subject to PlantSupply{i in Plant}: sum{j in Warehouse} x[i,j] <=Supply[i];

Warehousej

iij PlantiX    条件 Supply

工場 i のから出ていく量≦工場 i の供給量( 上限なしの場合には Supplyi に大きな数を入れておく.)

Page 58: 東京商船大学 久保 幹雄

AMP データ Table2-5.dat と AMPL コマンド

param Demand := c1 50000 c2 100000 c3 50000;param Supply := p1 999999 p2 60000;END.DAT

BEGIN.COM solve; # (求解)# 変数の出力( display コマンド) display x, X;# 制約(需要と供給)の情報の出力 display CustomerDemand,PlantSupply;END.COM

BEGIN DATAset Plant := p1 p2;set Warehouse :=w1 w2;set Customer :=c1 c2 c3;param cost:= p1 w1 0 p1 w2 4 p2 w1 5 p2 w2 2;param Cost:= w1 c1 3 w1 c2 4 w1 c3 5 w2 c1 2 w2 c2 1 w2 c3 2;

Page 59: 東京商船大学 久保 幹雄

AMPL結果の解釈(2)

CONSTRAINTS (Dual Values):  最適な双対変数

CustomerDemand

c1 = 3 顧客1の需要が1単位増えると3ドル増える

c2 = 4 顧客2の需要が1単位増えると4ドル増える

c3 = 5  顧客3の需要が1単位増えると5ドル増える

PlantSupply

P1 0   

P2 -1 工場2の生産量上限が1単位増えると輸送費用が1ドル減る

Page 60: 東京商船大学 久保 幹雄

練習問題• k- メディアン問題,容量制約なし施設配

置問題を AMPL を用いてモデリングせよ.• (点の上に施設を配置する場合に限定し

た) k- センター問題を AMPL を用いてモデル化せよ.(最大値を最小化するためには,オデル化の工夫が必要!)

• 上で作成したモデルを NEOS サーバーを用いて求解せよ.

Page 61: 東京商船大学 久保 幹雄

遺伝的アルゴリズム• メタヒューリスティックスのひとつ• 進化論にアナロジーをもつ

10101010 100011101011100010100011

遺伝子(=解: Open 施設) 費用

20

10

30

40

1357

1567

1345

1378

表現

Page 62: 東京商船大学 久保 幹雄

ルーレット選択費用

20

10

30

40

1234

105

3.3333332.5

100/費用に比例した面積の円グラフ

Page 63: 東京商船大学 久保 幹雄

交叉( Crossover )

10101010 10001110

遺伝子(=解: Open 施設) 費用

20

10

交叉(Crossover )

1357

1567

表現

1367

1557

致死遺伝子!

10100110

Page 64: 東京商船大学 久保 幹雄

自然淘汰 (Natural Selection )

136710100110

10101010 100011101011100010100011

遺伝子(=解: Open 施設) 費用

20

10

30

40

1357

1567

1345

1378

表現

15

淘汰!