linear_prog



機能:
線形計画法(シンプレックス法)

書式:
linear_prog([A],off,m,n,m1,m2,m3,[ox])

解説:
線形計画法は、n個の変数x0,x1....xn-1についての1次関数
Z = a00x0 + a01x1 +...+ a0n-1xn-1
を最大にするx0,x1,....xn-1を見つけ出す問題を指します。但し、各変数は主制約条件
x0≧0, x1≧0,...., xn-1≧0
を満たし、更に次のm1+m2+m3個(m=m1+m2+m3+1)の補助制約条件も満足することとします。
ai0x0 + ai1x1 +...+ ain-1xn-1 ≦ bi (bi≧0) i=1,2,...,m1
aj0x0 + aj1x1 +...+ ajn-1xn-1 ≧ bj (bj≧0) j=m1+1, m1+2, ...,m1+m2
ak0x0 + ak1x1 +...+ akn-1xn-1 = bk (bk≧0) k=m1+m2+1, m1+m2+2,..,m1+m2+m3
関数Zと補助条件のm×n個係数aijは、行列([A],off,m,n )によって与えられます(aijは正でも負でも零でも良い)。
結果のx0,x1,...,xn-1は、存在しない場合(全ての制約条件が同時に成り立つことができない)と有界ではない場合(いくつかの変数が限りなく大きくしても条件が満たされるため、無数の解がある)もあります。
関数の戻り値として、求めた1次関数の最大値Zmaxを返します。

     [A] ・・・・・・・・・・・・・・・・・ 補助条件の係数行列の1列目の数値組

     off ・・・・・・・・・・・・・・・・・ 補助条件の係数行列の1行目のセル番号

     m ・・・・・・・・・・・・・・・・・ 補助条件の係数行列の行数(m = m1+m2+m3+1)

     n ・・・・・・・・・・・・・・・・・ 補助条件の係数行列の列数

     m1,m2,m3 ・・・・・・・・・・・・・・・・・ 3種の補助条件の個数(m1+m2+m3+1= m)

     [ox] ・・・・・・・・・・・・・・・・・ 求めた結果x0,x1,...,xn-1の出力数値組

例:linear_prog([1],1,5,5,2,1,1,[6]);


return