Math 遗传算法的适应度函数及其选择

Math 遗传算法的适应度函数及其选择,math,genetic-algorithm,evolutionary-algorithm,Math,Genetic Algorithm,Evolutionary Algorithm,我试图设计一个非线性适应度函数,在这里我最大化变量a,最小化变量B。问题是最大化a在个位数的值,几乎是对数的情况下更重要。B需要最小化,与A相比,它在较小(小于1)时变得不那么重要,而在较大(>1)时变得更重要,因此呈指数衰减 主要目标是优化A,所以我猜模拟是A=利润,B=成本 我的目标是保持一切积极,以便我可以使用轮盘赌轮选择,还是使用排名/排名系统更好?我的算法的目的是形状优化 感谢描述非常模糊,但是假设您确实知道函数应该是什么样子,并且您只是想知道是否需要修改它以便可以轻松使用比例选择,那

我试图设计一个非线性适应度函数,在这里我最大化变量a,最小化变量B。问题是最大化a在个位数的值,几乎是对数的情况下更重要。B需要最小化,与A相比,它在较小(小于1)时变得不那么重要,而在较大(>1)时变得更重要,因此呈指数衰减

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

我的目标是保持一切积极,以便我可以使用轮盘赌轮选择,还是使用排名/排名系统更好?我的算法的目的是形状优化


感谢

描述非常模糊,但是假设您确实知道函数应该是什么样子,并且您只是想知道是否需要修改它以便可以轻松使用比例选择,那么就不需要了。不管适应度函数如何,您可能应该默认使用类似锦标赛选择的内容。控制选择压力是你必须做的最重要的事情之一,这样才能获得始终如一的好结果,而轮盘赌轮选择不允许你进行这种控制。你通常在很早的时候就受到巨大的压力,这会导致过早收敛。在一些情况下,这可能更可取,但这不是我开始调查的地方。

考虑多目标问题时,目标通常是确定位于帕累托曲线上的所有解决方案,即帕累托最优集。祝你好运。当算法完成时,您需要一组不受任何其他解决方案支配的解决方案因此,您需要定义一个帕累托排名机制,将这两个目标考虑在内——以便进行更深入的解释,以及链接到更多阅读

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


你还需要确保你的变异和交叉算子也得到了正确的调整。随着进化算法的任何新应用,问题的一部分是试图确定问题域的最佳参数集。。。这才是真正有趣的地方

您对健身功能的描述似乎不完整。你已经推导出了它的数学公式吗?看一下这个主题-也许它能帮助你构造正确的适应度函数。你关心局部极小值和极大值吗?否则,我会考虑实现一个更简单的爬山搜索:我现在的适应度函数类似于(x+1)/sqrt(1+y^2/2^2)o,y值为1.3 vs.8并不重要,但值为3.0确实重要。我对帕累托排名的理解是,我需要一个更大的人口规模,大约100人,这是我选择适应度函数的主要原因。不过,我应该能够尝试实现帕累托排名。