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 2026 ExpyDoc