bdld.net
当前位置:首页 >> mAtlAB用模拟退火算法解决问题 >>

mAtlAB用模拟退火算法解决问题

“模拟退火”算法是源于对热力学中退火过程的模拟,在某一给定初温下,通过缓慢下降温度参数,使算法能够在多项式时间内给...

还需要吗 可以实现的

其实原理很简单,就是一种概率性的搜索算法,只是一个小程序,所以可以自己编写,我目前就是用自己编写的。 几个关键点就是退火温降一定要缓慢,也就是迭代次数尽量多,所以在温度变化函数里面的参数要设置可能。

1、在命令窗口中输入, >> optimtool %打开模拟退火工具箱 2、在solver选择框中,选择simulannealbnd 3、在目标函数栏输入@simple 4、在初值栏输入[0.5 0.5] 5、在Lower栏输入[-64 -64],Upper栏输入[64 64] 6、点击start,运行 7、结果如下

clear clc a = 0.95 k = [5;10;13;4;3;11;13;10;8;16;7;4]; k = -k;% 模拟退火算法是求解最小值,故取负数 d = [2;5;18;3;2;5;10;4;11;7;14;6]; restriction = 46; num = 12; sol_new = ones(1,num); % 生成初始解 E_current = inf;E_best = inf...

我刚刚回答了一个额。 从代码角度来说,就是2个循环,一个总温度外循环(足够大,并逐渐减小),另一个内部循环(使其达到该特定温度下的平衡,怎么算平衡自己定义的)。很多书都说外部的总温度外循环,却忽略了内部循环,内部循环值应该多大,...

matlab自带的模拟退火工具箱算法是simulannealbnd函数,输入参数是fun,x0,lb,ub,没有约束项,所以,你这个不能用。可换别的算法。

从提示看,目标函数写法不正确,一、变量x1,x2,等等,要写成:x(1),x(2),.... 二、初始值个数,要与变量数相同,有几个x(1),x(2),...,x(5),就要有几个,如5个初始值,而你只写2个,就不对了。

Matlab嵌入的模拟退火算法 版本 2010 还不能求解 整数变量优化问题,不确定更高版本是否可以求解。

不是闲的一逼,或手头就有代码的人是不会去特意去写这种东西的吧?因为这种题,明显人脑计算的时间明显少于,写一份复杂的计算代码的时间,也就是说写代码反而变的没有效率了。因为切割后他会变成不再是一个矩形,而是一个奇怪的多边形,这样就...

网站首页 | 网站地图
All rights reserved Powered by www.bdld.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com