《混沌扰动模拟退火蚁群算法低碳物流路径优化》
《基于模拟退火蚁群算法的机器人路径规划方法》
《_混合蚁群算法在容量约束车辆路径问题中的应用研究》
《_多车场多车型最快完成车辆路径问题的变异蚁群算法》
这里解释一下集中度:
信息素的每一行其实代表了从 横坐标对应的点 到 纵坐标对应的点 的 概率,每行最大值 就是 最有可能选择的点,如果这个概率很大,说明该行信息素已经比较稳定了,这个叫信息集中度;
然后所有行的 信息集中度 最小的已经很大了,说明 整个信息素已经比较稳定了;
我试过这种方法,有一定的效果,需根据实际情况调节参数,主要是在算法后期微调新解;
### 入侵算子 # 信息集中度 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)
《_高速铁路乘务计划编制优化理论与方法研究》
很简单,每次迭代,除了更新 蚁群 的信息素,把历史最优的路径的信息素也更新一下
每次迭代,表现好的蚂蚁才释放信息素,或者 释放 的信息素 权重更大
双重信息素
《_时变多车型下的生鲜农产品配送路径优化模型》