本节介绍了一个示例,该示例显示了如何使用模拟退火查找函数的本地最小值。
De Jong的第五个功能是具有许多(25)本地最小值的二维功能:
dejong5fcn.
许多标准优化算法陷入局部最小值。因为模拟退火算法进行了宽的随机搜索,所以捕获在局部最小值的可能性会降低。
笔记:
由于模拟退火使用随机数发生器,因此每次运行此算法时都可以获得不同的结果。看重现你的结果想要查询更多的信息。
在没有约束的情况下运行模拟退火算法,呼叫Simulannealbnd.
在命令行使用目标函数dejong5fcn.m.
,由匿名函数指针引用:
RNG(10,'Twister')%以获得再现性乐趣= @ dejong5fcn;[x,fval] = simulannealbnd(乐趣,[0 0])
这是回报
优化终止:更改最佳函数值小于options.functiontolerance。x = -16.1292 -15.8214 fval = 6.9034
在哪里
X
是算法返回的最后一点。
fval.
是最后一点的目标函数值。
使用优化应用程序运行最小化,
设置您的问题如优化应用程序中所示
点击开始在下面运行求解器并查看结果:
您的结果可能与所示,因为Simulannealbnd.
使用随机数流。