您是否曾在实际应用中使用过遗传算法?

mse*_*ery 36 genetic-algorithm

我想知道在商业代码中找到遗传算法方法是多么常见.

在我看来,某些类型的调度程序可以从GA引擎中受益,作为主算法的补充.

Ste*_*nce 20

遗传算法已在商业上广泛使用.优化列车路线是一种早期应用.最近,战斗机使用GA来优化机翼设计.我在工作中广泛使用了GA来为具有极大搜索空间的问题生成解决方案.

许多问题不太可能从GA中受益.我不同意托马斯他们太难理解了.GA实际上非常简单.我们发现,从优化GA到可能困难的特定问题可以获得大量知识,并且一直管理大量并行计算仍然是许多程序员的问题.

从GA中受益的问题将具有以下特征:

  • 编码潜在解决方案的好方法
  • 计算数值分数以评估解决方案质量的方法
  • 一个大型的多维搜索空间,答案是不明显的
  • 一个好的解决方案足够好,不需要完美的解决方案

有许多问题可能会从GA中受益,并且将来可能会更广泛地部署.我认为,GA比最先进的工程更多地用于尖端工程,但是大多数人(比如我的公司)都非常密切地保护这些秘密.事实上很久之后才发现使用了GA.

大多数处理"正常"应用程序的人可能对它们没有多大用处.

  • 但我认为遗传算法对于"获得"进化/自然选择的基本原理的人来说很简单.我从来没有能够成功地向拒绝进化的人解释GA(不幸的是很多人). (7认同)

Ken*_*ric 10

如果您想查找示例,请查看Postgres的Query Planner.它使用了许多技术,其中一种恰好是遗传.

http://developer.postgresql.org/pgdocs/postgres/geqo-pg-intro.html


Tho*_*sen 3

我没有,但我从我的一个朋友那里听说过这家公司(不记得他们的名字了),它使用变异遗传算法来计算天线(或其他东西)的位置和长度。他们应该(据我的朋友说)在这方面取得了巨大的成功。我认为 GA 对于“普通开发人员”来说太复杂了,无法成为主流。有点像 MapReduce——非常酷,但是太先进了,无法进入“主流”......

  • 我认为这不太复杂。更大的问题是,它是一种非确定性算法,因此您通常无法保证结果的一定质量,因此人们更喜欢其他启发式算法(如果可以的话)。 (4认同)