谁有进程调度模拟程序退火算法的matelabe 的程序啊??

模拟退火算法解决车辆路径问题的C++程序代码_百度知道
模拟退火算法解决车辆路径问题的C++程序代码
我有更好的答案
其他类似问题
模拟退火算法的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁又一个模拟退火算法程序。(转)
从现在开始,我会陆续公开我在做数学建模时的一些程序,希望对大家有所帮助。这些程序都是我原创的,希望对大家有所帮助!特别提醒:虽然我在这里提供了程序,但是还是希望要使用的人根据我的注释研究一下,这样才能提高自己的水平!
首先给出主程序:
%模拟退火算法
r=[1];%初始解
Tm=1000;%最高温度
T=Tm;%初始温度
Tn=0.0001;%最低温度
E=[];%能量
dE=[];%能量差
k=0;%迭代次数
l=length(r);
L0=10;L1=0.0001;%随机扰动范围随温度变化,最大和最小范围
best=r;zx=mbFunction(r);
while T&=Tn
while h==0
while hh==0
r1=r+randomDisturb(l,Tm,T,Tn,L0,L1);
if isMatch(r1)
end%扰动产生一个新可行解
E=mbFunction(r1);
dE=E-mbFunction(r);
p=exp(-dE/T);
if p&=rand(1)
if mod(k,10)==0
zx=E;best=r;
mbFunction(best)
clear E;clear T;clear Tn;clear dE;clear
l;clear r1;
b=zeros(1,100);
a=[sin(0.4*a) b sin(0.4*a) b sin(0.8*a) b sin(0.8*a) b sin(1.2*a) b
sin(1.2*a) b sin(0.8*a)];
上面对一些变量进行了说明。注意最后“clear E;clear T;clear Tn;clear dE;clear
clear r1;”这一行之后是一段声音,提醒你结果出来了~
然后给出判断可行域的程序:
%isMatch.m
%判断向量是否在可行域
function f=isMatch(r)
f=1;%目标函数(这里取二次函数为例子)可行域为实数集,因此不必进行判断。
这个程序很简单,再用的时候,需要修改一下,当r在可行域内时,返回1,否则返回0。
然后给出目标函数:
%mbFunction.m
function f=mbFunction(w)
这个时目标函数f=f(w),w为自变量(向量)
最后给出产生随机扰动的程序:
%randomDisturb.m
%生成随机扰动
%n为向量维数
%m为最大扰动
function f=randomDisturb(n,Tm,T,Tn,L0,L1)
m=((L1-L0)/(Tn-Tm))*T+L0-Tm*((L1-L0)/(Tn-Tm));
a=(rand(1,n)*2-1)*m;
这里要注意了!为了防止程序最后在可行域的边缘附近取不到可行域内的点,我让随机扰动的范围随着温度的降低而减小。这实际上是一个线性递减的函数,有兴趣的可以吧上面第2行变换一下就知道了。
使用的时候,一般只要改一下目标函数、可行域、初始解的维数就可以了。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。模拟退火算法matlab源程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
相关文辑推荐
格式 文档名称 用户评分 浏览量 下载量请教 模拟退火算法的matlab程序_matlab吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:56,912贴子:
请教 模拟退火算法的matlab程序收藏
小弟做毕设,模拟退火算法在网络编码优化中的应用研究,求模拟退火算法的matlab程序。
-------------------------------代做matlab仿真,包括建模、控制、优化等联系qq号码
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
为兴趣而生,贴吧更懂你。或模拟退火算法 程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
相关文辑推荐
共10个文档
格式 文档名称 用户评分 浏览量 下载量
13749 3446

我要回帖

更多关于 退火算法 的文章

 

随机推荐