资源简介
基本蚁群算法python代码,程序附带测试数据
代码片段和文件信息
import randomcopy
class Ant:
# 任务个数
n=9
# 机器/集合个数
m=3
# 每个任务的代价
A=[81402646598537115]
# 信息素
xxs=[]
# 初始化每条边的信息素值
init_xxs_value=1
# 信息素挥发因子
p=0.4
# 一次蚂蚁搜索所释放的信息素总量
Q=600
# 总迭代次数
nc=3000
# 搜索结果/符合条件的较好结果
S=[A[][]]
path=[0000000000]
# 蚂蚁数量
ant_number=m
# 初始化信息素列表
def init_xxs(self):
edge_value=[]
# 初始化第0层到第1层选择信息素
for i in range(0self.m):
edge_value.append(self.init_xxs_value)
self.xxs.append(edge_value)
# 初始化第i层到第i+1层选择信息素
for i in range(1self.n):
edge_value=[]
for j in range(0self.m):
temp_list = []
for z in range(0self.m):
temp_list.append(self.init_xxs_value)
edge_value.append(temp_list)
self.xxs.append(edge_value)
# 一只蚂蚁搜索过程,得到一个搜索路径列表,第i个元素j代表在第i层选择第j个集合/机器
def an_ant_search(self):
path_list = [0]
# 从第0层开始搜索,一直到第n-1层每层选择下一层需要安排的任务
for i in range(0self.n):
#生成一个选择随机数[01)
random_number = random.random()
# 获取选择区间列表,如果随机数落在区间[pp+1)上,则选择p
select_random_range_list = self.range_xss(ipath_list[path_list.__len__()-1])
select_set_index = self.select_set(random_numberselect_random_range_list)
path_list.append(select_set_index)
return path_list
# 获取选择区间列表(01)输入第i层,选择了第j个集合,返回第i+1层选择集合的概率区间
def range_xss(selffloor_iset_j):
result_list=[0]
if floor_i == 0:
sum_tao= sum(self.xxs[0])
sum_temp=0
for i in range(0self.m):
sum_temp+=self.xxs[0][i]/sum_tao
result_list.append(sum_temp)
return result_list
else:
sum_temp = 0
sum_tao = sum(self.xxs[floor_i][set_j])
for i in range(0self.m):
sum_temp+=self.xxs[floor_i][set_j][i]/sum_tao
result_list.append(sum_temp)
相关资源
- python核心编程第二版习题答案
- 基于二维伽马函数的光照不均匀的图
- python主题爬取百度新闻
- MySQL-python-1.2.5.win-amd64-py2.7
- nao机器人单个关节运动程序
- Python - Flask 使用Ajax 实现多文件上传
- Python魔鬼训练营系列教程
- 多线程爬虫
- python简单实现-中国象棋
- Python爬虫--抓取百度百科的前1000个页
- nlp肯定句与否定句判断
- 绘制社交网络图的幂律分布python代码
- Python 飞机大战 游戏设计需求 与 实现
- PARZEN窗和K近邻算法的python实现
- windows下fcntl.py
- Python项目案例开发从入门到实战源代
- Python项目案例开发从入门到实战源代
- python写的专家系统玩具分类
- 基于决策树的天气大数据回归例程
- python实现图像的混沌加密解密
- think python 中文版.pdf
- kNN分类器和两个-Python
- TensorFlow实现股票预测的Python代码
- 解压微信小程序源码python文件
- python数据结构与算法
- 支持向量机几个的代码
- Python:网络爬虫抓取豆瓣3万本书-详细
- Python GUI项目:文件夹管理系统代码
- python2.7_批量读取netCDF4文件并输出为
- Python 3网络爬虫开发实战pdf 崔庆才著
评论
共有 条评论