線形計画最適化アルゴリズムをMATLAB(1)

Matlabの溶液の形の式をプログラミングリニア:
ここに画像を挿入説明
オブジェクト「はFを最適化することを含む、請求* X、不等式制約、等式制約と境界制約変数。
線形最適化を解くMATLABではlinprog機能を提供する:
EG:
[X、FVAL、exitflagを、出力、λ= linprogは(F、A、B、式Aeq、BEQ、LB、UBは、オプション)
関数fを入力し、 、Fであり、Bは、式Aeqは、物体の最適化 BEQ、LBは、UBは、 具体的には、上記式で表されます。最後のオプションは、最適化のプロセスパラメータであり、主に次のとおりです。

オプション= optimoptions( 'linprogは'、 'アルゴリズム'、 '内点'、 '表示'、 'ITER'、 'MaxIterations'、10)

選択最適化:線形最適化
選択方法:内点法(線形最適化アルゴリズムがさらに提供)
:表示サイクル数
リミットサイクル

他のパラメータを設定することができますがあります。参考にして得られた特定の検索最適化オプションMatlabの参照。
例えば:
私たちは、次の線形計画問題を解決します:

f = [-2;-1;1];

A = [1 4 -1; 2 -2 1];

b = [4;12];

Aeq = [1 1 2];
beq = 6;

lb = zeros(3,1);

設定と解決に対応する最適化パラメータを与えるには:

options = optimoptions('linprog','Algorithm','dual-simplex','Display','iter','MaxIterations',10)

[x,fval,exitflag,output,lambda]  = linprog(f,A,b,Aeq,beq,lb,ub,options)

私たちは、次のような結果を得ることができます。

options = 

  linprog options:

   Options used by current Algorithm ('dual-simplex'):
   (Other available algorithms: 'interior-point', 'interior-point-legacy')

   Set properties:
              Algorithm: 'dual-simplex'
                Display: 'iter'
          MaxIterations: 10

   Default properties:
    ConstraintTolerance: 1.0000e-04
                MaxTime: Inf
    OptimalityTolerance: 1.0000e-07


LP preprocessing removed 0 inequalities, 0 equalities,
0 variables, and added 0 non-zero elements.

 Iter      Time            Fval  Primal Infeas    Dual Infeas  
    0     0.001    0.000000e+00   6.999174e+00   1.113300e+00  
    2     0.002   -1.080000e+01   1.750843e+00   0.000000e+00  
    4     0.002   -8.666667e+00   0.000000e+00   0.000000e+00  

Optimal solution found.


x =

    4.6667
         0
    0.6667


fval =

   -8.6667


exitflag =

     1


output = 

  struct with fields:

         iterations: 4
    constrviolation: 8.8818e-16
            message: 'Optimal solution found.'
          algorithm: 'dual-simplex'
      firstorderopt: 7.4015e-16


lambda = 

  struct with fields:

      lower: [3×1 double]
      upper: [3×1 double]
      eqlin: 0.3333
    ineqlin: [2×1 double]

前記パラメータは、ディスプレイ、サイクルの各ステップのデータ、及び最も有利なの関数値の最終値を含みます。

公開された56元の記事 ウォン称賛11 ビュー8728

おすすめ

転載: blog.csdn.net/gophae/article/details/104074737