39

我想知道在商业代码中找到遗传算法方法有多普遍。

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

4

7 回答 7

22

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

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

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

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

有许多问题可能会从 GA 中受益,并且在未来它们可能会得到更广泛的部署。我相信 GA 在尖端工程中的使用比人们想象的要多,但是大多数人(就像我的公司一样)非常严密地保护着这些秘密。不久之后,才发现使用了 GA。

大多数处理“普通”应用程序的人可能对它们没有太多用处。

于 2009-01-23T06:55:38.950 回答
12

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

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

于 2008-11-20T07:59:19.540 回答
4

我在硕士论文中使用了 GA,但在那之后,我在日常工作中没有发现任何 GA 可以解决的问题,而我无法用其他算法更快地解决。

于 2008-11-20T08:01:51.500 回答
3

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

于 2008-11-20T07:53:00.677 回答
3

我认为在日常商业代码中找到遗传算法并不常见。它们更常见于学术/研究代码中,在这些代码中,找到“最佳算法”的需求不如找到问题的好解决方案的需求重要。

尽管如此,我还是咨询了几个使用 GA 的商业项目(主要是因为我参与了GAUL)。我认为最有趣的例子是在一家生物技术公司。作为药物发现应用程序的一部分,他们使用 GA 优化了用于虚拟筛选的评分函数。

今年早些时候,在我现在的公司,我为我们的一个产品添加了一项新功能,该产品使用另一个 GA。我想我们可能会从下个月开始营销这个。基本上,GA 用于探索具有与蛋白质结合潜力的分子,因此可以作为靶向该蛋白质的药物进行进一步研究。也使用 GA 的竞争产品是EA 发明者

于 2009-03-20T13:12:00.230 回答
3

As part of my thesis I wrote a generic java framework for the multi-objective optimisation algorithm mPOEMS (Multiobjective prototype optimization with evolved improvement steps), which is a GA using evolutionary concepts. It is generic in a way that all problem-independent parts have been separated from the problem-dependent parts, and an interface is povided to use the framework with only adding the problem-dependent parts. Thus one who wants to use the algorithm does not have to begin from zero, and it facilitates work a lot.

你可以在这里找到代码。

您可以使用此算法找到的解决方案已在科学工作中与最先进的算法 SPEA-2 和 NSGA 进行了比较,并且已证明该算法的性能相当甚至更好,具体取决于您的指标采取措施来衡量性能,尤其是取决于您正在寻找的优化问题。

你可以在这里找到它。

此外,作为我的论文和工作证明的一部分,我将这个框架应用于投资组合管理中的项目选择问题。它是关于选择最能为公司增加价值、最支持公司战略或支持任何其他任意目标的项目。例如,从特定类别中选择一定数量的项目,或最大化项目协同效应,...

我的论文将此框架应用于项目选择问题: http ://www.ub.tuwien.ac.at/dipl/2008/AC05038968.pdf

之后,我在财富 500 强之一的投资组合管理部门工作,他们使用商业软件,该软件也将 GA 应用于项目选择问题/投资组合优化。

更多资源:

框架的文档:http: //thomaskremmel.com/mpoems/mpoems_in_java_documentation.pdf

mPOEMS 演示文稿: http ://portal.acm.org/citation.cfm?id=1792634.1792653

实际上,只要有一点热情,每个人都可以轻松地将通用框架的代码改编为任意多目标优化问题。

于 2010-12-31T12:29:10.100 回答
0

LibreOffice Calc 在其 Solver 模块中使用它。

于 2021-05-06T15:53:09.357 回答