- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人工智能 蚁群算法求解旅行商问题 报告、代码、截图
蚁群算法求解旅行商问题------人工智能第二次作业 目录1.整体结构与功能划分2(一)总体结构2(二)类的划分与功能说明2i.NewJFrame 类2ii.Ant类2iii.ACO类2iv.parameter类3v.Data类32.输入输出格式3(一)输入信息3i.城市坐标信息3ii.参数3(二)输出信息3i.图形用户界面输出3ii.控制台输出33.完整代码(见附录)44.算法优化4(一)蚁恒模型4(二)信息素强度及路径信息素初始值4(三)各参数对算法的影响45.运行测试5(一)传统模型5(二)蚁恒模型66.参考文献7附录7(一)NewJFrame.java7(二)Ant.java13(三)ACO.java17(四)Parameter.java23(五)Data.java23(六)NewJFramePath.java24整体结构与功能划分总体结构程序的主类是NewJFrame,该类负责绘制图形用户界面并执行蚁群算法。将蚁群算法中的“蚂蚁”抽象为Ant类,实现遍历所有城市(选择下一个城市)、计算本次遍历的路程等功能。ACO类聚合了Ant类,完整的实现了蚁群算法,包括迭代遍历、更新信息素等过程。NewJFramePath类将解路径以图形方式显示出来。另设两个数据类parameter和Data,parameter类用于保存参数的默认值,主要参数包括:蚂蚁数量、城市数目、迭代次数、α、β、挥发因子、信息素强度Q、路径信息素初始值initQ。Data中存储每个城市的位置信息。类的划分与功能说明NewJFrame 类定义了各组件对鼠标事件响应方式。图形用户界面为用户提供输入各项参数的窗口,并添加了“使用默认参数”的功能。当用户点击确定按钮,程序将执行jButton_actionPerformed (e)函数。首先读取文本框中参数,初始化ACO类对象,调用ACO类的solve方法开始求解过程。最终结果将以图形化的方式输出到屏幕。输出内容包括:解路径和解路径总长度。Ant类设禁忌表,用于记录已访问过的城市;可访问表,记录未达到的城市。设置信息素变化矩阵,表示一只蚂蚁,在一次遍历中,为经过的路段增加的信息素。距离矩阵存储任意两个城市之间的路程。方法selectNextCity(float[][] pheromone) 负责选择下一个城市。首先根据信息素矩阵pheromone计算概率,使用轮盘赌的方法选择下一城市,并更新禁忌表、可访问表以及当前城市。calculateTourLength()方法的功能是计算一次遍历中走过的路程。Ant类中的其他方法用于返回该类的某些属性或对属性进行设置。ACO类ACO类的属性如下图所示:图1 ACO类的主要属性其中ants是Ant类对象,antNum、MAX_GEN、alpha(α)、beta(β)、rho将通过图形界面中用户输入的参数设定。pheromone是信息素矩阵,表示城市与城市之间每一段路程上的信息素含量;bestLength、bestTour分别指最优解的总长度和最优解路径的节点顺序。Init()方法将完成对ACO对象的初始化。首先从Data类中读入每个城市的坐标信息,计算距离矩阵;将信息素矩阵的所有元素初始化为0.1,bestLength初始化为正无穷;并按照指定的数目初始化蚁群。solve()方法实现核心求解过程。在每次迭代中,蚂蚁逐个进行城市遍历,所有蚂蚁遍历过一次后,更新信息素矩阵;迭代MAX_GEN次后,得到最优解。updatePheromone()方法用于更新信息素矩阵,用rho计算信息素挥发对信息素总量的影响;累加所有蚂蚁“信息素变化矩阵”的对应值,计算一次迭代后信息素增量。parameter类当用户勾选“使用默认”单选框时,将调用parameter中的参数默认值。Data类该类中的data属性是二维数组,每行元素的三个值依次为:城市id、城市横坐标、纵坐标。getdata()方法用于返回某一指定元素的值,即指定城市的横坐标或纵坐标输入输出格式输入信息城市坐标信息二维数组data中的一行对应一个城市的信息,每行的三个值依次为:城市id、城市横坐标、纵坐标。如:{ 1,6734,1453}。参数参数主要通过图形界面传入,其中蚂蚁数量、迭代次数为整型;α、β、挥发因子为浮点型。也可以采用默认参数。输出信息图形用户界面输出以图形方式输出解路径和解路径总长度。控制台输出输出程序执行进度(如正在执行的模块)、解路径和解路径总长度。完整代码(见附录)算法优化蚁恒模型本程序原使用传统模型,即:添加蚁恒模型: 可以在图形界面中选择使用传统模型或蚁恒模型。信息素强度及路径信息素初始值当蚁群算法求解过程中出现局部最优解,由于正反馈的作用可能导致局部最优解路径上信息素不断累积,降低算法的全局有哪些信誉好的足球投注网站能力[1]
您可能关注的文档
最近下载
- 2024年中国人工智能行业白皮书.docx
- 大学生国家安全教育读本.docx VIP
- 欧洲规范-NF P94-011-中文.pdf
- 0823S11026-《IP形象设计》-2023版人才培养方案课程教学大纲.docx VIP
- 专题16 【培优小题狂练】阅读理解“标题概括2”题(考情+技法+真题+模拟)-2024年新高考英语二轮复习 原卷版.docx
- 【精心整理】人教初中数知识点总结+公式(完整版).docx
- 三年级上册脱式计算题100道.docx
- 专题15 【培优小题狂练】阅读理解“标题概括1”题(考情+技法+真题+模拟)-2024年新高考英语二轮复习 原卷版.docx
- 2024年河南林业职业学院单招职业技能测试题库(历年真题).docx VIP
- 雅佳电吹管说明书.pdf VIP
文档评论(0)