【摘要】:约束非线性规划的一般形式:基本解法如下.(1)最优性条件:根据多元函数的拉格朗日乘数法原理可知,上述问题的最优解x*应当满足Kuhn-Tucher条件,即其中,(2)可行方向法:Zoutendijk可行方向法(见《最优化方法》有关参考书).(3)惩罚函数法:分为外点法和内点法(见《最优化方法》有关参考书).(4)应用MATLAB解约束非线性规划.方法1解二次规划:MATLAB工具箱中函数qp(H
约束非线性规划的一般形式:
基本解法如下.
(1)最优性条件:根据多元函数的拉格朗日乘数法原理可知,上述问题的最优解x*应当满足Kuhn-Tucher条件,即
其中,
(2)可行方向法:Zoutendijk可行方向法(见《最优化方法》有关参考书).
(3)惩罚函数法:分为外点法和内点法(见《最优化方法》有关参考书).
(4)应用MATLAB解约束非线性规划.
方法1 解二次规划:
MATLAB工具箱中函数qp(H,C,A,b)对应的二次规划是矩阵形式:
将原问题变换为标准形式:
求解该问题的MATLAB程序如下.先给H,C,A进行赋值:
再调用优化程序qp:
即得最优解
1.0 2.0
和最优值
ans=11.0
或直接调用程序:(www.xing528.com)
方法2 (约束非线性规划)先将问题化为标准形式:
MATLAB程序如下:
先定义目标函数、约束函数,给出将来程序中的基本数据模块.
再调用优化程序:
输出最优解x,得到结果:
输出最优解:options(8),得到的结果:
输出总的计算次数:options(10),得到的结果:
优化程序的语句为
其中的数据要先予以赋值:fun的定义在上例中已演示,表示约束函数;grad的定义形式为
方法4 自变量有上下界约束的非线性规划,问题形式属于标准形式:
MATLAB程序如下:
结果为
用命令
得最优值:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。