没有合适的资源?快使用搜索试试~ 我知道了~
首页人工智能 蚁群算法 旅行商问题 java 报告+代码+详细注释
资源详情
资源评论
资源推荐
蚁群算法求解旅行商问题
人工智能第二次作业
目录
整体结构与功能划分
一总体结构
二类的划分与功能说明
类
类
类
类
类
输入输出格式
一输入信息
城市坐标信息
参数
二输出信息
图形用户界面输出
控制台输出
完整代码见附录
算法优化
(一) 蚁恒模型
(二) 信息素强度及路径信息素初始值
(三) 各参数对算法的影响
运行测试
一传统模型
二蚁恒模型
参考文献
附录
一
二
三 !
四"
五
六"#
整体结构与功能划分
一 总体结构
程序的主类是 ,该类负责绘制图形用户界面并执行蚁群算法。
将蚁群算法中的“蚂蚁”抽象为 类,实现遍历所有城市(选择下一个城市)、计算
本次遍历的路程等功能。
类聚合了 类,完整的实现了蚁群算法,包括迭代遍历、更新信息素等过程。
"# 类将解路径以图形方式显示出来。
另设两个数据类 和 , 类用于保存参数的默认值,主要参数
包括:蚂蚁数量、城市数目、迭代次数、$、%、挥发因子、信息素强度 &、路径信息素
初始值 &。 中存储每个城市的位置信息。
二 类的划分与功能说明
类
定义了各组件对鼠标事件响应方式。图形用户界面为用户提供输入各项参数的窗口
并添加了“使用默认参数”的功能。
当用户点击确定按钮,程序将执行 '()*+,-*".*/函数。首先读取文本
框中参数,初始化 类对象,调用 类的 0*1 方法开始求解过程。
最终结果将以图形化的方式输出到屏幕。输出内容包括:解路径和解路径总长度。
类
设禁忌表,用于记录已访问过的城市;可访问表,记录未达到的城市。设置信息素
变化矩阵,表示一只蚂蚁,在一次遍历中,为经过的路段增加的信息素。距离矩阵存储
任意两个城市之间的路程。
方法 01,234*5656#**负责选择下一个城市。首先根据信息素矩阵
#** 计算概率,使用轮盘赌的方法选择下一城市,并更新禁忌表、可访问表以及
当前城市。
,1,(17*(89#方法的功能是计算一次遍历中走过的路程。
类中的其他方法用于返回该类的某些属性或对属性进行设置。
类
类的属性如下图所示:
图 类的主要属性
其中 0 是 类对象,(、:;+<=、1#$、>%、#* 将通过图形界
面中用户输入的参数设定。
#** 是信息素矩阵,表示城市与城市之间每一段路程上的信息素含量;
>089#、>07*( 分别指最优解的总长度和最优解路径的节点顺序。
?方法将完成对 对象的初始化。首先从 类中读入每个城市的坐标信息,
计算距离矩阵;将信息素矩阵的所有元素初始化为 ,>089# 初始化为正无穷;并
按照指定的数目初始化蚁群。
0*1方法实现核心求解过程。在每次迭代中,蚂蚁逐个进行城市遍历,所有蚂蚁遍
历过一次后,更新信息素矩阵;迭代 :;+<= 次后,得到最优解。
(/"#**方法用于更新信息素矩阵,用 #* 计算信息素挥发对信息素总量
的影响;累加所有蚂蚁“信息素变化矩阵”的对应值,计算一次迭代后信息素增量。
类
当用户勾选“使用默认”单选框时,将调用 中的参数默认值。
类
该类中的 / 属性是二维数组,每行元素的三个值依次为:城市 /、城市横坐标、
纵坐标。
9/方法用于返回某一指定元素的值,即指定城市的横坐标或纵坐标
输入输出格式
一 输入信息
城市坐标信息
二维数组 / 中的一行对应一个城市的信息,每行的三个值依次为:城市 /、城
市横坐标、纵坐标。如:@AAB。
参数
参数主要通过图形界面传入,其中蚂蚁数量、迭代次数为整型;$、%、挥发因
子为浮点型。也可以采用默认参数。
二 输出信息
图形用户界面输出
以图形方式输出解路径和解路径总长度。
控制台输出
输出程序执行进度如正在执行的模块、解路径和解路径总长度。
完整代码见附录
算法优化
(一) 蚁恒模型
本程序原使用传统模型,即:
Δτ
ij
k
=
{
Q
L
k
当第 k 只蚂蚁在本次周游中(t →t +n 时段)经过路径 a
ij
时
0 否则
剩余30页未读,继续阅读
更像个气球
- 粉丝: 5
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论3