Appearance
18.2.6 演化策略
18.2.6.1 演化原理
演化策略是模拟自然演化的随机优化过程的例子. 它们基于突变、重组和选择三个原理.
1. 突变
从亲本
在正态分布
2. 重组
对于有
以中间形式重组 其后代作为
以离散形式重组 其后代
3. 选择
通过突变和重组,随机形成一组后代. 在随后的选择过程中,目标函数
18.2.6.2 演化算法
每一种演化策略都是基于如下算法:
a) 确定由
b) 在第
c) 通过选择得到最佳的
d) 重复步骤 b) 和 c) 直到满足停止规则. 这个规则可以是满足优化问题的最优判据, 或者是达到指定的代际数, 或者是超过给定的电脑时间, 等等.
18.2.6.3 演化策略的分类
每一个演化策略都由一列参数刻画. 最重要的参数是种群大小
18.2.6.4 生成随机数
为了对演化程序做数值评估, 需要均匀和正态分布的随机变量. 均匀分布的随机变量的值可以从分节第 1100 页 16.3.5.2 中给出的方法得到. 正态分布随机变量则可以根据如下方式从均匀随机变量产生:
博克斯-穆勒 (Box-Muller) 方法 如果
(18.90)
18.2.6.5 演化策略的应用
在实际中, 优化问题通常高度复制. 在这里, 1209 页 18.2.5 中描述的常规优化过程往往并不适合. 演化策略属于非微分解法, 它是基于目标函数值的比较. 这种解法对目标函数的结构要求很简单. 目标函数并不需要可微或连续. 从而这种演化策略适于相当广泛的优化问题.
演化策略的应用并不限于无约束连续优化问题. 带约束的优化问题也可处理, 这里约束是通过在目标函数中添加惩罚项进行处理 (参见第 1221 页 18.2.8 中的罚函数法和障碍函数法). 另一种应用场合是离散演化,这里
18.2.6.6 (1+1)突变一选择策略
这种方法类似于 1209 页 18.2.5 中介绍的梯度法,差别在于方向
1. 突变方式
在第
因子
2. 选择方式
下一代,即第
下面的公式选择:
如果在达到指定的代际数时没有更好的后代, 则此程序终止. 如果这种突变多半会导致后代改善,则可以增加步长. 而如果突变导致后代的改善较小,则应该减少
3. 步长控制
突变步长
(1) 1/5 成功法则 在上一步中成功突变数目与突变总数之比确定成功的比值
(2)突变步长的确定 1/5 的法则是一种粗略的选择,因而在考虑某个具体问题时并不会总是令人满意的. 在一个扩展模型中,步长
18.2.6.7 种群策略
上一节介绍的
1. 演化策略
由于亲本也参与到选择,故种群从一代到下一代的质量不可能更差.
2. 演化策略
与
选择压力 参与选择的个体与种群大小之比定义为选择压力
如果选择压力接近于 1,则这种选择方式几乎没有影响. 大量的后代,即
3. 带重组的 和 演化策略
借助于重组概念, 建立了种群个体之间的某些关系, 从而后代中混合了几个亲本的信息. 为了产生后代,从一组亲本
在前面描述的
4. 带更多个种群的演化策略
上述的演化原理形式上可以扩展到多种群情形. 这就是说, 现在不再是种群个体间的竞争, 而是种群之间的竞争. 因此, 这种演化过程包含两个层级, 并用扩展的记号表示为: