主要内容

。

多数の线形制约ある结合の二次次法

この例では,多数の线制约がが存问题において,Quadprog.'active-set'アルゴリズムが,既定の'内部point-convex'アルゴリズムとと比较し,いかに有效に机能するをを明し。また,'active-set'このアクティブな制约はにゼロなります。このこと,アクティブは,アクティブな制约を求める求める有用です。

问题の明明

N个の変数と10 * N.个の线形不等式制约をもつ疑似乱数二次问题を作成します。n = 150.と指定します。

RNG.默认重复性的%n = 150;RNG.默认a = randn([10 * n,n]);b = 10 * =(尺寸(a,1),1);f = sqrt(n)* rand(n,1);h = 18 *眼睛(n)+ randn(n);h = h + h';

得られた二次行列が凸であることを确认します。

ee = min(eig(h))
ee = 3.6976.

すべての固値が正であるため,二次形式x'* h * xは凸になります。

线形等式制约または范囲含み含みん。

AEQ = [];beq = [];lb = [];UB = [];

2つのアルゴリズムで问题を解く

Quadprog.'active-set'このアルゴリズムにますののますますのし设定设定设定设定し设定ししににはは初初初点にが必要初初初点点がが初初初点点点X0.を长さNののゼロベクトルにになるに设定しし

opts = Optimoptions('quadprog''算法''active-set');x0 =零(n,1);

求解时间ををします。

TIC [XA,FVALA,EFLAGA,OUPPORTA,LAMBDAA] =四肢(H,F,A,B,AEQ,BEQ,LB,UB,X0,OPTS);
最低发现满足约束。优化完成,因为目标函数在可行的方向上不降低,到在最优性公差的值内,并且对约束公差的值满足约束。<停止标准详细信息>
TOC.
经过时间为0.042058秒。

この求解时间と既定の'内部point-convex'アルゴリズムを使用したた求解求解求解求解求解比较します。

TIC [XI,FVALI,EFLAGI,OUTPORI,LAMBDAI] =四肢(H,F,A,B);
最低发现满足约束。优化完成,因为目标函数在可行的方向上不降低,到在最优性公差的值内,并且对约束公差的值满足约束。<停止标准详细信息>
TOC.
经过时间为2.305694秒。

多数の线路制约を问题に対しては,'active-set'アルゴリズムの方向はるかに高度です。

ラグランジュラグランジュ数の検证

'active-set'アルゴリズムは,线路制约行列关键词するする构造构造ののの非エントリのみの

NNZ(Lambdaa.ineqlin)
ans = 14.

対照的に,'内部point-convex'アルゴリズムは,すべてが非ゼロ要素である函数构造体をを返し

nnz(lambdai.ineqlin)
ans = 1500.

これらのラグランジュラグランジュははすべてがn * eps.よりも小さいサイズ。

NNZ(ABS(Lambdai.ineqlin)> N * EPS)
ans = 20.

言い换えれば,'active-set'アルゴリズムは,ラグランジュラグランジュ数构造体にれるアクティブな制约を明暗に示しが,'内部point-convex'アルゴリズムはそうではありません。

参考

|

关键词トピック