遗传算法的适应度函数研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(7)
其中[ lm in, lm ax ]是函数 f (x ) 的定义域。
( 4) 计算量 F it (f (x ) ) 不应设计得过于繁复,
应在上述条件下越简单越好。
( 5) 通用性 一个适应度函数的好坏, 还应满
足尽可能广泛的通用性, 使用户在求解种种问题
时, 最好无需改变适应度函数中的参数。
通用性要求是对适应度函数设计的更高一层
Keywords: Genetic a lgo rithm s, F itness function, Function op tim iza tion.
1 引 言
求解复杂函数的最优化问题是遗传算法 (Ge2 netic A lgo rithm s, GA s) 的一个重要的研究方 向。 1971年, Ho llstien 首先在纯数学优化领域中应用 GA s[1]。D e Jong 进一步在函数最优化方面进行了 深入的研究[2], 并提出一组较具代表性的测试函 数。此后, D e Jong 还进行了大量的数值实验并以此 得出了一些具有指导意义的结论。80年代末, Go ld2 berg 对适应度函数做了进一步的研究, 认为目标函 数的线性函数是一种好的形式, 并且提出用动态比 例的适应度函数来提高选择的敏感性 [ 3 ]。
F it (f (x ) ) =
cmax - f (x ) , 0,
当 f (x ) < cmax 时 其它
(3)
这其实是上一种适应度函数的改进。由于 cmax > f (x ) , 本文称这种构造适应度函数的方法为“上界
构造法”。由于参数 cmax需事先预估, 不可能精确, 其 结果常常是适应度函数不灵敏, 影响了算法的性
y- b a
Α
,
F it (y ) = 当 y - b < a 时
(8)
1+
1 y- b
a
Β, 否则
其中 b 的理想值是 m iny = y 3 。由于 y - b = a > 0 时, F it (y ) = 015, 故在理想情况下, a 是适应度值为 015时 y 到 m iny 的距离。Α、Β 是参数, 本文认为通 常可取 Β= 2, 以人为地贬低适应度差的个体, 并且 在 未知 f max 的情况下也能保证 F it (y ) ∈ [ 0, 1 ]; 而 Α= 1、115、015, 即在 b、a 取定的情况下, 提供了三 种适应度函数, 分别如图1的 (a)、(b)、(c) 所示。
献[ 3 ]中所说: 适应度函数设计不当, 有可能会产生
欺骗问题。
3 适应度函数的设计
本文认为, 适应度函数主要应满足以下条件。 ( 1) 规 范 性 适 应 度 函 数 最 好 定 义 为 F it (f (x ) ) : [m inf (x ) , m axf (x ) ]→ [ 0, 1 ], 并且其 值域不宜只局限于 [ 0, 1 ]的一个很小的子区间内。 同 时, 端 点 性 能 最 好 满 足 F it (m inf ( x ) ) = 1, F it (m axf (x ) ) = 0。 不 过, 由 于 m inf (x ) 和 m axf (x ) 通常是未知的, 所以对后两者一般不能强 求。
n
F i ≥ F n- 1, 左边得证。而右边是显然的。
i= 1
引理 1 得证。
记 ∃= m ax{∃ i i= 2, 3, …, n- 1}
引理 2 若 ∃1 ≥
1 2
(n -
2) (n -
1) ∃ (甚至
n- 1
n
∑ ∑ ∃1 ≥ (n i= 2
i) ∃i) ,
则 F1 ≤
1 n
F i ≤ F 2 证明
度函数相似的问题。本文称这种构造适应度函数的
Leabharlann Baidu
方法为“下界构造法”。
212 适应度函数的作用
上面分析了常见的三种形式的适应度函数, 它
们都存在各自的不足之处。那么, 适应度函数的好 坏究竟对 GA s 的性能有多大的影响呢?这里, 通过 两个引理来回答这个问题。
设 n 个个体的适应度函数值 F1≤F2≤…≤
· 58 ·
系统工程与电子技术
1998年
遗传算法的适应度函数研究
辛 香非 朱鳌鑫
航天工业总公司二院七O 六所, 北京 100854
摘 要 本文针对复杂函数的最优化问题, 首先分析了遗传算法中常见的几种适应度函数 的不足, 论证了适应度函数在遗传算法中的重要性。进一步提出了设计适应度函数应满足的五条 标准, 在此基础上给出了一类适应度函数公式, 并对性能进行反复测试。结果表明, 本文的适应度 函数的性能明显优于其它函数, 对提高遗传算法的整体性能也有重要意义。
i= 1
引用公式 (5) , 与引理 1 类似。
以上说明, 对同一群体采用不同的适应度函数
将直接决定优于群体平均适应度的个体和其数目,
势必影响 GA s 的整体性能。而且, 从引理条件来
看, 对适应度函数的要求并不苛刻, 所以当适应度
函数设计不当时, 出现上述情况的可能性还是很大
的。因此, 适应度函数的研究设计十分重要, 正如文
的要求。它能使用户在对所求解函数的全局最优解
的性质完全“无知”的情况下, 由算法在运行过程中
自动修正其中的参数值, 从而一步一步接近最优
解。从另一种意义上说, 这样的适应度函数具有自
适应性。
为使公式看上去更简洁明了, 以下均用 y 替换
f (x )。本文建议的一类适应度函数定义为
1 - 0. 5 ×
数, 即
F it (f (x ) ) = - f (x )
(2)
这种适应度函数简单直观, 但实际应用时, 存在以
下两个问题:
第一, 不满足常用的赌盘选择的非负要求;
第二, 某些待求解的函数的函数值可能彼此相
差十分悬殊, 由此得到的平均适应度值可能不利于
体现群体的平均性能, 将影响算法的效果。 (2)
主题词 遗传, 算法, 函数, 最优设计, 性能分析。
Research on F itness Function in Genetic A lgor ithm s
X in Fei and Zhu A ox in B eij ing Institu te of D a ta P rocessing T echnology , CA S C , 100854
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
第11期
遗传算法的适应度函数研究
· 59 ·
主要有以下三种。
(1) 直接以待求解函数的负值为其适应度函
能。
(3)
F it (f (x ) ) =
1+
1 c+
f (x )
(4)
其中 x 是待求解函数 f (x ) 的一个可行解, 且 c≥0 和 c+ f (x ) ≥0。当- c 是 f (x ) 的下界 m inf (x ) 时, F it (m in f (x ) ) = 1。由于事先不知道 m inf (x ) , 故 c 的取值只能采取保守的估计值, 存在和第二种适应
( 2) 单值、连续 适应度函数 F it (f (x ) ) 应该 是实函数, 并且单值、连续, 但不要求可导。不过, F it (f (x ) ) 的曲线在重要部位, 特别在最优解附近 一般不宜太陡也不宜过于平缓。
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
i= 1
1 n
n
Fi ≤ Fn
i= 1
证明 显然
F i+ 1 = F i + ∃ i
i
∑ = F 2 +
∃ j (i = 2, 3, …, n - 1) (5)
j= 2
i
∑ = F 1 +
∃ j (i = 1, 2, …, n - 1) (6)
j= 1
由已知
F n -
F n- 1 =
Abstract: B a sed on the globa l op tim iza tion of com p lex function s, th is a rticle ana lyses the draw back to som e comm on fitness function s and their im po rtance in genetic a lgo rithm s. M o st im 2 po rtan t of a ll, the a rticle p ropo ses five standa rds tha t fitness function shou ld sa tisfy. B a sed on these standa rds, the a rticle gives its ow n fitness function. Bo th the sep a ra te and com po sitive test2 ing resu lts show tha t the p erfo rm ance of ou r fitness function is better than tha t of the o thers. W e th ink tha t it is im po rtan t to im p rove the w ho le p erfo rm ance of genetic a lgo rithm s.
认为这是一个好的形式。对于在全局最优解 y 3 附
近变化比较缓慢的函数, 用 Α= 015可以使 F it (y )
较灵敏地反映出 y 值的变化情况。另外, 在算法的
(a) Α= 1 (b) Α= 1. 5 (c) Α= 0. 5 图1 三种形式的适应度函数曲线图
之所以取以上三种形式的适应度函数, 是因为 度函数曲线变化得“陡”一些, 只需把公式中的相关
考虑到不同的应用场合。本文建议: 通常可取 Α=
1, 使得适应度值在[ 015, 1 ]之间是线性的, 文献[ 3 ]
设有界集合 S < R n 上的 n 维实函数 f : S →R 存在最小值, 即 ϖ X 3 ∈S (ΠX (X ∈S → f (X 3 ) ≤ f (x ) ) ) (1)
众所周知, 用 GA s 求解上述问题时, 是依靠适 应度函数值的大小来区分每个个体的优劣的。适应 度值大的个体将有更多的机会繁衍下一代, 通常取 高于群体平均适应度值的个体做交叉, 而低于平均 适应度值的个体做变异, 从而一代一代地提高群体 的平均适应度值和最优个体的性能。可见, 适应度 函数在 GA s 中起着决定性作用。为此, 本文以函数 最优化问题为背景, 在现有结果的基础上对适应度 函数做进一步研究。
· 60 ·
系统工程与电子技术
1998年
(3) 合理性 是指适应度函数曲线上, 各点的
适应度值应与解的优劣成反比例, 即
Π x 1, x 2, (x 1, x 2 ∈ [ lm in, lm ax ] ∧ f (x 1) < f (x 2)
→ F it (f (x 1) ) > F it (f (x 2) ) )
Fn, 记
F i+ 1 - F i = ∃ i ≥ 0 ( i = 1, 2, …, n - 1) ;
∃ = m ax{∃ i i = 1, 2, …, n - 2}
引理 1 若 ∃n-
1≥
1 2
(n -
2) (n -
1) ∃ (甚至
∑ ∑ n- 2
∃n- 1 ≥
i∃i) , 则 F n- 1 ≤
2 适应度函数的分析
本节首先从分析常见的适应度函数入手, 进而 探讨适应度函数应该具有的特性。 211 几种常见的适应度函数
从作者所见的文献看, 适应度函数的定义形式
所谓函数最优化问题就是已知 S 和 f , 求 X 3 (不失一般性, 本文只讨论求最小值问题)。
收稿日期: 1997年8月29日
∃n- 1 ≥
1 2
(n -
2) (n -
1) ∃
n- 2
∑ ≥ i∃ i
i= 1
n- 2 n- 2
= ∑∑∃ j
i= 1 j= i
n- 2
n- 2
∑ ∑ =
F1 +
∃j -
i= 1
j= 1
i- 1
∑ F 1 +
∃j
j= 1
n- 2
∑ = (n - 2) F n- 1 -
Fi
i= 1
∑ 所 以 1 n
相关文档
最新文档