请教关于用Matlab在非线性约束条件下的最优解 10
在以下约束条件下cos(5*x)+cos(5*y)+cos(5*z)+cos(5*m)=0;cos(7*x)+cos(7*y)+cos(7*z)+cos(7*m)=0;c...
在以下约束条件下
cos(5*x)+cos(5*y)+cos(5*z)+cos(5*m)=0;
cos(7*x)+cos(7*y)+cos(7*z)+cos(7*m)=0;
cos(11*x)+cos(11*y)+cos(11*z)+cos(11*m)=0;
使M=cos(x)+cos(y)+cos(z)+cos(m)最大的求法,想通过Matlab最优化处理,可不知道如何实现?看了一些例子都是关于x,y等的约束,可我不知道怎么实现在cosnx(n=6k+1和n=6k-1)组成的方程组的约束下的最优解。
能不能详细讲讲呢?我对用Matlab中的遗传算法不熟悉,谢谢 展开
cos(5*x)+cos(5*y)+cos(5*z)+cos(5*m)=0;
cos(7*x)+cos(7*y)+cos(7*z)+cos(7*m)=0;
cos(11*x)+cos(11*y)+cos(11*z)+cos(11*m)=0;
使M=cos(x)+cos(y)+cos(z)+cos(m)最大的求法,想通过Matlab最优化处理,可不知道如何实现?看了一些例子都是关于x,y等的约束,可我不知道怎么实现在cosnx(n=6k+1和n=6k-1)组成的方程组的约束下的最优解。
能不能详细讲讲呢?我对用Matlab中的遗传算法不熟悉,谢谢 展开
展开全部
这种简单的问题,不需要用遗传算法
M文件:
function f = fun1(x)
f = -cos(x(1))-cos(x(2))-cos(x(3))-cos(x(4));
function [c, ceq] = fun2(x)
c = [];
ceq = [cos(5*x(1))+cos(5*x(2))+cos(5*x(3))+cos(5*x(4));
cos(7*x(1))+cos(7*x(2))+cos(7*x(3))+cos(7*x(4));
cos(11*x(1))+cos(11*x(2))+cos(11*x(3))+cos(11*x(4))];
在matlab命令窗口中输入:
clear all;
[x,fval]=fmincon(@fun1,rand(4,1),[],[],[],[],[],[],@fun2)
M文件:
function f = fun1(x)
f = -cos(x(1))-cos(x(2))-cos(x(3))-cos(x(4));
function [c, ceq] = fun2(x)
c = [];
ceq = [cos(5*x(1))+cos(5*x(2))+cos(5*x(3))+cos(5*x(4));
cos(7*x(1))+cos(7*x(2))+cos(7*x(3))+cos(7*x(4));
cos(11*x(1))+cos(11*x(2))+cos(11*x(3))+cos(11*x(4))];
在matlab命令窗口中输入:
clear all;
[x,fval]=fmincon(@fun1,rand(4,1),[],[],[],[],[],[],@fun2)
展开全部
可采用惩罚函数法,求最大值的话,对于不满足约束的解,将其M值赋一很小的值。然后采用无约束问题的优化方法求解。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用遗传算法来做,matlab7.1后的版本都有这个功能了!
还有一些其他的优化函数可以调用,都是可以的!
我的腾讯联系方式,散坝而要龄要伞流午
还有一些其他的优化函数可以调用,都是可以的!
我的腾讯联系方式,散坝而要龄要伞流午
追问
能不能详细讲讲呢,我对遗传算法不了解
追答
你的matlab里面运行help ga里面有算法和例子,可以自己看一下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询