fea_stud 发表于 2005-7-21 12:49:30

求:关于序列二次规划的详细描述

大家有关于序列二次规划的详细描述的资料吗?
或者在什么书上有?

光的轨迹 发表于 2005-7-22 15:50:29

Re:求:关于序列二次规划的详细描述

在isight的user reference里有描述,大致的算法介绍和流程都有的。
优化算法书上也大都有对二次规划的讲解。


SQP Method - Short summary
Notation: vectors are written in bold, e.g. x represents the vector of design variables.

Optimization problem:

Min f(x)

Subject to:

h(x) = 0 (equality constraints)

g(x) £ 0 (inequality constraints)

Necessary condition for point x* to be a minimizer = KKT condition (Karush-Kuhn-Tucker condition):

Ñf* + lTÑh* + mTÑg = 0T

with

l ¹ 0

mTg = 0, m ³ 0

l and m are the Lagrange multipliers.

An inequality constraint can be inactive, in that case gj < 0, mj = 0.

If the inequality constraint is active, gj = 0, mj &sup1; 0, and it can be handled as an equality constraint.

Sufficiency condition for point x* to be a minimizer: Hessian matrix (second derivative) should be positive definite: H > 0

SQP algorithm:

-      Select starting point x0, initialize l0, initialize H, let k (iteration counter) = 0

-      First gradient calculation

-      Iterate while convergence criteria not met:

-if k &sup1; 0, update Hessian matrix using the BFGS method

-Solve quadratic subproblem with linearized constraints following Newton’s method. This results in:

sk, the search direction

lk+1, the lagrange multipliers

-Minimize a merit function along sk, to determine a step length ?k

-Set xk+1 = xk + aksk

-Calculate gradient for xk+1 and check convergence (KKT condition)

-Let k = k+1

The merit function is the one proposed by Powell:

F(x,l,&micro;) = f(x) + Swi|hi| + Swj|min{0,-gj}|

wi and wj are the weights that are used to balance the infeasibilities. The values for the weights are taken as follows:

wi = |li| for k = 0 (first iteration)

wi,k = max{|li,k|,0.5(wi,k-1-1+|li,k|)} for k > 0

Similar formulas using mj are used for the weights for the inequalities.

Design variables are always normalized to the interval [-1,1] to give equal weight to different dynamic ranges.

Constraint values are always normalized by dividing by a range, which is |H-L| with H the high constraint value and L the low constraint value. If only one of both (L or H) is specified, the other is taken such that H = 1.2L if H > 0 and H = L/1.2 if H < 0.

The merit function is always a compromise between minimizing f(x) and satisfying the constraints, hence it is possible that a better point is found while constraints are not satisfied, because the total merit function is better. The merit function can be influenced by multiplying the objective function with a factor, which results in a bigger or smaller weight in the merit function.

光的轨迹 发表于 2005-7-22 15:52:30

Re:求:关于序列二次规划的详细描述

怎么贴出来这么多的鬼脸呢!

ylai 发表于 2005-8-1 11:22:53

Re:求:关于序列二次规划的详细描述

是不是( )是表情符?
页: [1]
查看完整版本: 求:关于序列二次规划的详细描述