现代优化算法学习:模拟退火、遗传算法与蚁群算法

2025 年 8—9 月准备数学建模时,我集中学习了模拟退火、遗传算法和蚁群算法。它们都不保证得到严格的全局最优解,但能在解析方法困难、搜索空间很大或目标函数不可导时寻找质量较好的可行解。

模拟退火:允许暂时走向更差的解

模拟退火从一个初始解出发,不断产生邻域解。新解更好时直接接受;新解更差时,仍以一定概率接受:

\[P=\exp\left(-\frac{\Delta E}{T}\right).\]

温度较高时,算法具有更强的探索能力;温度逐渐降低后,搜索趋于稳定。其关键参数包括初始温度、降温系数、每个温度下的迭代次数和终止温度。它实现简单、对小规模组合优化很实用,但冷却过快容易陷入局部最优,冷却过慢又会增加计算时间。

遗传算法:在种群中进行选择和变异

遗传算法同时维护一组候选解。每个候选解被编码为“个体”,再经历适应度评价、选择、交叉和变异。选择保留较好的方向,交叉组合已有信息,变异则维持种群多样性。

它适合连续或离散参数优化,也能处理没有显式梯度的黑盒目标函数。不过,种群规模、交叉概率和变异概率都会影响收敛速度;如果适应度设计不合理,算法可能优化了错误的目标。

蚁群算法:用信息素积累搜索经验

蚁群算法常用于路径与组合优化。蚂蚁从可行邻域中选择下一节点时,同时考虑边上的信息素浓度和局部启发信息:

\[P_{ij}^{k}=\frac{\tau_{ij}^{\alpha}\eta_{ij}^{\beta}} {\sum_{s\in\mathcal{N}_{k}(i)}\tau_{is}^{\alpha}\eta_{is}^{\beta}}.\]

较短路径会留下更多信息素,使后续搜索更倾向于优质路径;信息素挥发则避免历史经验无限累积。它与路径结构结合自然,但在节点很多时计算量较大,而且信息素过快集中会导致早熟收敛。

三种算法怎样选择

算法 搜索对象 优点 主要风险
模拟退火 单个当前解及其邻域 结构简单,容易实现 对降温策略敏感
遗传算法 一组候选解 适用范围广,可并行评价 参数较多,适应度设计关键
蚁群算法 多条逐步构造的路径 适合 TSP、VRP 等路径问题 收敛较慢,可能信息素停滞

这次学习带来的认识

我最初把这些算法理解成可以直接套用的“高级工具”,后来意识到真正重要的是解的表示、邻域或生成规则、目标函数、约束处理和停止条件。算法名称并不能替代建模:只有先把问题表达正确,搜索过程得到的结果才有意义。

下一步我希望在同一组 TSP 数据上统一实现三种算法,记录最优值、平均值、运行时间和多次重复实验的方差,而不是只展示一次看起来不错的路径图。




Enjoy Reading This Article?

Here are some more articles you might like to read next: