探索flutter框架开发的app在移动应用市场的潜力与挑战
657
2022-11-17
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~