15.非线性规划(下)

网友投稿 601 2022-11-17

15.非线性规划(下)

15.非线性规划(下)

非线性规划(下)

1.二次规划问题

2.例题9

求解代码

clearclch=[4,-4;-4,8];f=[-6;-3];a=[1,1;4,1];b=[3;9];[x,value]=quadprog(h,f,a,b,[],[],zeros(2,1))

3.罚函数法

4.例题10

test1.m(定义增广目标函数)

function g=test1(x);M=50000;f=x(1)^2+x(2)^2+8;g=f-M*min(x(1),0)-M*min(x(2),0)-M*min(x(1)^2-x(2),0)+M*abs(-x(1)-x(2)^2+2);

test2.m(使用求极小值极大值函数)

function g=test2(x);M=50000;f=x(1)^2+x(2)^2+8;g=f-M*sum(min([x';zeros(1,2)]))-M*min(x(1)^2-x(2),0)+M*abs(-x(1)-x(2)^2+2);

test3.m(修改增广目标函数定义)

function g=test3(x);M=50000;f=x(1)^2+x(2)^2+8;g=f-M*min(min(x),0)-M*min(x(1)^2-x(2),0)+M*(-x(1)-x(2)^2+2)^2;

主程序(可以使用test1,2,3中任意一个)

[x,y]=fminsearch('test3',rand(2,1))

5.例题11

fminbad函数介绍

fun6.m

function f=fun6(x);f=(x-3)^2-1;

主程序

[x,y]=fminbnd('fun6',0,5)

6.例题12

fseminf函数介绍

fun7.m

function f=fun7(x,s);f=sum((x-0.5).^2);

fun8.m

function [c,ceq,k1,k2,s]=fun8(x,s);c=[];ceq=[];if isnan(s(1,1)) s=[0.2,0;0.2 0];end%取样值w1=1:s(1,1):100;w2=1:s(2,1):100;%半无穷约束k1=sin(w1*x(1)).*cos(w1*x(2))-1/1000*(w1-50).^2-sin(w1*x(3))-x(3)-1;k2=sin(w2*x(2)).*cos(w2*x(1))-1/1000*(w2-50).^2-sin(w2*x(3))-x(3)-1;%画出半无穷约束的图形plot(w1,k1,'-',w2,k2,'+');

主程序

clear clcx0 = [0.5; 0.2; 0.3]; %如果初始值取的不合适,可能就得不到可行解[x,y]=fseminf(@fun7,x0,2,@fun8)

7.例题13

fminimax函数介绍

fun9.m

function f=fun9(x);f=[2*x(1)^2+x(2)^2-48*x(1)-40*x(2)+304 -x(1)^2-3*x(2)^2 x(1)+3*x(2)-18 -x(1)-x(2) x(1)+x(2)-8];

主程序

clear clc[x,y]=fminimax(@fun9,rand(2,1))

8.优化工具

matlab工具箱里有个这个,可以点开它(APP那里)或在命令窗口用命令optimtool打开

​​返回目录​​

​​下一篇:16.时间序列(上)​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:10.拟合
下一篇:SpringDataJPA实体类关系映射配置方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~