700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 利用matlab求解非线性规划问题

利用matlab求解非线性规划问题

时间:2021-01-07 11:47:25

相关推荐

利用matlab求解非线性规划问题

一、无约束最优化问题

用于无约束最优化模型求解

函数:可以调用 matlab的的函数, fminsearch、fminunc。

调用格式如下:[x,fval]= fminsearch(fun,x0) or [x,fval]= fminunc(fun,x0)

fun:为函数方程、 x0为初始值

举例:

求解函数方程的最小值:

f=@(x)(3/2)*x(1)^2+(1/2)*x(2)^2-x(1)*x(2)-2*x(1);[x fval]=fminsearch(f,[-2,4])%或者[x fval]=fminunc(f,[-2,4])

结果一样,都如下所示:

x =

1.0000 1.0000

fval =

-1.0000

因为解决非线性规划问题,都是使用的搜索算法,所以非常依赖初始值,大家需要注意。

二、约束最优化问题

调用方程 [x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)

对于方程:

f=@(x)-x(1)*x(2)*x(3);A=[-1,-2,-2;1,2,2];b=[0;72];x0=[10,10,10];[x,fval]=fmincon(f,x0,A,b)

结果:

x =

24.0000 12.0000 12.0000

fval =

-3.4560e+03

当然我们一般可以用 Lingo 求解,这样又方便,又快捷

min=-x1*x2*x3;x1+2*x2+2*x3>=0;x1+2*x2+2*x3<=72;@free(x1);@free(x2);@free(x3);

一样的快捷和实用

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。