第四篇 如何用随机算法求解组合优化问题(十二)
清华大学计算机系 马少平
第十二节:性能评价问题
小明:艾博士,遗传算法中有很多参数需要确定,如何进行交叉操作、变异操作,适应函数如何定义等,也都有很多方法,如何评价这些方法的好坏呢?
艾博士:如何对遗传算法的性能进行评价是一件很困难的事情,为此需要确定性能度量方法和一些具有代表性的函数。一般可以用达到最优解时指标函数值的平均计算次数和计算所需要的时间来进行度量。一些学者给出了一些测试函数集,这些函数或者是多峰值的,或者是不连续的,或者是具有一定的噪声的,对于求解他们的最优值具有一定的难度。没有哪种方法在所有问题中都优于其他方法,这就需要一个相对来说比较全面的评价,看每种方法的综合效果如何。下面给出的是一个求函数最小值的测试函数集。
其中:
其中:
其中:
其中:。
作为参考,以上各函数中的n可以分别取以下值(用n(i)表示n在函数 中的值):n(6)=20, n(7)=10, n(8)=10, n(11)=3, n(12)=5。
小明:这些函数有些看起来好复杂啊。
艾博士:这些测试函数都是研究者为测试最优化问题求解方法性能而提出来的,有单峰值的,也有多峰值的,还有存在随机噪声的,可以反映最优问题求解的各种问题。小明可以编写个遗传算法,对各种不同的方法做一个测试。
小明:好的,我回去后写个程序测试一下。
小明读书笔记
用遗传算法求解实际问题时,涉及很多具体实现上的问题,如何评价哪种算法更好是件比较困难的事情,不存在“全胜”的方法。为此研究者提供了一些测试函数集,通过在测试集上的综合比较,测试所用方法的综合性能。
未完待续