适应度函数与遗传算法的选择

时间:2011-07-17 20:59:59

标签: math genetic-algorithm evolutionary-algorithm

我正在尝试设计一个非线性适应度函数,其中我最大化变量A并最小化变量B.问题是最大化A在单个数字值上更重要,几乎是对数。 B需要被最小化并且与A相反,当小(小于1)时它变得不那么重要并且当它变大(> 1)时变得更重要,因此指数衰减。

主要目标是优化A,所以我猜模拟是A =利润,B =成本

我是否应该保持一切正面,以便我可以使用轮盘赌选择,还是更好地使用等级/种类的系统?我的算法的目的是形状优化。

由于

2 个答案:

答案 0 :(得分:4)

在考虑多目标问题时,目标通常来识别位于帕累托曲线上的所有解决方案 - 帕累托最优集。有一个look here for a 2-dimensional visual example。当算法完成时,您需要一组不受任何其他解决方案支配的解决方案。 因此,您需要定义一个帕累托排名机制,以考虑这两个目标 - 以获得更深入的解释,以及指向更多阅读的链接,go here

考虑到这一点,为了有效地探索帕累托前沿的所有解决方案,您不希望实现鼓励过早收敛,否则您的算法将只探索一个特定区域中的搜索空间帕累托曲线我将实现一个选择运算符,它保留每个迭代的最佳解决方案集的所有成员,即所有解决方案不受另一个+ +加上其他解决方案的参数控制百分比的支配。这样,您就可以沿着帕累托曲线进行探索。

您还需要确保您的变异和交叉运算符也能正确调整。随着进化算法的任何新颖应用,问题的一部分是试图为问题域确定一个最佳参数集......这是它真正有趣的地方!!

答案 1 :(得分:0)

描述非常模糊,但假设您实际上已经知道函数应该是什么样的,并且您只是想知道是否需要修改它以便可以轻松地使用比例选择,那么不。无论健身功能如何,您都应该默认使用锦标赛选择等。控制选择压力是您必须要做的最重要的事情之一,以获得始终如一的良好结果,轮盘赌选择不允许您控制。你通常很早就会受到巨大的压力,从而导致过早收敛。在少数情况下这可能更好,但这不是我开始调查的地方。

相关问题