在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
展开
 我来答
zhongjingjogy
推荐于2017-12-15 · TA获得超过211个赞
知道答主
回答量:68
采纳率:100%
帮助的人:26万
展开全部

该程序采用实数编码的遗传算法编写,附件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 广告
选择遗传算法进行智能排班的过程可以分为以下几个步骤:1. 确定排班目标:首先需要确定排班的目标,例如最大化满意度、最小化成本、最大化资源利用率等。这将有助于确定遗传算法的适应度函数,以及选择操作的方式。2. 设计染色体表示:染色体是遗传算法... 点击进入详情页
本回答由盖雅工场,全流程劳动力管理系统提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式