模拟退火算法作为一种启发式搜索方法,挺适合用来那些优化问题,是一些难以通过传统方法找到全局最优解的情况。在 MATLAB 实现起来也不复杂,基本上就是设置初始解、温度、降温策略等几个核心参数,通过生成新解、计算接受概率的方式,模拟退火过程,不断调整温度直到找到最优解。对于复杂的旅行商问题或者作业调度问题,模拟退火管用。其实,代码结构简单,核心就包括初始化、循环过程和结束判断,都是一些基本的数学运算和概率判断。你只要理解了每一步的原理,自己写代码也挺顺手的。温度设置得太高陷入局部最优,太低又会过早停下来,所以调参是关键。如果你对模拟退火有兴趣,MATLAB 的实现方式可以参考下面这些资源。