在 MAX-MIN 蚂蚁系统 (MMAS) 中,如果尚未找到初始信息素,它如何依赖于最佳解决方案?

In a MAX-MIN ant system (MMAS), how does the initial pheromone depend on the best solution if it's not yet been found?

我正在学习如何将最大最小蚂蚁系统添加到我当前的蚂蚁系统中。据我所读,试验信息素已初始化 tMax,tMax 的计算公式为

tMax = 1 / best tour length

但是,如果它依赖于尚不存在的旅行,那么究竟如何才能将追踪信息素初始化为 tMax?

tMin 还取决于 tMax,这也使得在没有最佳解决方案的情况下无法进行初始化。

在MMAS中,所有的边都被初始化为tauMax,但是tauMax的定义和你上面所说的略有不同:

tauMax <-- 1 / (rho * bestTourSoFarLength),

其中 rho 是蒸发率(通常设置为 0.5),到目前为止(见下文)。 tauMax 在算法执行期间反复更新,每次更新现任最佳巡回赛(到目前为止)。

为了初始化,启发式地构建了一个初始的可行路径。通常,使用随机起始城市的最近邻游览。

回想一下,在蚁群优化 (ACO)/MMAS 等随机优化方法的背景下,我们通常无法在算法终止时证明最佳现有解决方案(游览)的最优性(我们从实践中知道,但是, ACO/MMAS 在某些问题上确实表现良好,最显着的是旅行商问题 (TSP) 的变体)。因此,在诸如此类的上下文中,术语 "best solution" 不严格地表示来自不同作者的不同含义; "best so far"、"best at algorithm termination" 等等,因此在阅读有关该主题的文献时请注意这一点。

最后,请注意,tauMin 取决于——正如您所注意到的——tauMax,但通常不会在初始化后更新。当施加信息素限制时,重要的 "dynamic" 部分是单调递减的 tauMax,而由于蒸发,大多数边缘的信息素最终将落在恒定的 tauMin 处。 tauMin 的合适值由可怕的表达式给出(基于经验数据)

tauMin = tauMax*(1-(0.05)^(1/n))/((n/2-1)*(0.05)^(1/n)).