OR-A 第2回

「ORーA」
2010/12/17
• 一般的な定式化の仕方
– 整数変数はなぜ登場するか?
– Indicator変数の使い方(今回の主題)
• Reading Assignment: 配布資料 「数理計画モ
デルの定式化」
1
整数変数がどうして登場するか
(1)分割不可能な離散的変量 Indivisible
(Discrete) Quantities :
本来、整数しかとりえない量;例えば、人数、
機械台数など
(2)デシジョン変数 Decision Variables :
複数の代替案の中からどの案を選択する
かを示す 例: 倉庫をたてる(どのタイプの)/たてない
γ=0
γ=1
γ=2
倉庫をたてない
タイプAの倉庫をたてる
タイプBの倉庫をたてる
2
整数変数がどうして登場するか
(3)インディケータ変数 Indicator
Variables: システムの状態を示す
(indicateする)ために、0-1変数と他の変
数、あるいは他の条件式と結びつける
3
インディケータ変数(Indicator Variables)
xA:ある(原料)配合において要素Aが含まれる比率
要素Aが配合に含まれる(xA>0)か、含まれないか(xA=
0)を、たとえば、0-1変数αを使って識別する。つまり、
α=1(0)ならAが含まれる(含まれない)、という形で、
インディケータ変数を使う。
たとえば、
(1) xA - α ≦ 0
という制約条件は、次の論理条件(もし・・・ならば・・・)を
数式的に表現することになる:
(2) xA>0 → α=1
4
(2)式の逆表現
(2)の逆、すなわち、
(3) α=1 → xA>0
(あるいは、その対偶のxA=0 → α=0)
という条件を(も)数式的に表現したい。
残念ながらこれはできないので、そのかわりに、「Aの配合
比率がこれ未満だったら入っていないも同然」という閾値
(threshold level)mを導入し、(3)を
(4) α=1 → xA≧m
に変換すると、(4)は次のように数式表現できる:
(5) xA - mα ≧ 0
注意: 数理計画では、通常、>や<を扱わず、≦や≧を扱
う。
5
演習問題1
(1)「もし要素Aが配合に含まれていたなら
ば、要素Bも配合に含まれていなければな
らない」、という条件を数式で表現せよ。
(2)さらに、その逆、すなわち、「もし要素B
が配合に含まれていたならば、要素Aも配
合に含まれていなければならない」という
条件も、あわせて成立しなければいけない
というときはどうすればよいか。
6
インディケータ変数を使って
不等式/等式の成立/不成立を示す
1. 「δ=1 → Σjajxj≦b」型論理条件の表現
0-1変数δを使って、不等式が成立するか
否かに関する論理条件を表現する。
論理条件
(11) δ=1 → Σjajxj≦b
は、次の不等式で表現できる:
(12) Σjajxj+Mδ≦M+b
ここに、M はΣjajxj-bの上界である。
7
(12)式の妥当性
• (12)式が(11)の論理条件を表現していること
を確かめるために、(12)式を書き換えると、
(12)’
Σjajxj-b≦M(1-δ)
となる。δ=1のときには右辺が0となり(12)’式
は
Σjajxj≦bとなり、論理条件(11)が満足される。
• 一方、δ=0のときには、Σjajxj-b≦Mとなるが、
Mの定義から、この式は常時満足される。論理
条件(11)を数式表現するとき、表現された数式
は、δ=0のときになにかを意味してはまずい。
換言すれば、δ=0のときは数式が意味を持っ
ては困ることに注意。
8
論理条件に対応する数式の「作成公式」
ステップ1 「δ=1→Σjajxj≦b」形の論理条件にする。
ステップ2 右辺bを左辺に移項しΣjajxj-b≦0の形に。
ステップ3 右辺0の代わりに、δの(1次)関数を考え
る。この関数はδ=1のとき0、そうでないときは制
約条件式が無意味、すなわち、すべての解が生成さ
れる制約条件式を満足するようにしたい。
このため、右辺を□(1-δ)の形(□は適当な定
数)にすると、Σjajxj-b≦M(1-δ)が望む制約条
件式となる。ただし、MはΣjajxj-bの上界値とする。
9
ステップ1
「δ(0-1変数)=1→Σjajxj≦b」の形に
注意1: 不等式の向きが逆、すなわち、≧ならば、
-1倍して、不等号の向きを変える。
注意2: 論理条件が、「Σjajxj≦b→δ=0」のとき
は、対偶をとって、「δ=1→Σjajxj>b」の形にし
た上で、閾値εを用いて、
「δ=1→Σjajxj≧b+ε」、すなわち、
「δ=1→Σj(-aj)xj≦-b-ε」
の形に変換されたものを与えられた論理条件と
考えればよい。
10
ステップ3
Σjajxj-b≦□(1-δ)
注意3: 望む制約条件式の右辺は、δが1のとき
0となって、論理条件が表現されことになる。一
方、δ=0のときには、□の定数を適当に決める。
M=左辺のとりうる値の上界とすれば、すべての
解がこの制約条件を満足し、したがって、制約条
件はなにも意味しないことになる。
注意4: 右辺の上界Mはあまり大きすぎない値が
望ましい。
11
「δ=0 → Σjajxj≦b」型
論理条件の表現
「公式」のステップ3の M(1-δ)の部分を、
Mδに置き換えれば同様な議論ができる
ステップ3’ ステップ2の形Σjajxj-b≦0の、
右辺の0をMδに置き換える。
12
論理条件(1)の逆の数式表現
(「逆は必ずしも真ならず」に注意)
(13) Σjajxj≦b →δ=1
対偶をとることによって、「δ=0→Σjajxj>b」とな
り、注意2のように、
「δ=0→Σj(-aj)xj≦-b-ε」、すなわち、
「δ=0→Σj(-aj)xj+b+ε≦0」
とする。あとは、ステップ3’にしたがって、
(14) Σj(-aj)xj+b+ε≦M ’δ
ここに、M ’はΣj(-aj)xj+b+εの上界値とする。
13
演習問題2
0-1インディケータ変数δを用いて、δが1の
とき以下の制約を満たすという条件を数式
として表現せよ。また、逆に、この制約が
満たされているとき、δが1になるという条
件を数式として表現せよ。いずれにせよ、
x1,x2は、0≦x1≦1, 0≦x2≦1の範囲にある
ものとする。
2x1+3x2≦1
14
必要十分条件の表現
必要十分条件「δ=1 ⇔ Σjajxj≦b」を数式的に表現す
るためにはどうすればよいか
「δ=1→Σjajxj≦b」 AND 「δ=1→Σjajxj≦b」
(12)
(14)
(12) Σjajxj+Mδ≦M+b
(14) Σj(-aj)xj+b+ε≦M ’δ
15
論理条件と0-1変数
δi が0-1のインディケータ変数とし、Xiが
δi=1という状態を示すこととする。
(A)
X1∨X2
δ1+δ2≧1
(B)
X1・X2
δ1=1,δ2=1
(C)
~X1
δ1=0(1-δ1=1)
(D)
X1→X2
δ1-δ2≦0
(E)
X1←→X2 δ1-δ2=0
16
演習問題3:生産
(Xi:製品i が生産されている)
以下の論理条件を表現したいとしよう:
(21) (XA∨XB)→(XC∨XD∨XE)
インディケータ変数δi を使い、δi が1(0)の
ときは、製品 i が作られている(作られてい
ない)ことを示すものとしよう。このとき、
(21)を数式的に表現することを考えたい。
(ヒント)δA+δB≧ 1 ⇒ δ=1
⇒ δC+δD+δE ≧ 1
17
施設配置問題
関東地方を中心に営業を行ってきた輸入品販売業の
K社では、関西地方に活動を拡大するため、京阪神地方
に倉庫の賃借を行う計画を立てている。賃借の候補とな
る倉庫はmカ所にあって、第i地点の倉庫Wi(i=1,・・・,m)の
月間処理能力はai(トン/月)で、その経費(賃借料や維
持費など毎月の固定費)はdi(千円/月)である。また、
関西一円に広がる消費地Dj(j=1,・・・,n)での輸入品の需
要量bj(トン/月)と、WiからDjへのトン当たり輸送費cij
(千円)が与えられたとして、すべての需要を満たし、毎
月の総費用(倉庫経費+輸送費)を最小にする倉庫配置
と輸送計画を求めたい。この問題を数理計画問題として
定式化せよ。
18