非线性规划

Matlab 中非线性规划的数学模型写成以下形式

Matlab 中的命令是
X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)

 FUN 是用 M 文件定义的函数  f

NONLCON 是用 M 文件定义的非线性向量函数C 、Ceq

 

 

为了不计算二阶导数矩阵及其逆阵,我们设法构造另一个矩阵H,用它来逼近二阶导数矩阵的逆阵,这一类方法也称拟牛顿法(Quasi-Newton Method)。

通常,我们取第一个H 为单位阵。

在 Matlab 工具箱中,用于求解无约束极值问题的函数有 fminunc 和 fminsearch

 

二次规划
若某非线性规划的目标函数为自变量 x 的二次函数,约束条件又全是线性的,就称
这种规划为二次规划。
Matlab 中二次规划的形式:

H 是实对称矩阵, b, f 是列向量, A 是相应维数的矩阵。
Matlab 中求解二次规划的命令是
[X,FVAL]= QUADPROG(H,f,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
返回值 X 是决策向量 x 的值,返回值 FVAL 是目标函数在 x 处的值。

 

罚函数法
利用罚函数法,可将非线性规划问题的求解,转化为求解一系列无约束极值问题。

形式:

Matlab 中可以直接利用 max 、 min 和 sum 函数。

 

posted @ 2019-06-12 09:17  夜游星  阅读(1387)  评论(0编辑  收藏  举报