网站LOGO
这里是广告位
栏目分类

电话:0755-8888888888

邮箱:123456@qq.com

Q Q:123456789

地址:广东省深圳市南山区

当前位置首页 >大数据> 阅读正文

浅谈玄学算法

作者:admin 来源:网络 日期:2020-02-13

       上文中的特定几率来自于固体退火原理:当固体温较高时,质内能较大,固体内部成员移动猛烈;当温逐步降低时,物体内能也随之降低,成员移动趋向平稳;当固体温降到常温时,固体内部成员移动最终平稳。

       该情况得以应用模拟退火算法速决,python代码如次:importmathimporttimeimportrandom初始温T=50000最低温T_end=1e-8在每个温下的迭代次数L=100退火系数delta=0.9831个都市的坐标citys=1304,2312,3639,1315,4177,2244,3712,1399,3488,1535,3326,1556,3238,1229,4196,1004,4312,790,4386,570,3007,1970,2562,1756,2788,1491,2381,1676,1332,695,3715,1678,3918,2179,4061,2370,3780,2212,3676,2578,4029,2838,4263,2931,3429,1908,3507,2367,3394,2643,3439,3201,2935,3240,3140,3550,2545,2357,2778,2826,2370,2975存储两个都市之间的相距d=0foriinrange(31)forjinrange(31)存储一条途径ans=划算降温次数cnt=0划算两个都市之间的相距defget_city_distance:foriinrange(len(citys)):forjinrange(i,len(citys)):dij=dji=math.sqrt((citysi0-citysj0)2+(citysi1-citysj1)2)应用随机互换途径中两个都市的地位来发生一条新途径defcreate_new(a):i=random.randint(0,len(a)-1)j=random.randint(0,len(a)-1)ai,aj=aj,aireturna获取途径的长度defget_route_distance(a):dist=0foriinrange(len(a)-1):dist+=daiai+1returndistdefsaa:get_city_distancecnt=0ans=range(0,len(citys))t=Tresult=0whilet>=T_end:foriinrange(0,L):ans_new=create_new(ans)d1,d2=get_route_distance(ans),get_route_distance(ans_new)de=d2-d1result=d1ifde<0:ans=ans_newresult=d2else:if(math.e(-de/T)>random.random):ans=ans_newresult=d2t=tdeltacnt+=1print"途径如次:"printansprint"途径长度:"printresultprint"降温次数:"printcntstart=time.timesaaend=time.timeprint"运转耗时:"+str(end-start)+"s"出口:途径如次:5,18,29,28,6,24,12,17,15,27,21,1,22,9,8,23,19,25,30,16,26,13,14,7,11,20,4,2,3,0,10途径长度:40605.6088359降温次数:1448运转耗时:2.93400001526s六、参考1、、,初级篇本篇讲授SA的根本概念。

       内中,P为算法选择较差解的几率;T为温的模拟参数;。

       这种算法普通具有周密的理论根据,而不是单一凭专门家经历,理论上得以在特定的时刻内找到最优解或相近最优解。

       模拟退火算法是一样通用的优化算法,其情理退火进程由加温进程、等温进程、冷进程这三有些组成。

       应如何选择行进道路,以使总的路程最短。

       当T很大时,,这算法以较大几率选择非眼下最优解;P的值随着T的减小而减小;当时,,这算法差一点只选择最优解,等同于贪算法。


网站首页 大数据物联网科技素材网站建设

Copyright 2010-2019 All Rights Reserved Theme by Wordpress 版权所有

ICP备案号:粤2019001401