二次优化问题dfp_优化设计-fmincon函数介绍-序列二次的规划(SQP)-subspacetrustregion-activesett.pdf...
fmincon 函數(shù)
? 功能:求多變量有約束非線性函數(shù)的最小值。
? 數(shù)學(xué)模型:
? min F(X)
? subject to: A*X <= B, Aeq*X = Beq (線性約束)
C(X) <= 0, Ceq(X) = 0 (非線性約束)
LB <= X <= UB
其中,X, B, Beq, LB,和UB為向量,A 和Aeq 為矩陣,C(X)
和Ceq(X)為函數(shù),返回標量。f(x), c(x), 和ceq(x)可以是非線性
函數(shù)。
? 調(diào)用格式:
[x,fval,exitflag,output]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,non
lcon,options)
Fval:目標函數(shù)在解X處的目標函數(shù)值
Exitflag:返回算法終止的狀態(tài)指示結(jié)構(gòu)變量
Output :優(yōu)化計算結(jié)束之時返回結(jié)構(gòu)變量
由于本問題中需要優(yōu)化的變量只有兩個,屬于中等規(guī)模
優(yōu)化問題。fmincon命令使用序列二次規(guī)劃算法(SQP )來求
解。序列二次規(guī)劃方法是將一個帶有等式和不等式約束(可
以是非線性)的非線性優(yōu)化問題轉(zhuǎn)化為二次規(guī)劃問題求解。
對于中等規(guī)模優(yōu)化問題,求解二次規(guī)劃問題涉及到
Hessian矩陣。Hessian矩陣的近似計算是通過擬牛頓法得到的,
擬牛頓法提供了兩個公式可用于Hessian矩陣(或其逆)的迭
代:BFGS公式和DFP公式,而初始的Hessian矩陣是任意給的,
如給一個單位陣I。
MATLAB中SQP法的實現(xiàn)分三步,即
? 拉格朗日函數(shù)Hessian矩陣的更新;
? 二次規(guī)劃問題求解;
? 一維搜索和目標函數(shù)的計算
序列二次規(guī)劃(SQP)算法
? 序列二次規(guī)劃(Sequential Quadratic Programming,簡稱SQP)
是當前公認的處理中、小規(guī)模非線性規(guī)劃問題最優(yōu)秀的算
法之一, 該算法通過將原問題轉(zhuǎn)化為一系列二次規(guī)劃子問
題的求解來獲得原問題的最優(yōu)解,對拉格朗日函數(shù)取二次近
似,從而提高二次規(guī)劃子問題的近似程度, 對非線性較強的
優(yōu)化問題也能進行計算。
? SQP方法的基本思想如下:在某個近似解處將原非線性規(guī)劃
問題簡化為處理一個二次規(guī)劃問題,求取最優(yōu)解,如果有,則
認為是原非線性規(guī)劃問題的最優(yōu)解, 否則, 用近似解代替構(gòu)
成一個新的二次規(guī)劃問題, 繼續(xù)迭代。
? Matlab 優(yōu)化工具箱中SQP算法的實現(xiàn)主要由以下三部分組成。
(1)更新拉格朗日函數(shù)的Hessian矩陣
q q T H T H
Hk ?1 Hk ?? k k ? k k (5)
q T s s T H s
k k k k k
? 式中:
m m
q ??f (x ) ? ??g (x ) ??[ f (x ) ? ??g (x )]
k k ?1 ? i i k ?1 k ? i i k
i 1 i 1
s x ??x
k k ?1 k
? 在每一次的迭代中, 采用BFGS 方法計算拉格朗日函數(shù)的
Hessian 矩陣的正定擬牛頓近似值H。只要保證為正,并且H初始
化為正定矩陣,則Hessian矩陣一直保持正定。
1 T T
min q (d ) d Hd ??c d (6)
d ?Rn 2
總結(jié)
以上是生活随笔為你收集整理的二次优化问题dfp_优化设计-fmincon函数介绍-序列二次的规划(SQP)-subspacetrustregion-activesett.pdf...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php aws s3查看所有文件_国内A
- 下一篇: r语言必学的十个包肖凯_30 天学会R