只为小站
首页
域名查询
文件下载
登录
首页
实现遗传算法详细代码--TSP问题
实现遗传算法详细代码--TSP问题
上传者:
37783939
|
上传时间: 2022-06-01 17:52:12
|
文件大小: 2KB
|
文件类型: RAR
遗传算法
TSP
python
实验内容与步骤 TSP 问题是一个经典的 NP 问题,很难得到最优解,利用遗传算法,可以比较快的找到近似最优。本实验采用 TSPLIB 的数据,利用遗传算法进行求解。 染色体设计 染色体设计是遗传算法的关键之一,在本实验中,采用基于路径的方法进行设计,即一条完整合法的路径为一个染色体。如 12345678 或 51834762 (以 8 个城市为例)。 交叉编码方式设计 在本实验中采用部分交叉编码方式,编码过程如下: 根据两个父代染色体建立基因对应规则 确定父代中交叉的起始位置、结束位置 互换需要交叉的编码得到子代,对于每一个子代,如果交叉的部分已经在存在,则根据基因对应规则对寻找替换基因 示例:父代 1 : 12345678; 父代 2: 51834762 步骤 1、确定基因对应规则。 父代 1 视角: 1->5、 2->1、 3->8、 4->3、 5->4、 6->7、 7->6、8->2 父代 2 视角: 5->1、 1->2、 8->3、 3->4、 4->5、 7->6、 6->7、2->8 步骤 2、确定交叉起始位置为 4,结束位置为 6。 父代 1 中需要交换的基因为 456 父代 2 中需要交换的基因为 347 步骤 3、通过互换基因得到子代。 子代 1 生成过程:父代 1 中前 3 个基因和后 2 个基因无需互换,遗传给子代 1,得到 123***78 第四个基因 4 需要交换,对应的基因为 3,得到 1233##78。由于基因 3 已经存在于子代 1(位置 3)中,因此将该基因根据对应规则修改为 8,得到1283##78,但基因 8 也已经存在,根据规则修改为 2,得到 1223##78; 2 同样存在,修改为 1,得到 1213##78; 1 也存在,修改为 5,得到 1253##78; 第五个基因 5 需要交换,对应的基因为 4,得到 12534*78; 第六个基因 6 需要交换,对应的基因为 7,得到 12534778,基因 7 已经存在,根据规则修改为 6,得到 12534768,子代 1 编码完成; 用同样的方式编码子代 2(用父代 2 视角的对应规则)。 编码原则 如果交换得到的基因已经存在,保留交换得到的基因、修改由父代遗传下来的基因。基因修改可能会有多次(由于多次冲突),但都只在同一位置进行。 变异编码规则设计 本实验采用交换变异,即在自身染色体中随机挑选两个基因,然后互换位置。 程序实现 1.设定种群数量 2.随机初始化种群染色体并计算适应度 3.根据适应度选择父代进行遗传(根据交叉概率决定是否交叉染色体) 4.根据变异率进行变异操作 5.计算适应度,如达到要求或达到迭代次数则终止算法,否则跳转到第3步
文件下载
立即下载
资源详情
[{"title":"( 1 个子文件 2KB ) 实现遗传算法详细代码--TSP问题","children":[{"title":"遗传算法——TSP问题.py <span style='color:#111;'> 6.42KB </span>","children":null,"spread":false}],"spread":true}]
评论信息
其他资源
stm32F4固件库
hidapi源码以及vs2015编译完成的hidapi.dll,hidapi.lib和hidapi.h文件
三相逆变器仿真模型
protel 99 se 软件 破解版
ZUC算法原理说明及程序代码
QT实现的截图功能
C++控制台游戏之--斗地主
机器人 matlab 程序
VC2015及2017下可以使用的CButtonST
OpenCV图片灰度化
qq_add_friend2020.rar
湖北大学《计算机网络》期末复习重要知识点.pdf
华南X79主板RAID驱动 适用于慢装系统.zip
operating system concepts (7th edition)(中文)
ad9361工程原理图
拓扑线性空间(适合高年级理工类学生自学)
C# 仿写Winfrom计算器,功能完全一样
stdio.h头文件
opencv_ffmpeg_64.dll
Proteus实例集锦,包括电路图、仿真程序,各种各样的电路.zip )
免责申明
【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明
个人信息
点我去登录
购买积分
下载历史
恢复订单
相关资源标签
热门下载
多目标优化算法(四)NSGA3的代码(python3.6)
粒子群多无人机协同多任务分配.zip
EEupdate_5.35.12.0 win10下修改intel网卡mac
IEEE33节点配电网Simulink模型.rar
华为OD机试真题.pdf
Academic+Phrasebank+2021+Edition+_中英文对照.pdf
中国地面气候资料日值数据集(V3.0)2014-2019.zip
安卓开发期末大作业----单词本(源码,任务书,大报告,apk文件)(基于andord studio)
基于傅里叶算子的手势识别的完整源代码(Python实现,包含样本库)
非线性本构关系在ABAQUS中的实现.pdf
商用密码应用与安全性评估——霍炜.pdf
神经·模糊·预测控制及其MATLAB实现PDF + MATLAB程序
房价预测的BP神经网络实现_python代码
银行笔试 信息科技岗部分真题
工程伦理_李正风,丛杭青,王前_北京:清华大学出版社 , 2016.08_P329.pdf
最新下载
【亲测可用】dbForge Studio 2022 for Oracle Enterprise 4.4.49【2月最新版本】
SAP中文手册:仓库管理
空心线圈和磁芯线圈电感计算工具
(MATLAB代码精讲、实际工程经验分享)改进的遗传算法求解带约束的优化问题(通用)
使用STM32CubeMX配置HX711压力传感器模块串口输出数据并屏幕显示(HAL库)
QT+VS点击按钮弹出新窗口的实现
汇编—人名排序程序的实现
Java设计模式之23种设计模式详解
Matlab Simulink三维图形显示模块
摔倒检测数据集 5000+图片 xml和txt标签