280 likes | 401 Views
「 OR ー A 」 第 14 回 2012/01/20. 宿題の定式化(略解) ハブ&スポークネットワークの設計(宿題 11.2 ) 本社機能の分散(宿題 11.1 ) 格差最小の議員定数配分(宿題 10.2 ) 3 次元 3 目並べ(宿題 10.1 ) 凹関数の凸多面体上での最小化(宿題 13.1 ) Wagner - Whitin モデル(宿題 13.2 ) 双対単体法. ハブ&スポークネットワークの設計. ハブ&スポーク 定式化 所与のデータ. h ij = 点 i と点 j 間の輸送需要
E N D
「ORーA」 第14回 2012/01/20 • 宿題の定式化(略解) • ハブ&スポークネットワークの設計(宿題11.2) • 本社機能の分散(宿題11.1) • 格差最小の議員定数配分(宿題10.2) • 3次元3目並べ(宿題10.1) • 凹関数の凸多面体上での最小化(宿題13.1) • Wagner-Whitinモデル(宿題13.2) • 双対単体法
ハブ&スポーク 定式化所与のデータ • hij = 点iと点j 間の輸送需要 • cij = ノンハブ点i からハブ点j にの間の単位需要当たりの輸送費用 • α=ハブ間の輸送費用に対するディスカウントファクタハブ間の単位需要当たりの輸送費用はα*cij • p =ハブの数
ハブ&スポーク 定式化変数 • zij=1 ノンハブ点i がハブ点j に接続しているとき(i ≠j の場合) =0 そうでないとき • zii=1 点i がハブであるとき =0 そうでないとき
ハブ&スポーク 定式化0-1二次計画問題 最小化 z=ΣiΣjΣ kΣm hij (cikzik+αckmzikzjm+cjmzjm ) 制約条件 Σj zij =1, ∀i 点iはハブかいずれかのハブに接続 Σi zii =p , ∀i ハブはp個 zij-zjj≦0 , ∀i,jノンハブには接続不可 zij ∈{0,1}, ∀i,j 接続不可制約の代替案 Σi zij-(n-p+1)zjj≦0 ,∀j
ハブ&スポーク 線形の定式化変数の取り方 • zijkm=1 点i,点j間の輸送がハブ点kとハブ 点mを経由するとき =0 そうでないとき • xi =1 点iがハブであるとき =0 そうでないとき • この定式化では変数の個数がn4のオーダー • 定数cijkm=cik+αckm+cmj を定義
ハブ&スポーク 定式化(線形)整数計画問題ハブ&スポーク 定式化(線形)整数計画問題 最小化 z=ΣiΣjΣ kΣm hij cijkmzijkm 制約条件 Σk Σm zijkm=1, ∀i,j 点iは点j間は、ハブkとハブmを経由 Σi xi =p , ∀i ハブはp個 zijkm-xk≦0 , ∀i,j,k,m zijkm-xm≦0 , ∀i,j,k,mノンハブには接続不可 zijkm∈{0,1}, ∀i,j,k,m xi ∈{0,1}, ∀i xi
本社機能分散 問題のデータ(1) • 再配置による利益は以下の通り(単位:1000万円/年〕 Pij=部門 i を都市 j に配置したときの利益
本社機能分散 問題のデータ(2) • Cikは部門iと部門kとの間の年間通信量 • Djlは都市jと都市lとの間の単位当たりの通信費 • 部門i を都市j に配置し、部門kを都市l に配置したときの通信費はCikDjl
本社機能分散 問題の定式化 • 変数:δij=1 部門i を都市j に配置するとき (ただし、i =A,B,C,D,E; j =X,Y,Z) δij=0 部門i を都市j に配置しないとき • 制約条件: Σjδij=1, i=A,B,C,D,E(各部門は1都市に配置) Σiδij≦3, j =X,Y,Z(特定の都市には高々3部門) • 目的関数(=総費用=総通信費-利益):Σij kl; i < k Cik DjlδijδklーΣij Pij δij
本社機能分散問題に対する整数2次計画問題 最小化 z =Σij kl; i < k Cik Djlδijδkl-Σij Bij δij 制約条件 Σjδij=1, i=A,B,C,D,E (各部門は1都市に配置) Σiδij≦3, j =X,Y,Z(特定の都市には高々3部門) δij∈{0,1}, ∀i,j δij=1(0) 部門iを都市jに配置する(しない)
特殊な定式化の応用宿題10.2 以下のシナリオを定式化せよ特殊な定式化の応用宿題10.2 以下のシナリオを定式化せよ • ある議会の議員定員はM人である • 議員はN(<M)個の選挙区から選挙される • 選挙区jの人口(選挙権を持つ人の人口)pjは既知である • 人口1人当たりの議員数(逆に、議員1人当たりの人口、でもよい)の最大値と最小値の差を最小化する議員定数の配分(各選挙区の議員定数)を決めたい
「格差最小」の議員定数配分 Min z = u ーv s.t. xj/pj ≦ u, j=1,...,N xj/pj ≧ v, j=1,...,N ∑ xj = M xj ≧ 1 かつ 整数 xj = 選挙区jの定員 u = この問題を解くとxj/pjの最大値 v = この問題を解くとxj/pjの最小値
3次元3目並べ(配布資料p.16) • 各マスに1から27まで番号をつける • 各マスj(j=1,…,27)に白なら0、黒なら1という0-1変数xjを定義 • 「線」に番号をつける(「線」は何本あるか?) • 同色の線の本数を数え,その本数を最小化する
3次元3目並べ • 各マスに1から27まで番号をつける • 各マスj(j=1,…,27)に白なら0、黒なら1という0-1変数xjを定義 • 49本の「線」にも番号をつける • i 番目の線に関わるマスの番号がi1,i2,i3とする • i 番目の線が同色xi1+xi2+xi3=0 or 3→δi=1 (対偶) δi=0→i 番目の線が同色でないδi=0→ • 0-1変数xjの合計Σj=1,…,27 xj=14 • 目的関数はΣi=1,49δiの最小化 xi1+xi2+xi3≧1 and xi1+xi2+xi3≦2
3次元3目並べ(続き) • i 番目の線が同色xi1+xi2+xi3=0 or 3→δi=1 (対偶) δi=0→i 番目の線が同色でないδi=0→ • たとえば,δi=0 → は,公式にしたがって, • 同様に,δi=0 → xi1+xi2+xi3≧1 and xi1+xi2+xi3≦2 xi1+xi2+xi3≦2 xi1+xi2+xi3ー2≦0 xi1+xi2+xi3ー2≦ □δi □は左辺の上界=1 xi1+xi2+xi3ー2≦ δi ∴ xi1+xi2+xi3ーδi≦2 xi1+xi2+xi3≧1 を数式化
凹関数の凸多面体上での最小化端点解に最適解あり(宿題13.1)凹関数の凸多面体上での最小化端点解に最適解あり(宿題13.1) 宿題13.1 凹関数を有界な凸多面体上で最小化するとき、凸多面体の端点の中に最適解となるものがある あるn点x1,...,xnの凸結合で表される x*= ∑i=1nλi xi, ∑i=1nλi =1 を考える。このとき、f(x)が凹関数であるから、 f(x*)=f(∑i=1nλi xi)≧ ∑i=1nλi f(xi) となる。Mini f(xi)= f(xk) とすると、 f(x*)=f(∑i=1nλi xi)≧ ∑i=1nλi f(xi) ≧ ∑i=1nλi f(xk) = f(xk) となる。これより、 f(x*) ≧f(xk)
宿題13.2Wagner-Whitinモデル • ft= tー1期末在庫It-1が0のときに、 t期以降(T期末まで)を最適に計画したときのt期以降の最小費用 • ft=mink=t+1,…,T+1{ctk+fk} (DPの漸化式) ただし、fT+1 =0 (境界条件) • f7= 0 (境界条件) • f6= min{c67+f7}=100+0=100,k*=7(最適なkの値) • f5= min{ c56+f6,c57+f7}=min{100+100,170+0} = min{200,170}=170,k*=7 • f4= min{ c45+f5,c46+f6,c47+f7} =min{100+170,160+100,300+0} = min{270,260,300}=260,k*=6 • f3= min{ c34+f4,c35+f5,c36+f6,c37+f7} =min{100+260,140+170,260+100,470+0} = min{360,310,360,470}=310,k*=5 • f2= min{ c23+f3,c24+f4,c25+f5,c26+f6,c27+f7} =min{ 100+310,200+260,280+170,460+100,740+0} = min{410,460,450,560,740}=410,k*=3 • f1= min{ c12+f2,c13+f3,c14+f4,c15+f5,c16+f6,c17+f7} =min{ 100+410,170+310,370+260,490+170,730+100,1080+0} = min{510,480,630,660,830,1080}=480,k*=3
宿題13.2Wagner-Whitinモデル(続き) • ft= tー1期末在庫It-1が0のときに、 t期以降(T期末まで)を最適に計画したときのt期以降の最小費用 • ft=mink=t+1,…,T+1{ctk+fk} (DPの漸化式) ただし、fT+1 =0 (境界条件) • f7= 0 (境界条件) • f6= min{c67+f7}=100+0=100,k*=7(最適なkの値) • f5= min{ c56+f6,c57+f7}=170,k*=7 • f4= min{ c45+f5,c46+f6,c47+f7}=260,k*=6 • f3= min{ c34+f4,c35+f5,c36+f6,c37+f7}=310,k*=5 • f2= min{ c23+f3,c24+f4,c25+f5,c26+f6,c27+f7}=410,k*=3 • f1= min{ c12+f2,c13+f3,c14+f4,c15+f5,c16+f6,c17+f7} =min{ 100+410,170+310,370+260,490+170,730+100,1080+0} = min{510,480,630,660,830,1080}=480,k*=3 • 以上から,最小費用は480. 最小費用を達成する最適生産計画は,1期に(f1を達成するk*=3だから),1期と2期分の需要量75を作る3期に(f3を達成するk*=5だから),3期と4期分の需要量70を作る5期に(f5を達成するk*=7だから),5期と6期分の需要量65を作る
例題を双対単体法で解く (P) min w = 14 y1 + 8 y2 + 18 y3 s.t. y1 + y2 + 3 y3 ≧ 2 2 y1 + y2 + y3 ≧ 3 y1≧0, y2≧0, y3≧0 (P=) min w = 14 y1 + 8 y2 + 18 y3 s.t. y1 + y2 + 3 y3 -y4 = 2 2 y1 + y2 + y3 -y5 = 3 y1≧0, y2≧0, y3≧0, y4≧0, y5≧0 (P=)’ min w = 14 y1 + 8 y2 + 18 y3 s.t. ーy1 ー y2 ー 3 y3 +y4 =ー 2 ー2 y1 ー y2 ー y3 +y5 =ー3 y1≧0, y2≧0, y3≧0, y4≧0, y5≧0
問題(P=)’を双対単体法で解く 目的関数行は最小化に関して最適を示している 解は実行可能解でない 1)軸の行の決定: 基底変数の値が負の行 2)軸の列の決定: 「比の計算」(ただし、軸の行の要素の値が負の列だけが対象) 3)軸演算(今までと同じ) 終了判定:ステップ1で負の値をとる基底変数が見つからないとき
問題(P)の双対問題(D) (P) min w = 14 y1 + 8 y2 + 18 y3 s.t. y1 + y2 + 3 y3 ≧ 2 2 y1 + y2 + y3 ≧ 3y1≧0, y2≧0, y3≧0 (D) max z = 2 x1 + 3 x2 s.t. x1 + 2 x2 ≦ 14 x1 + x2 ≦ 8 3 x1 + x2 ≦ 18 x1≧0, x2≧0 (D=) max z = 2 x1 + 3 x2 s.t. x1 + 2 x2 + x3 = 14 x1 + x2 +x4 = 8 3 x1 + x2 +x5 = 18 x1≧0, x2≧0, x3≧0, x4≧0, x5≧0
(Bを基底とする)基底形式表現 (P1) min z = cx s.t. Ax = b x ≧0 (P2) minz= cBxB+cNxN s.t. BxB+NxN= b xB≧0,xN≧0 基底B(基底変数xB)によって定まる基底形式 z -(cN-cBB-1N )xN= cBB-1bxB+ B-1NxN= B-1b
双対可能基底(dual feasible basis)(主問題は最小化を想定) 基底B(基底変数xB)によって定まる基底形式(単体表) z -(cN-cBB-1N )xN= cBB-1bxB + B-1NxN= B-1b xB= B-1b ≧0である基底 →(主)可能基底 xB= B-1b ≧0、かつ、cN-cBB-1N ≧0である基底 →(主)最適基底 cN-cBB-1N ≧0である基底 → 双対可能基底(最小化問題なら「最適」を示す)
(最小化問題に対して)cN-cBB-1N ≧0である基底をなぜ双対可能基底と呼ぶか (P2)の双対問題(D2): (D2) maxw= yb s.t. yB ≦cB ① yN≦cN② y=π=cBB-1は双対問題(D2)の実行可能解! ∵①はcB≦cBで常時成立; ②は双対可能基底だから