線形計画法について
min w1+w2+0*z1+0*z2
s.t. z1>=w1+w2+1
z2>=w1-w2+1
w1+w2=0
z1+z2=0
z1>=0、z2>=0、w1>=0、w2>=0
を考える.
いま、Matlabの線形計画問題を解く関数linprog()
http://dl.cybernet.co.jp/matlab/support/manual/r13/toolbox/optim/linprog.shtml
を使って解くことをしたいので、
上記リンク先において、
X=[w1,w2,z1,z2]
f=[1,1,0,0]
Aeq=[1,1,0,0;
0,0,1,1]
Beq=[0,0]
となると思います。
問題は、Ax>=B の箇所なのですが、
z1>=w1+w2+1
z2>=w1-w2+1
を移項して、
-z1+w1+w2<=-1
-z2+w1-w2<=-1
として、
A=[-1,0,1,1;
0,-1,1,-1]
B=[-1,-1];
とするのでしょうか?
どうも、このようにしてlinprog()に走らせると、最適化は終了するのですが、得られたパラメータが等式制約をみたしていない状態になります。
(実際、走らせた問題は微妙に違うものですが・・・)
原因として、この「Ax<=B」の入れ方だと思うのですが、上記のやり方では間違いなのでしょうか? 実行可能解の領域が閉空間でなく開空間になってしまっているのではないか思っています。