蚁群算法:
概要:
主要过程:
状态转移
信息素更新
主要公式:
- 状态转移阶段:
为了避免残留信息素过多而淹没启发信息,在每只蚂蚁走完一步或者完成对所有n个城市的遍历(也即一个循环结束)后,要对残留信息进行更新处理。
由此,t+n时刻在路径(i,j)上的信息量可按如下规则进行调整:
逻辑模型:
信息素更新模型:

Python代码实现:
蚁群类:
蚁群类:初始化 init(self,ID)
1 | def __init__(self, ID): |
蚁群类:初始化数据信息__clean_data()
1 | # 初始数据 |
蚁群类:选择下一个城市()
1 | # 选择下一个城市(input self output= nextcity) |
蚁群类:计算路径距离
1 | def __cal_total_distance(self): |
蚁群类: 移动操作
1 | def __move(self, next_city): |
蚁群类:主函数:迭代一次
1 | # 主函数:迭代一次 |

