题目
如果用遗传算法求取目标函数f(x)= -x^2-3 x∈[3.0,6.0]极小值问题,则适应度函数可以取为( )A. f(x)B. 1/f(x)C. -f(x)D. -1/|f(x)|
如果用遗传算法求取目标函数f(x)= -x^2-3 x∈[3.0,6.0]极小值问题,则适应度函数可以取为( )
A. f(x)
B. 1/f(x)
C. -f(x)
D. -1/|f(x)|
题目解答
答案
C. -f(x)
解析
遗传算法的核心在于通过适应度函数评估个体的优劣,从而进行选择和优化。本题要求极小化目标函数$f(x) = -x^2 - 3x$,但遗传算法默认处理最大化问题。因此,关键思路是将极小化问题转化为最大化问题,通过调整适应度函数实现。
破题关键:
- 目标函数特性:$f(x)$在区间$[3,6]$内单调递减,极小值出现在$x=6$。
- 适应度函数设计原则:需确保最大化适应度函数等价于最小化原目标函数。
- 选项分析:
- 选项C($-f(x)$)通过取反,将极小化$f(x)$转化为最大化$-f(x)$,符合遗传算法的需求。
目标函数分析
$f(x) = -x^2 - 3x$是开口向下的抛物线,在区间$[3,6]$内单调递减。其极小值出现在右端点$x=6$,此时$f(6) = -6^2 - 3 \cdot 6 = -54$。
适应度函数设计
遗传算法需最大化适应度函数。若直接使用$f(x)$(选项A),算法会寻找$f(x)$的最大值,与题目要求的极小化矛盾。
正确方法是将目标函数取反,即适应度函数为$-f(x)$(选项C)。此时,原问题的极小值对应适应度函数的最大值,符合遗传算法的优化方向。
选项排除
- 选项B($1/f(x)$):$f(x)$为负数,导致适应度函数为负,无法有效区分个体优劣。
- 选项D($-1/|f(x)|$):通过绝对值消除了原函数的符号,但倒数关系使适应度函数与原目标函数的极值方向不一致。