0.1 Finite Systems of Linear Inequalities Definition • • • • • {x1, x2, …, xk} : Rn次元内の点集合 x = Σλk xk (λk ∈R) : xkの一次結合 全てのλkが0以上 ⇒ conical Σλk x = 1 ⇒ affine conical かつ affine ⇒ convex Definition • xk が linearly independent Σλk xk = 0 を満たすλがλk= 0のときのみ • xk が affinely independent Σλk xk = 0 かつ Σλk = 0 を満たすλが λk= 0 のときのみ x • 1 が linearly independent ⇒ xk が affinely independent k Definition • 集合 X (⊂ Rn) が(有限の) 左の結合の下で閉じていると き、Xを右で定義する。 • • • • linear ⇒ subspace conical ⇒ cone affine ⇒ affine set convex ⇒ convex set Definition • 集合 X 内の全ての右の点結合の集合を 左で定義する。 • • • • linear ⇒ linear span : sp(X) conical ⇒ conical hull : cone(X) affine ⇒ affine span : aff(X) convex ⇒ convex hull : conv(X) polytope • Polytope とは ある有限集合に対する conv(X) である。7 • Polytope は線形不等式の有限systemの解集合で記述 できる。(Weyl’s Theorem) 1: Elimination method 2: Weyl’s Theorem Elimination method の例 2 3 5 x1 2 0 4 1 x2 1 1 1 2 x 4 3 2 x1 3x2 5 x3 2 4 x2 x3 1 x1 x2 2 x3 4 x1を消去することを 考える。 Elimination method の例 2 x1 3x2 5 x3 2 4 x2 x3 1 x1 x2 2 x3 4 x1が残っている式を 考える。 2 x1 3x2 5 x3 2 4 x2 x3 1 2 x1 2 x2 4 x3 8 一番下の式を2倍する Elimination method の例 2 x1 3x2 5 x3 2 4 x2 x3 1 2 x1 2 x2 4 x3 8 5 x2 9 x3 10 4 x2 x3 1 一番上と下の式を加えて、 1つの式にする。 Elimination method 次の線形不等式を考える。 n a x j 1 ij j bi for i 1,2,..., m 削除したいxkを選び、aikの符号で式をわける。 S : {i : aik 0} S : {i : aik 0} S 0 : {i : aik 0} Elimination method a11x1 a12 x2 a1n xn b1 a21 x1 a22 x2 a2 n xn b2 am1 x1 am 2 x2 amn xn bm Elimination method a11x1 a12 x2 a1n xn b1 a21 x1 a22 x2 a2 n xn b2 am1 x1 am 2 x2 amn xn bm Elimination method ai 2 0 a11x1 a12 x2 a1n xn b1 ai 2 0 a41 x1 a42 x2 a4 n xn b4 a31x1 a32 x2 a3n xn b3 a71 x1 a72 x2 a7 n xn b7 ai 2 0 a11x1 0 x2 a1n xn b1 Elimination method S0 : {i : aik 0} に含まれる式に対してはxkは含まれていないので、 そのままにしておく。 S : {i : ai k 0}, S : {i : ai k 0} に含まれる式に対しては全ての(i+,i-)のペアについて、 以下の操作を行う。 n n ai j ai j x j bi ai j ai j x j bi j 1 j 1 Elimination method • こうして出来た新しい線形不等式のsystemは以下の性質を満た す。 ① 新しいsystemはxkを含まない。 ② 新しいsystem上の各不等式は元のsystemの不等式の非負な線形 結合になっている。 ③ (x1, x2,…,xk-1, xk, xk+1,…,xn)が元のsystemの解ならば、 (x1, x2,…,xk-1, xk+1,…,xn)は新しいsystemの解である ④ (x1, x2,…,xk-1, xk+1,…,xn)は新しいsystemの解ならば、 あるxkに対して、(x1, x2,…,xk-1, xk, xk+1,…,xn)が元のsystemの解で ある。 Weyl’s Theorem(for Polytope) • Pがpolytopeのとき、あるいくつかの正整数mと 実数aij,bi (1≦i≦m, 1≦j≦n)の選択に対して、 n n P x R : aij x j bi for i 1,2,..., m j 1 証明 以下の線形不等式のsystemを考える。xjkは定数。 x j k x kj 0, for j 1,2,..., n kN k 1; k 0, k N あとは、先ほどのelimination methodを用いて、 上記の不等式と条件式を用いて全てのλを消去すると、 定理の条件を得ることができる。 Theorem of Alternative for Linear Inequalities The system n ( I ) aij x j bi , for i 1,2,..., m j 1 has a solution if and only if the system m ya i 1 i ij 0, for j 1,2,..., n; ( II ) yi 0, for i 1,2,..., m; m yb 0 i 1 i i has no solution 証明 まず、両方のsystemが解を持つことがないことを示す。 n m m n m j 1 i 1 i 1 j 1 i 1 0 x j yi aij yi aij x j yi bi 0 より、両方のsystemが解をもつことはない。 証明 (I)が解を持たないと仮定する。 (I)において、elimination methodを用いて、 全てのn変数aijを削除する。 そのとき、以下の式が得られる。 n 0 x j 1 j b , for i 1,2,..., p ' i where bk' 0 for some k, 1 k p. 証明 以下の不等式は、system(I)の不等式の 非負の線形結合となっている。(elimination methodの性質) n () 0 x j bk' j 1 すなわち、適当なyi ≧ 0 (i=1,2,…,m)が存在し、 (*)は以下のように記述できる。 n yi aij x j bi i 1 j 1 m 証明 書き換えると、 m m yi aij x j yi bi j 1 i 1 i 1 n この係数を(*)の係数と比較すると、(II)の不等式が得られ、 y = (y1, y2, … , ym)は(II)の解になっている。 n () 0 x j bk' j 1 Farkas Lemma The system n aij x j bi , for i 1,2,..., m j 1 x j 0, for j 1,2,..., n has a solution if and only if the system m yi aij 0, for j 1,2,..., n i 1 m yi bi 0 i 1 has no solution 0.2 Linear-Programming Duality n c max j1 j xj ( P ) subject to : m a i 1 ij x j bi for i 1,2,..., m m min yb i 1 i i ( D ) subject to m ya i 1 i ij c j for i 1,2,..., n yi 0 for i 1,2,..., m Weak Duality Theorem • もし、xがPの実行可能解で、yがDの実行可能 解とすると、 nj1 c j x j im1 yi bi をみたす。 このとき、 n m (1) もし、 j 1 c j x j i 1 yi bi なら、xとyは最適 解であり、 (2) もし、どちらかのprogramがunboundedなら、も う一方は実行可能解をもたない。 証明 • xがPの、yがDの実行可能解と仮定する。 m n m m c j x j yi aij x j yi aij x j yi bi j 1 j 1 i 1 i 1 j 1 i 1 n n Strong Duality Theorem • もし、PとDが実行可能解をもつなら、 n m c x j 1 j j i1 yibi をみたす最適解x,yをもつ。 もし、実行不能なら、もう一方は実行不能か、 もしくはunboundedである。 証明 次の線形不等式のsystemを考える。 n a x j 1 ij j bi for i 1,2,..., m m y a c for j 1,2,..., n i ij i 1 i m ( I ) yi aij ci for j 1,2,..., n i 1 yi 0 for i 1,2,..., m n m j 1 i 1 c j x j bi yi 0 証明 Weak Duality Theoremより、x,yがそれぞれPとDの 最適解のとき、かつそのときに限り、x,yは(I)を満たす。 n a x j 1 ij j bi for i 1,2,..., m m y a c for j 1,2,..., n i ij i 1 i m ( I ) yi aij ci for j 1,2,..., n i 1 yi 0 for i 1,2,..., m n m j 1 i 1 c j x j bi yi 0 証明 Theorem of the Alternative for Linear Inequalitiesによって、 (I)が解もつのは、(II)が解をもたないときに限る。 m ua i 1 n ij c j 0 for j 1,2,..., n n a v a v' s b 0 for i 1,2,..., m j 1 ij j ij j 1 j i i ui , si 0 for i 1,2,..., m ( II ) v j , v' j 0 for i 1,2,..., n 0 m n n b u c v c y' i 1 i i j 1 j j j 1 j j 0 証明 hj:= v’j-vj for j=1,2,…,n とすると、(II)より(II’)を得る。 0 m u a c for j 1,2,..., n i 1 j i ij ui 0 for i 1,2,..., m n ( II ' ) a h b for i 1,2,..., m j 1 ij j h j 0 for i 1,2,..., n n m i b u c h i 1 i i j 1 j j 証明 方針としては、 PとDが実行可能であると仮定し、 (I)が実行可能であることを示す。 もし、そうでなければ(II)が実行解をもつ。 場合分けを行う。 ① τ> 0 ② τ= 0 → subcase a と bに更に場合わけ。 (a) Σuibi < 0 (b) Σcjhj > 0 証明 ① τ> 0 のとき。(II’)の解として、xとyを以下のようにおく。 xj 1 1 h j for j 1,2,..., n yi ui for i 1,2,..., m このx,yはそれぞれP,Dの実行可能解になっている。 しかし、この式と(II’)の一番下の式より、 m n b y c x i 1 i i j 1 j j しかし、これはWeak Duality Theoremに反する。 証明 ② τ= 0 のとき。 subcase (a) Σuibi < 0 Dの実行解となるようなyをとってきて、 y’=y+λuを考える。このy’は全ての非負のλについて、 Dの実行解となっている。 しかし、目的関数が、以下のようになる。 m min m b y b u i 1 i i i 1 i i これでは、λの上昇とともに、目的関数は際限なく減少する。 証明 ② τ= 0 のとき。 subcase (b) Σcjhj > 0 Pの実行解となるようなxをとってきて、 x’=x+λhを考える。このx’は全ての非負のλについて、 Pの実行解となっている。 しかし、目的関数が、以下のようになる。 n n j 1 j 1 max c j x j c j h j これでは、λの上昇とともに、目的関数は際限なく上昇する。 証明 どちらのsubcaseもWeak Duality Theoremに反している。 これにより、①、②の両方の場合において矛盾を得た。 よって、PとDが実行可能であれば、 (I)は解をもたなければいけない。 次に、Pが実行不可能であることを仮定する。 →目標は、Dが実行不可能かunboundedかを示すこと。 ここでは、Dが実行可能を仮定して、unboundedを示す。 証明 Theorem of Alternative for Linear Inequalitiesより、 Pが実行不能だとすると、次のsystemが解をもつ。 m u a 0 for j 1,2,..., n i 1 i ij ui 0 for i 1,2,..., m m u b 0 i 1 i i この解のuとDに対する実行解yを用いると、 前述のsubcase(a)と同様の議論ができ、Dがunbounded。 証明 次に、Dが実行不可能であることを仮定する。 →目標は、Pが実行不可能かunboundedかを示すこと。 ここでは、Pが実行可能を仮定して、unboundedを示す。 証明 Theorem of Alternative for Linear Inequalitiesより、 Dが実行不能だとすると、次のsystemが解をもつ。 n a h 0 for i 1,2,..., m j 1 ij j n c h 0 j 1 j j この解のhとPに対する実行解xを用いると、 前述のsubcase(b)と同様の議論ができ、Pがunbounded。 complementary Pの実行解xとDの実行解yがcomplementaryであるとは、 以下の条件を満たすときである。 n 0 for i 1,2,..., m yi bi aij x j j 1 Weak Complementary-Slackness Theorem もし、実行解xと実行解yがcomplementaryなら、 そのとき、xとyは最適解である。 証明 xとyを実行可能解と仮定すると、以下の式が得られる。 n n m m n m yi bi aij x j yi bi yi aij x j yi bi c j x j i 1 j 1 j 1 i 1 i 1 j 1 i 1 m xとyがcomplementaryであれば、最左辺が0になる。よって、 m n i 1 j 1 0 yi bi c j x j Weak Duality Theoremより、xとyは最適解である。 Strong Complementary-Slackness Theorem もし、xとyがPとDに対する最適解なら、 そのとき、xとyはcomplementaryである。 証明 xとyを最適解と仮定すると、Strong Duality Theoremより、 以下の式の最右辺が0 n n m m n m yi bi aij x j yi bi yi aij x j yi bi c j x j i 1 j 1 j 1 i 1 i 1 j 1 i 1 m よって、 n yi bi aij x j 0 i 1 j 1 m また、実行可能性より、 n yi bi aij x j 0 j 1 よって、xとyはcomplementaryでなければならない。 • k = 1, 2, …, pに対して、以下を定義。 n n k k Pk : x R : aij x j bi , for i 1,2,..., m(k ) j 1 次に、以下のlinear programを考える。 p n ( P) max c j x j : x Pk k 1 j 1 次の式を仮定する。 p c j c kj k 1 このようなcの分割をcのweight splittingと呼ぶ。 k=1, 2,…, pに対して、以下のlinear programsを考える。 n k ( Pk ) max c j x j : x Pk j 1 Proposition (Sufficiency of weight splitting) cのweight splittingが与えられ、 もしxが全てのPkに対して、最適解であるならば、 そのとき、xはPに対しても最適解である。 証明 xが全てのPkに対して、最適解であることを仮定する。 ykをPkの双対式Dkの最適解とする。 m(k) min i 1 yik bik ( Dk ) subject to m(k ) i 1 yik aijk c kj for i 1,2,..., n yik 0 for i 1,2,..., m( k ) 証明 今、xはPに対しての実行解である。 cのweight splittingを持っているので、 y=( y1, y2,…, yp)がPの双対式Dの実行解になっている。 p min m(k) k k y i bi k 1 i 1 ( Dk ) subject to p m( k ) yik aijk c j for i 1,2,..., n k 1 i 1 yik 0 for k 1,2,..., p, i 1,2,..., m( k ) 証明 Pkに対する、xの最適性とDkに対するykの最適性より、 Strong Duality Theoremより、以下の式が成り立つ。 n c j 1 k j xj m( k ) y b i 1 k k i i cのweight splittingを持っているので、 p m( k ) n c x y b j 1 j j k 1 i 1 k k i i あとは、PとDに対する、Weak Duality Thoremより、 xがPの最適解であることが証明される。 Proposition (Necessity of weight splitting) xがPに対する最適解であるなら、 そのとき、xが全てのPkに対して最適解と なるような、cのweight splittingが存在する。 0.3 Basic Solutions and the Primal Simplex Method n max c j1 j xj ( P ' ) subject to : m a i 1 ij x j bi for i 1,2,..., m x j 0 for j 1,2,..., n 行列Aをm×n行列で、rank(A)=mとする。 {1, 2,…, n}を基底 ( 1 , 2 ,..., m ) と非基底 (1 ,2 ,...,nm ) にわける。 x*1 x*2 x*nm 0 としたときのBasic solution をx* とする。 * * * x1 , x2 ,..., xm を以下の残りのsystemの唯一の解とする。 m a x j 1 i j j bi for i 1,2,..., m よって、解x*は、以下のようにかける。 x 0 * 1 x A b * * もし x 0 なら、解x*はPで実行可能である。 x*がPに対して、実行可能なら、基底βをprimal feasible, x*がPに対して、最適解なら、基底βをprimal optimal という。 (P’)の双対は以下の式になる。 m min yb i 1 i i ( D ' ) subject to : m ya i 1 i ij c j for i 1,2,..., m 基底βに関する双対式のbasic solutionは 以下の式の唯一解 y1* , y2* ,..., ym* である。 m y a j 1 i i j c j for j 1,2,..., n 行列の性質より、y*は以下のようにかける。 y* c A1 x* のthe reduced costを以下の式で定義する。 m c j : c j yi*ai j i 1 もし、 c j 0 であれば、y*は双対式D’の実行解となる。 y*がD’に対して、実行可能なら、基底βをdual feasible, y*がD’に対して、最適解なら、基底βをdual optimal という。 1 A : A A Weak Optimal-Basis Theorem もし、基底βがprimal feasibleかつdual feasibleなら、 そのとき、βはoptimalである。 証明 x*とy*をβに関してbasic solutionとする。 1 cx c x c A b y b * * * もし、x*とy*がfeasibleなら、Weak Duality Theoremより、 x*とy*はoptimalである。 Symplex Method Simplex table x0 x rhs 1 c 0 0 A b 以下の式を表にしたもの。 n x0 c j x j 0 j 1 n aij x j bi for i 1,2,..., m j 1 Symplex Method basic variableに対して、解くと、以下のSimplex tableを得る。 x0 x x rhs 1 0 c c A1 A c A1b 0 I A1 A A1b 書き換えると、 x0 x x rhs 1 0 c c x * 0 x* I A Simplex method • あとは、βがprimal feasibleかつdual feasibleであることだ けを調べれば、βがoptimal basisかどうかを判定できる。 Symplex method • まず、基底βからはじめる。 • c 0 であるような、 j を1つ選ぶ。 j • * x k i : arg min : a k , j 0 a k , j を計算する。 • 基底βのi番目の変数と非基底ηのj番目の変数を入れ替 え、新しい基底β’とη’をつくる。このとき、i番目の変数の 値は0として非基底に、j番目の変数の値を上記の値とし て、基底に入れる。 • それに伴い、目的関数と基底の変数の値を更新する。 Strong Optimal-Basis Theorem もし、P’とD’が実行可能であれば、そのとき、 Primal feasible かつ dual feasibleである基底βをもつ。 Theorem(Feasible basic solutions and extreme points) P’の実行可能基本解の集合は、凸多面体P’の端点の 集合と等しい。 証明 XがPに対する最適解と仮定する。 明らかにxは全てのPkの実行可能解となっている。 y=( y1, y2,…, yp)をDの最適解とする。 ここで、 c k j m(k ) y b i 1 k k i i とおく。 ただし、これがcのweight splittingと言っているわけでは ない。 証明 しかし、 y=( y1, y2,…, yp)がDに対する実行可能解なので、 p p m( k ) c y b k 1 k j k 1 i 1 k k i i cj より、cの「weight covering」にはなっている。 証明 PkとDkにWeak Duality Theoremを用いると、 n c j 1 k j xj m(k ) y b i 1 k k i i これをk=1,…,pまで加えて、x≧0とΣck ≧cを考慮すると、 p n c x c j 1 j j p m( k ) n k 1 j 1 k j xj y b k 1 i 1 k k i i 証明 PとDにStrong Duality Theoremを用いると、 p m( k ) n c x y b j 1 j j k 1 i 1 k k i i 上式と前述の式より、 n c j 1 k j xj m( k ) y b i 1 k k i i よって、PkとDkに対するWeak Duality Theoremにより、 xはPkに対する最適解で、ykはDkに対する最適解となる。 証明 今、いくつかのjに対して、以下の式を仮定する。 p c k 1 k j cj そのとき、それらのjに対して、 p k k y j aij c j k 1 証明 PkとDkに対して、Weak Complementary-Slackness Theorem を適用すると、 xj 0 そのとき、それらのjに対して、 p k k y j aij c j k 1
© Copyright 2025 ExpyDoc