3.3 实验结果及分析

本书采用21个标准测试函数来测试学习型遗传算法的优化绩效。普通测试函数F1~F15如附录A所示,这15个测试函数均选自文献[180];组合测试函数F16~F21如附录B所示,这6个测试函数均选自文献[221]。本书用到的21个测试函数的相关属性信息如表3.4所示,所有组合测试函数的全局最优值目前还是未知的。

表3.4 本书用到的21个测试函数的相关属性信息

3.3.1 参数设置

本书采用Visual C++语言实现了求解函数优化问题的学习型遗传算法[181],所有实验均是在台式计算机中完成的,该计算机的处理器为奔腾双核2.0GHz,内存为2.0G。通过多次实验,本书最终确定了一组适合于求解函数优化问题的学习型遗传算法[181]的参数组合(如表3.5所示)。在种群初始化阶段,可行解空间被分割成B份,每个变量被离散化(平均分割)为Q1个水平,最终得到G个初始个体。在量化正交交叉算子[180]中,将由父代个体决定的求解空间分割成F份,每个变量被离散化(平均分割)为Q2个水平;MI和SI为控制学习型遗传算法运算过程(终止条件)的两个参数。在表3.5中,参数组合1是求解普通测试函数F1~F15时所使用的参数组合;参数组合2是求解组合测试函数F16~F21时所使用的参数组合。

表3.5 求解函数优化问题的学习型遗传算法的参数组合

3.3.2 几种典型的函数优化方法

为了验证求解函数优化问题的学习型遗传算法[181]的优化绩效,本书将学习型遗传算法与以下5种方法进行了对比研究。

  • OGA/Q:orthogonal genetic algorithm with quantization[180]。OGA/Q应用实验设计方法来提高遗传算法的性能,使其优化结果的正确性更高、满意度更好。OGA/Q采用量化技术来辅助正交实验设计方法,并采用这种合成方法在可行解空间中产生离散分布的初始种群点。OGA/Q应用量化技术和正交设计方法构造了一种新的量化正交交叉算子,该算子能生成一组小规模的具有代表性的后代预备点。实验结果表明,OGA/Q方法比现有的5种优化算法具有更强的竞争力[180]。OGA/Q方法的终止条件为:经过1000次迭代后,如果得到的全局最优解在连续50次迭代中没有被改进,则立即结束优化过程。
  • HTGA:hybrid Taguchi-genetic algorithm[222]。Tsai等人深入发掘正交试验设计的分析机制,将正交试验设计的信噪比(signal-to-noise ratio,SNR)引入遗传算法中,提出一种全新的HTGA算法。在HTGA中,他们运用SNR方法对优化结果进行分析,预测出使实验结果最优的各个因素水平,从而将这些因素水平组合成为当前优化问题的最佳个体。从实验结果来看,HTGA确实提高了算法的搜索精度和全局搜索能力[222]。HTGA方法的终止条件为:如果所得到的全局最优值小于等于OGA/Q方法所得到的平均优化结果,则立即结束优化过程。
  • G3-PCX:a steady-state,elite-preserving,scalable,and computationally fast population-alteration model(G3)with the generic parent-centric recombination operator(PCX)[223]。实验结果表明,G3-PCX方法明显优于其他演化算法[223]。提到的G3-PCX的优化结果均来自文献[221],其终止条件被设置为:当目标函数的评价次数超过50000次时,则立即结束优化过程。
  • CPSO:cooperative particle swarm optimizer[224]。粒子群优化方法(particle swarm optimizer,PSO)是一种随机的基于种群的优化技术。CPSO方法将协同行为引入传统的PSO方法中,极大地提高了改进方法的优化绩效。CPSO方法采用多个种群以协同方式来优化方案向量的不同组件(部件)。实验结果表明,CPSO方法的优化绩效明显优于其他PSO方法[224]。提到的CPSO的优化结果均来自文献[221],其终止条件被设置为:当目标函数的评价次数超过50000次时,则立即结束优化过程。
  • CLPSO:comprehensive learning particle swarm optimizer[225]。CLPSO将一种新颖的学习策略引入粒子群优化方法中,采用其他粒子的历史最优信息来更新当前粒子的运动速率。这种策略能有效地保证当前种群中个体的多样性,从而避免了CLPSO方法过早地收敛于局部最优点。实验结果表明:在求解多模态函数优化问题时,CLPSO方法优于其他8种不同版本的粒子群优化方法[225]。提到的CLPSO的优化结果均来自文献[221],其终止条件被设置为:当目标函数的评价次数超过50000次时,则立即结束优化过程。

3.3.3 普通测试函数的实验结果

本节主要介绍学习型遗传算法(KGA)和两种现有方法(OGA/Q和HTGA)在求解普通测试函数时所展现出来的不同的优化绩效。现有方法OGA/Q和HTGA在求解函数优化问题时均表现出了非常卓越的性能。采用方法OGA/Q、HTGA和KGA求解不同测试函数F1~F15的优化结果如表3.6和表3.7所示。

表3.6 采用三种方法求解普通测试函数的平均最优值结果

表3.7 采用三种方法求解普通测试函数的目标函数平均评价次数

从表3.6的实验结果中可以看出:

  • 学习型遗传算法基本上能求得大部分测试函数的最优值。在15个测试函数中,学习型遗传算法能求得其中10个测试函数的最优值。
  • 从优化结果(平均最优值)来看,学习型遗传算法明显优于OGA/Q方法。在15个测试函数中,有7个测试函数的优化结果是演化学习型遗传算法优于OGA/Q方法;有7个测试函数的优化结果相同(两种方法均求得了全局最优值);仅有1个测试函数的优化结果是OGA/Q方法优于学习型遗传算法。
  • 从优化结果来看,学习型遗传算法略优于HTGA方法;在15个测试函数中,有4个测试函数的优化结果是学习型遗传算法优于HTGA方法;有7个测试函数的优化结果相同;仅有2个测试函数的优化结果是HTGA方法优于学习型遗传算法;还有2个测试函数,HTGA方法并没有给出实验结果。

从表3.7的实验结果中可以看出:

  • 从计算效率(目标函数的平均评价次数)来看,学习型遗传算法明显优于OGA/Q方法。在15个测试函数中,有10个测试函数的计算效率是学习型遗传算法高于OGA/Q方法;仅有5个测试函数的计算效率是OGA/Q方法高于学习型遗传算法。
  • 从计算效率来看,学习型遗传算法所耗费的目标函数平均评价次数均大于HTGA方法。HTGA方法运用信噪比对结果进行分析,预测出使实验结果最优的各个因素水平,从而组合成为最佳个体,这样就能有效地减少目标函数的评价次数。学习型遗传算法采用多种操作算子在可行域中不断地尝试搜索全局最优解,这样就使得它需要耗费一定数量的目标函数评价次数。

从表3.6和表3.7中可以看出:学习型遗传算法的实验结果在大多数情况下都优于OGA/Q方法;学习型遗传算法在优化结果方面略优于HTGA方法,但由于优化机制的差异使得它在计算效率方面不如HTGA方法。在求解普通测试函数时,学习型遗传算法的优化绩效是相当不错的。

3.3.4 组合测试函数的实验结果

本节主要描述学习型遗传算法和三种现有方法(G3-PCX、CLPSO和CPSO)在求解组合函数优化问题时所表现出来的不同的优化绩效。现有方法G3-PCX、CLPSO和CPSO在求解函数优化问题时都表现出了非常卓越的性能。采用4种方法求解组合函数F16~F21的优化结果如表3.8和表3.9所示。

表3.8 采用4种方法求解组合测试函数的平均最优值结果

表3.9 采用4种方法求解组合测试函数的目标函数平均评价次数

从表3.8的实验结果中可以看出:

  • 从优化结果来看,学习型遗传算法明显优于CPSO方法。对于所有的组合测试函数来讲,学习型遗传算法的优化结果都优于CPSO方法。
  • 从优化结果来看,学习型遗传算法优于G3-PCX方法。在6个组合测试函数中,有5个测试函数的优化结果是学习型遗传算法优于G3-PCX方法;仅有1个测试函数的优化结果是G3-PCX方法优于学习型遗传算法。
  • 从优化结果来看,学习型遗传算法略逊于CLPSO方法。在6个组合测试函数中,有2个测试函数的优化结果是学习型遗传算法优于CLPSO方法;有4个测试函数的优化结果是CLPSO方法优于学习型遗传算法(在4个测试函数中,有2个测试函数的优化结果是比较接近的)。

从表3.9的实验结果中可以看出:在求解组合测试函数时,这4种方法在目标函数的平均评价次数方面没有明显差异。在求解组合测试函数时,学习型遗传算法优于G3-PCX和CPSO方法;同时其优化绩效略逊于CLPSO方法。总的来说,学习型遗传算法在求解组合测试函数时的优化性能是相当令人满意的。