通用模拟退火优化算法的 Julia 代码。该代码可以找到连续变量的多模态函数的全局最大值(或最小值)。
使用‘模拟退火’算法最小化连续变量的多模态函数,本文的勘误表可在此处获得
该代码是通用的,可以应用于具有任意数量参数的优化问题。优化参数的个数称为优化空间的维度(代码中用变量“D”表示)。要使用代码,必须定义优化空间的维度和边界
算法最大化函数fitness.jl。存储库中存在的 Fitness.jl 文件中实现了一组基准函数。用户可以使用他/她自己的健身功能。适应度函数的输出需要是单个标量值。对于自定义适应度函数,主优化代码中只需要很少的调整。只有维度 (D) 和边界(数组 bL 和 bU)必须根据适应度函数进行调整。代码应该可以正常工作,无需任何进一步的修改。
优化算法的行为由代码中的以下参数决定:
gmax = 1000; # Maximum number of generations (max iteration number)
Ns = 20; # tests for step variation
NT