デジタル常用アルゴリズムシリーズMatlab実現---線形計画

873 ワード

線形計画のMatlab標準形式
線形計画のターゲット関数は、最大値を求めるか、最小値を求めるかであり、制約条件の不等号は、小さい番号でも大きい番号でもよい.このような形式の多様性による不便を避けるために、Matlabで規定された線形計画の標準形式は[minC^TX\x\Ax<=b\Aeqx=beq\lb<=x<=ub\]であり、cとxはn次元列ベクトルであり、A、Aeqは適切な次元数の行列であり、b、beqは適切な次元数の列ベクトルである.例えば線形計画[maxC^Txquads.t.quad Ax>=b\のMatlab標準型\min-C^Txquads.t.-Ax<=-b]
基本関数の形式はlinprog(c,A,b)であり、その戻り値はベクトルxの値である.他にもいくつかの関数呼び出し形式があります(Matlabコマンドウィンドウでhelp linprogを実行すると、すべての関数呼び出し形式が表示されます).
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X 0,OPTIONS)ここでfvalは目標関数の値を返し,LBとUBはそれぞれ変数Xの下限と上限,x 0はxの初期値,OPTIONSは制御パラメータである.
例題:[maxquadz=2 x_1+3 x_2-5 x_3\x_1+x_2+x_3=7\2 x_1-5 x_2+x_3>=10\x 1+3 x_2+x_3<=12\x 1,x 2,x 3>=0]解:
    c=[2;3;-5];
    a=[-2,5,-1;1,3,1];b=[-10;12];
    aeq=[1,1,1];
    beq=7;
    x=linprog(-c,a,b,aeq,beq,zeros(3,1))
    value = c'*x;

最初のデジタルモード関連アルゴリズムは、毎日1つ更新されます.