【发布时间】:2025-12-01 23:10:01
【问题描述】:
我是一名数据挖掘专业的学生,我有一个问题希望你们能给我一些建议:
我需要一个优化三个输入之间权重的遗传算法。权重必须是正值,并且它们的总和必须为 100%。
困难在于创建满足总和为 100% 要求的编码。
作为第一遍,我认为我可以简单地创建一个带有一系列数字(例如 4、7、9)的 chrom。每个权重只是它的数量除以所有染色体数量的总和(例如 4/20=20%)。
这种编码方法的问题在于,对染色体的任何改变都会改变所有染色体数目的总和,从而导致所有染色体权重的改变。这似乎大大限制了 GA 开发解决方案的能力。
您能就如何解决这个问题提供任何建议吗?
我已经阅读了有关实值编码的内容,并且我确实有一个 GA 的实现,但它会给我的权重可能不一定会达到 100%。
【问题讨论】:
-
我只会提到遗传算法基本上是最后的优化方法。在您尝试凸出您的问题或开发出良好的启发式方法之后,可以尝试一些东西。不要被它们的“生物灵感”所迷惑,它们是非常低效的算法,需要进行无休止的手动调整。
-
对 GA 来说唯一的好处是他们有一个时髦的名字。如果它们被称为癌症优化器,没有人会使用它们。
标签: algorithm genetic-algorithm