网站大量收购独家精品文档,联系QQ:2885784924

智能优化实验一之模拟退火算法实现(VC++).doc

智能优化实验一之模拟退火算法实现(VC++).doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能优化实验一之模拟退火算法实现(VC)

实验报告 学院(系)名称:计算机与通信工程学院 姓名 学号 专业 班级 实验项目 模拟退火算法实现 课程名称 现代智能计算方法 课程代码 0665126 实验时间 12-3-13-7、8节 实验地点 7-219 批改意见 成绩 教师签字: 实验环境 硬件设备:PC机 系统软件:Microsoft Visual C++ 6.0 实验的地位、作用和目的及学生能力标准: 在解决系统工程问题中,建立智能优化模型,利用计算机辅助工具进行科学计算以及决策分析。实验教学具有重要的地位,通过实践教学,加深智能优化基本方法、基本知识,初步熟悉智能优化方法。在解决实际问题的应用这一过程中培养学生建立研究问题的智能优化模型的思路、算法设计以及程序的实现能力,通过实验教学增强学生在系统工程和计算机科学的实现能力。 实验内容 问题描述——四个城市{1,2,3,4}的TSP问题,两个城市i和j间的距离dij距离矩阵为: (dij)= 四、实验过程及结果 (1)部分源代码: /********************************************************* JudgeOverInnerLoop()——判断是否结束某一温度下的内层循环 输入参数: 1、JudgeMode 判断方式,保留 返回值: 是否结束标志位,BOOL型 注: 某一温度下的循环次数是固定的,即城市个数的200倍 *********************************************************/ BOOL JudgeOverInnerLoop( int JudgeMode ) { if( NowInnerIterNumber = 200*CityNumber ) return TRUE; else return FALSE; } /********************************************************* JudgeOverExternalLoop()——判断是否结束模拟退火算法 输入参数: 1、JudgeMode 判断方式,保留 返回值: 是否结束标志位,BOOL型 注: 使用“零度法”的判断方式,T(k)= 0.01,结束计算 *********************************************************/ BOOL JudgeOverExternalLoop( int JudgeMode ) { if( NowTemperature = 0.01 ) //InitialTemperature*0.001 ) return TRUE; else return FALSE; } /********************************************************* CountDownTemperature()——计算外层循环的下降后的温度 输入参数: 1、nowtemp 当前温度 2、DownMode 下降方式,保留 返回值: 下降后的温度,double型 注: 温度下降方式 T(k+1) = K*T(k),K=0.90温度下降方式 T(k+1) = K*T(k),K=0.90 *********************************************************/ double CountDownTemperature( double nowtemp, int DownMode ) { return( 0.90*nowtemp ); } //修正局部最优解 void CorrectOpt(SYRouter ResultRouter,SYRouter OptResultRouter) { if(ResultRouter.m_fTotalDistanceOptResultRouter.m_fTotalDistance) { OptResultRouter=ResultRouter; } } /********************************************************* CreateCityRouter2opt()——从某行走路径的邻域中随机选择一个新的行走路径,邻域映射为2-opt 输入参数: 1、preCityRouter 原先行走路径的vector引用 2、CityRouter 新的行走路径的ve

文档评论(0)

zhanghc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档