声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3896|回复: 7

[人工智能] 关于遗传多目标优化的适应度计算问题

[复制链接]
发表于 2006-7-18 18:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我是一个遗传算法的初学者,用基于pareto解的遗传算法求解多目标优化问题时,遇到一个难点:种群中所有个体的秩求出来以后,它们的适应度如何计算?可以用秩的倒数来代替吗?是否不再需要适应度函数?被这个问题困扰了很久,请高手指点迷津!多谢!
回复
分享到:

使用道具 举报

发表于 2006-7-18 20:27 | 显示全部楼层
不知道个体的秩是什么样的一个概念,是不是和个体的分布有关系啊?
我不清楚你说的秩和适应度函数有什么关系,呵呵。
 楼主| 发表于 2006-7-26 18:51 | 显示全部楼层
在这里秩的概念是这样的:先将多目标函数组成一个向量代表一个个体,假定个体在某一代时种群中有p个个体支配于它,则它在种群内的秩为1+p。
之后按秩对适应度计算方法作如下调整:
1)种群内个体进行排序;
2)按线性插值的方法计算个体适应度,序位为1者为最优个体。
根据资料,有两种pareto排序方法,上面所述为其中的一种。另一种方法好像是把秩的倒数作为个体的适应度。
有人用经由多个目标函数改造后的适应度函数值组成向量代表个体,我不知道该不该用各目标函数的原始表达式?
我的理解很粗浅,不知道是否说明白了,楼上的仁兄请发表高见。

[ 本帖最后由 jasmine200 于 2006-7-26 19:05 编辑 ]

评分

1

查看全部评分

发表于 2006-7-26 19:10 | 显示全部楼层
偶也想知道那!
发表于 2006-9-18 23:33 | 显示全部楼层
原帖由 jasmine200 于 2006-7-26 18:51 发表
在这里秩的概念是这样的:先将多目标函数组成一个向量代表一个个体,假定个体在某一代时种群中有p个个体支配于它,则它在种群内的秩为1+p。
之后按秩对适应度计算方法作如下调整:
1)种群内个体进行排序;
2) ...


我的理解是:每个个体的秩的大小就已经决定了这个个体的优劣程度,可以用它或它的倒数,甚至其他含秩的函数(取决于所研究问题是最大化还是最小化,并可以自由选择合适的函数形式)  来作为个体的适应度。 个体的适应度存在的意义就在于它能够区分不同个体的优劣程度,让更优的个体有更多的选择机会。
如果你用各目标函数的原始表达函数值,因为每个个体存在多个函数值,如何区分对比这些个体的优劣,让较优的个体拥有更多的生存机会呢?当然,如果把每个个体的各目标函数 按照一定的形式,例如叠加,成为一个可以比较优劣的量,也是可以把这个量作为个体的适应度值的。
别管怎么说,你最后得到的必然是一个个体对应着一个能够表征优劣的数值。

不知道我的理解对不对,请高手指点。

[ 本帖最后由 心灯 于 2006-9-18 23:42 编辑 ]

评分

1

查看全部评分

发表于 2006-9-19 19:38 | 显示全部楼层
我感觉楼主说的这个个体的秩,和NSGA里的等级是一样的。这要看你采用什么选择算法了。要是采用常规的轮盘赌就要给不同的秩自己设适应度值的大小。不过一般来说选择的时候不能只考虑PARETO最优解的等级。还要考虑他们分布的均匀程度。所以应该由这两方面来考虑你设定的适应度值的大小。但是如果采用的选择方式是锦标赛,那这些都不需要了。直接就能进行选择好的个体

评分

1

查看全部评分

发表于 2006-9-19 21:52 | 显示全部楼层
原帖由 tz6091 于 2006-9-19 19:38 发表
我感觉楼主说的这个个体的秩,和NSGA里的等级是一样的。这要看你采用什么选择算法了。要是采用常规的轮盘赌就要给不同的秩自己设适应度值的大小。不过一般来说选择的时候不能只考虑PARETO最优解的等级。还要考虑他 ...


有道理。不同的选择算法,对个体的目标函数值,或者说优劣评价指标的要求也不同。

Pareto解的优劣程度通过小生境环境进行评价是比较有效的一种方式,不过目前小生境的半径大多数是人为指定,自适应性比较差。

使用竞标赛方法也要考虑到选择强度和多样化损失的问题,所以确定竞赛规模很重要。

评分

1

查看全部评分

发表于 2008-5-24 23:11 | 显示全部楼层
询问一下,如果这里夺目标优化所谓的“秩”已经求出,并且根据其它书籍的说明,小生镜数也求出的话,重新调整的适应度函数是以哪些东西来靠量的?
   如:初始种群的每个个体的秩为rank(i),每个个体的小生镜数为m(i),重新调整的适应度函数该怎么表达(求多个目标的最小值)。难道每个个体的适应值可以表示是 f(i)=rank(i)/m(i)  ?
    求高手指教!书上总是说,原来的适应度函数除以小生镜数就是新的适应度函数,那么原来的适应度函数又是什么呢?
    谢谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-28 23:42 , Processed in 0.074151 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表