《混沌扰动模拟退火蚁群算法低碳物流路径优化》

 

《基于模拟退火蚁群算法的机器人路径规划方法》

 

《_混合蚁群算法在容量约束车辆路径问题中的应用研究》

 

 

《_多车场多车型最快完成车辆路径问题的变异蚁群算法

这里解释一下集中度:

信息素的每一行其实代表了从 横坐标对应的点  到 纵坐标对应的点 的 概率,每行最大值 就是 最有可能选择的点,如果这个概率很大,说明该行信息素已经比较稳定了,这个叫信息集中度;

然后所有行的  信息集中度 最小的已经很大了,说明 整个信息素已经比较稳定了;

我试过这种方法,有一定的效果,需根据实际情况调节参数,主要是在算法后期微调新解;

 

### 入侵算子
# 信息集中度
pheromone_stand = pheromone / pheromone.sum(axis=1)[:, np.newaxis]
focue_row = sorted(pheromone_stand.max(axis=1))
# print(focue_row)
focue_matrix_max = np.max(focue_row)        # 这里取的最大 信息集中度
focue_matrix_min = focue_row[2]
print(focue_matrix_min, focue_matrix_max)
if focue_matrix_min > 0.25:
# if focue_matrix_max > 0.97:
    if random.random() < 0.3:
        # 归一化 是 为了 和 随机矩阵 数值大小一致,否则加上的扰动效果微乎其微
        # 归一化 而 不是 标准化,因为标准化会产生负数
        # 归一化后 乘以 2,是为了 保持 之前信息素的 正反馈,否则 相当于从头训练,效果不好,且时间很长
        pheromone = ((pheromone - pheromone.min()) / (pheromone.max() - pheromone.min())) * 2 \
                    + np.random.rand(stat_num, stat_num)

 

 

《_高速铁路乘务计划编制优化理论与方法研究》

很简单,每次迭代,除了更新 蚁群 的信息素,把历史最优的路径的信息素也更新一下 

 

每次迭代,表现好的蚂蚁才释放信息素,或者 释放 的信息素 权重更大 

 

 

双重信息素

 

《_时变多车型下的生鲜农产品配送路径优化模型》