## 1、遗传算法思路及步骤
```
(1)编码 : 整数排列编码
(2)种群初始化
(3) 适应度函数:走遍n个城市,再回到出发城市的距离的倒数,目的:选择适应度函数大的染色体
(4)选择操作:从旧群体中以一定概率选择个体到新群体中,个体适应度值越大,越容易被选择
(5)交叉操作:部分映射杂交,父代两两分组,每组重复以下操作
<1>产生两个[1,n]区间内随机的整数r1,r2,确定2个位置,对两位置中间数据进行交叉
<2>交叉后,同一个个体有重复的城市编号,则部分映射的方式消除冲突
(6) 变异操作:随机选取[1,n]的2个点,对换位置
(7) 进化逆转操作:随机选取[1,n]的2个点,代入适应度函数进行评估,x选择出适应值大的个体进行下一代的交叉和变异已经进化逆转操作
```
## 2、各个文件的作用:
GA_TSP:是主函数入口
参考:https://blog.csdn.net/viafcccy/article/details/94588749
## 3、程序清单
```python
def getData(): #从文件或直接输入
def readFromExcelByPandas(filename, sheetName='Sheet1'):# 从excel文件里获取数据
def writeToExcelByPandas(filename, excel_list, sheetName='Sheet1'): #数据写入excel文件
def Distance(a): # 计算两两城市之间的距离
def InitPop(NIND, N):#初始化种群
def DrawPath(Chrom, X):#画路径的函数
def OutputPath(R): #输出路径函数
def PathLength(D, Chrom):#计算各个体的路径长度
def Fitness(ObjV):# 适应度函数
def Select(Chrom, FitnV, GGAP):#选择:最优保存选择机制:
def Sus(FitnV, NSel):#选择个体的序引号,锦标赛选择策略
def mySort(nums):# 模拟matlab的排序,返回排序后的数组结构和对应排序前下标位置
def Recombin(Selch, Pc):#交叉操作,避免局部最优解
def intercross(a, b):#部分映射,杂交2个个体
def Mutate(Selch, Pm):#变异操作
def randomperm(N):# 随机产生0-(N-1)的序列
def Reverse(Selch, D):#进化逆转函数
def Reins(Chrom, Selch, ObjV,D):# 重插入子代的新种群,精英选择
```
没有合适的资源?快使用搜索试试~ 我知道了~
C++实现的人工智能原理实验:遗传算法实现TSP算法源代码+实验报告
共40个文件
py:30个
keep:3个
xls:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 196 浏览量
2023-09-08
11:31:38
上传
评论
收藏 1.68MB ZIP 举报
温馨提示
C++实现的人工智能原理实验:遗传算法实现TSP算法源代码+实验报告 1.掌握人工智能中涉及的相关概念、算法; 2.熟悉人工智能中的知识表示方法; 3.掌握问题表示、求解及编程实现; 4.熟悉和掌握遗传算法的基本概念和基本思想; 5.理解和掌握遗传算法的各个操作算子,能够用选定的编程语言设计简单的遗传优化系统; 6.通过实验培养学生利用遗传算法进行问题求解的基本技能。
资源推荐
资源详情
资源评论
收起资源包目录
实验3:遗传算法实现TSP算法.zip (40个子文件)
实验3:遗传算法实现TSP算法
普通的锦标赛选择
Select.py 664B
GA_TSP.py 3KB
Sus.py 2KB
普通的锦标赛选择.doc 834KB
Recombin.py 1KB
citys.xls 26KB
OutputPath.py 276B
PathLength.py 764B
mySort.py 340B
Reins.py 787B
loadFile.py 960B
Mutate.py 541B
Fitness.py 174B
Distance.py 443B
DrawPath.py 1KB
InitPop.py 395B
.keep 0B
Readme.md 2KB
.keep 0B
基于精英保留策略改良的轮盘算法
Select.py 427B
GA_TSP.py 3KB
Sus.py 369B
Recombin.py 1KB
citys.xls 26KB
OutputPath.py 276B
PathLength.py 764B
mySort.py 340B
Reins.py 552B
loadFile.py 960B
流程图.png 132KB
Mutate.py 541B
Fitness.py 174B
实验.doc 1.19MB
Reverse.py 842B
Distance.py 443B
DrawPath.py 1KB
InitPop.py 395B
.keep 0B
Readme.md 2KB
CalculateFrequency.py 1KB
共 40 条
- 1
资源评论
程序员柳
- 粉丝: 6053
- 资源: 1137
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功