差分进化——一种在连续空间寻找整体最优解的简单有效的启发式算法
(机翻+自己修改)
摘要:
一种最大限度地最小化非线性和不可微的连续空间函数的启发式算法。有更快的收敛速度,需要控制的变量也很少。
关键词:
随机优化,非线性优化,全局优化,遗传算法,进化策略。
1.介绍
涉及连续空间的全局优化的问题在整个科学界普遍存在。一般来说,任务是通过适当地选择系统参数优化某些系统的性质。为了方便起见,系统的参数通常表示为向量。
当成本函数是非线性和不可微分的时,直接搜索方法是选择的方法。其中知名的有遗传算法和进化策略。直接搜索方法的核心是引起参数向量变化的策略。一但变异发生,就必须做出是否接受这个新推导出的参数的决定,大多数直接搜索方法使用贪心策略来做这个决定。根据贪婪策略,接受新生成的参数向量只有当它降低了成本函数的价值。虽然贪婪策略的过程收敛相当快,但它存在被困在局部最小值的风险。
拥有平行搜索技术如遗传算法和进化策略具有一些内置的保护措施,可以防止提前汇聚于局部最小值,通过同时运行几个向量,优秀的参数配置可以帮助其他向量逃避局部最小值。另一种使参数向量逃离局部最小值的方法是模拟退火(放宽贪婪策略,偶尔可以允许上坡(去往非更小值的地方)的行为)。这种移动潜在地允许参数向量爬出局部最小。 并且随着迭代次数的增加,接受向上移动的概率减小。长远来看,也还是满足贪婪策略。
这些直接搜索算法最主要的都是随机改变,是最简单的进化算法,退火算法和遗传算法都有人尝试过了,用户一般要求实际最小化技术应满足这几个要求: