【问题标题】:To maximize the polynomial using Genetic Algorithm使用遗传算法最大化多项式
【发布时间】:2014-12-15 09:59:30
【问题描述】:

如何使用遗传算法最大化低于多项式
F(X) = X3 -97X2 +2700X+200X为非负整数且小于等于31

【问题讨论】:

  • 你要什么?您需要知道什么是遗传算法或它是如何工作的吗?或者如何实施?还是别的什么?
  • 不,只有我需要上面的解决方案。如果你可以,请在 java/cpp 中提供代码。

标签: genetic-algorithm


【解决方案1】:

对于这样的多项式,最好计算F(x) 的导数,即F',并使用F' 计算F 的单调区域(即F(x) 所在的区域)单调递增或递减`。

然后您可以选择最接近单调区域边界的整数,并将您的搜索限制在这少数。

在这里使用遗传算法不太可能有效,因为基因只是一个数字。如果你对基因进行突变,你基本上是在进行局部搜索和切换数字,这可能比查看斜率/梯度效果要差得多。

【讨论】:

  • 有了这么小的搜索空间(32 个数字),我什至不会费心去实现导数。只需遍历X 的可能值,看看哪个值最大。
  • @Degustaf。你说的对。对于这么小的搜索空间,蛮力搜索可以解决任何优化问题。
猜你喜欢
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-18
  • 2013-07-02
  • 2016-09-13
  • 2015-03-12
相关资源
最近更新 更多