非線形計画問題Matlabのモデルコード

非線形計画問題の基本的な内容

非線形計画溶液が線形制約または非線形の制約条件の特定の組み合わせで独立変数であり、そのような非線形目的関数は、問題の最大値または最小値を決定しました。

以下のように、目的関数の最小値は、上記の問題を書くことができます。

\ [\ Z =分{F(X)} \]

\ [\テキスト{ST} \左\ {\開始{アレイ} {1} {\ mathbf {A} \ mathbf {X} \ leqslant \ mathbf {B}} \\ {\ mathbf {A} _ {\ mathrm {EQ}} \ mathbf {X} = \ mathbf {B} _ {\ mathrm {EQ}}} \\ G(X)\ leqslant 0 \\ H _ {\ mathrm {EQ}}(X)= 0 \\ {\ mathbf {LB} \ leqslant \ mathbf {X} \ leqslant \ mathbf {UB}} \端{アレイ}右\。\]

間で

\(F(X)\)非線形目的関数

\(G(x)\)非線形不等式制約

\(H_ \ mathrm {EQ} (X)\) 制約が非線形方程式であります

\(\ mathbf {X} \ ) 決定変数ベクトルであります

\(\ mathbf {A}は\ ) 線形行列不等式の係数であります

\(\ mathbf {B}は\ ) 右線形不等式の定数ベクトルであります

\(\ mathbf {A} _ \ mathrm {EQ} \) の線形方程式の係数行列であります

\(\ mathbf {B} _ \ mathrm {EQ} \) 右線形方程式の定数ベクトルであります

\は、(\ mathbf {LB} \ ) 決定変数ベクトルの下限であります

\(\ mathbf {UBは} \ ) 決定変数ベクトルに制限され


Matlabのモデルコード

コールフォーム

    [X、FVAL、exitflagを、OUTPUT 、λ= fminconの(FUN、X0、A、B、式Aeq、BEQ、LB、UB、nonlconに)% 、統一形式
    [X、FVAL、exitflagを、OUTPUT 、λ= fminconの(F 、X0、A、B、式Aeq 、BEQ、LB、UB、nonlconに)% 非線形を含む線形目的関数は、制約
    [X、FVAL、exitflagを、OUTPUT 、λ= fminconの(@(X)このmyobj(X)、X0 、A、B、式Aeq、BEQ 、LB、UB、@(X)myconは次の(X))% 独自の非線形目的関数と制約は機能定義
    %目的関数の
    関数F.このmyobj =(X-)
        F.を= ...... 
    %非線形制約関数
    関数[G、HEQ] = myconは次の(X-)
        G = .....%線形不等式制約
        HEQ = .....%線形等式制約

入力変数

  • FUN目的関数は、あなたがあなた自身の入力変数X、出力先を定義することができます
  • X0は初期解であります
  • Aは係数行列不等式制約である(以上、逆数を採取する必要がある場合、デフォルトの方向は以下の不等式が、であることに留意されたいです)
  • Bは、定数ベクトル不等式である右(逆数未満ないが取られる必要がある場合、デフォルトの方向は以下の不等式であることに注意します)
  • AEQ等式制約係数行列
  • 定数ベクトル方程式右BEQです
  • 決定変数ベクトルのLB下界
  • UBは、決定変数ベクトルに囲まれています
  • nonlconに非線形制約は、線形不等式制約を含む、2つの制約線形等式制約を、独自に定義することができます。入力変数X、不平等を計算し、出力値、式CALC

呼び出されると、入力されたパラメータが存在しない場合、それはによって入力することができる[]空の行列表現。

出力変数

  • Xは、最適なソリューションです。
  • FVAL最適なターゲット
  • 1に等しい、終了フラグを実行れるexitflagは、プログラムがX-解に収束することを示し、数字は最大プログラム実行に達する0に等しい表す場合、0より小さい場合、多くの場合ことを示します
  • プログラムの反復OUTPUT数
  • LAMBDAは、溶液中X関連Largrange乗数と影の価格です


ケース・プレゼンテーション

目的関数と制約

\ [\分F(X)= X_ {1} ^ {2} + X_ {2} ^ {2} +8 \]
\ [\テキスト{ST} \左\ {\ {{アレイ} {1}を始めますX_ {1} ^ {2} -x_ {2} \ GEQ 0} \\ {-x_ {1} -x_ {2} ^ {2} + 2 = 0} \\ {X_ {1}、X_ {2 } \ GEQ 0} \端{アレイ}右\。\]

MATLABプログラム

CLC 
クリア
すべて閉じる
X0 = RAND(2,1);%ランダムに生成された初期解
A = []; 
B = []; 
式Aeq = []; 
BEQ = []; 
LB = [0,0]; 
UB = [] ; 
[X、FVAL、れるexitflag](@(X)このmyobj(X)、X0、A、B、式Aeq、BEQ、LB、UB、@(X)myconは次の(X))の=はfmincon 

 %目的関数の
関数F =このmyobj (X)
F. X =(1)X ^ 2 +(2)+ ^ 2 8; 
エンド
 %非線形制約関数
関数[G、HEQ] = myconは次の(X)
G = -X-(1)X ^ 2 +( 2); 
HEQ -X- =(1)-X-(2)^ 2 + 2; 
終了

業績

X = 

    1.0000 
    1.0000 


FVAL = 

   10.0000 


れるexitflag = 

     1


おすすめ

転載: www.cnblogs.com/gshang/p/11490571.html