在matlab中如何用遗传算法求解函数和的最小值
y=-2.113-0.1326*x+10.49*31.1688*exp(-0.755*x)+0.1505*x*x-2.924*x*31.1688*exp(-0.755*x...
y =-2.113-0.1326*x+10.49*31.1688*exp(-0.755*x)+0.1505*x*x-2.924*x*31.1688*exp(-0.755*x)+10.11*(31.1688*exp(-0.755*x))*(31.1688*exp(-0.755*x))
x范围(0,0.01)
给我能在matlab跑出来的代码。。谢谢!!!
x的范围是(0,0.1) 0到0.1不是0到0.01 展开
x范围(0,0.01)
给我能在matlab跑出来的代码。。谢谢!!!
x的范围是(0,0.1) 0到0.1不是0到0.01 展开
1个回答
展开全部
该程序采用实数编码的遗传算法编写,附件1(real code ga.m)为matlab代码。
附件2(实数编码遗传算法参考资料):
http://www.math.zju.edu.cn/cagd/resources/thesis/PhDthesis_ZhouMingHUa.pdf
优化结果需要修改mutate_P以及变异量的大小。因为只有一个优化变量因此编程较为简单。
提供一个参考链接:http://zhidao.baidu.com/question/583959020.html?oldq=1
上图为所给函数的函数图像,最小值在x=0.01处。
下图为某次遗传算法优化结果:
收敛值在0.0097-0.0098.
更多追问追答
追问
代码下了,但我运行的时候为什么start旁边跳出个BUSY然后就没有出来运行结果?求解大神
追答
f=@(x) -2.113-0.1326*x+10.49*31.1688*exp(-0.755*x)+0.1505*x.*x... -2.924*x*31.1688.*exp(-0.755*x)+10.11*(31.1688*exp(-0.755*x)).*(31.1688*exp(-0.755*x)); X = GA(f,1,[],[],[],[],0,0.1);
实在不行,你可以直接调用matlab现成的gafunction。上面是ga实现代码。输出项自己加点进去就可以看到了。具体怎么用,自己琢磨一下。
盖雅工场,全流程劳动力管理系统
2023-07-25 广告
2023-07-25 广告
选择遗传算法进行智能排班的过程可以分为以下几个步骤:1. 确定排班目标:首先需要确定排班的目标,例如最大化满意度、最小化成本、最大化资源利用率等。这将有助于确定遗传算法的适应度函数,以及选择操作的方式。2. 设计染色体表示:染色体是遗传算法...
点击进入详情页
本回答由盖雅工场,全流程劳动力管理系统提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询