R:用遗传编程求函数最小值

R:用遗传编程求函数最小值,r,genetic-algorithm,genetic-programming,R,Genetic Algorithm,Genetic Programming,我目前正在使用作为一个遗传编程库。如果有人对另一个库有想法(更好的文档,更积极的开发,等等),我想听听你的建议 问题很简单:给定一个R中有n个参数的函数,我如何使用遗传规划找到全局最小值。我试图修改其中一个,但这个例子似乎使用了线性回归,我认为这不适合我的情况 有人有我可以使用的示例代码吗?我可以推荐使用。有一些算法被实现:遗传算法、进化策略、模拟退火、粒子群优化等等,如果你正在研究实值函数的最小化,这些算法可能会很有趣。该软件是用C#实现的,在Windows上运行。它提供了一个GUI,您可以在

我目前正在使用作为一个遗传编程库。如果有人对另一个库有想法(更好的文档,更积极的开发,等等),我想听听你的建议

问题很简单:给定一个R中有n个参数的函数,我如何使用遗传规划找到全局最小值。我试图修改其中一个,但这个例子似乎使用了线性回归,我认为这不适合我的情况

有人有我可以使用的示例代码吗?

我可以推荐使用。有一些算法被实现:遗传算法、进化策略、模拟退火、粒子群优化等等,如果你正在研究实值函数的最小化,这些算法可能会很有趣。该软件是用C#实现的,在Windows上运行。它提供了一个GUI,您可以在其中优化几个提供的测试功能(Rosenbrock、Schaffer、Ackley等)。还有一个非常好的遗传编程(GP)实现,但从我的印象来看,你不需要GP。在遗传编程中,给定一个未知函数的输出数据,你进化出一个函数。我认为在你的例子中,函数是已知的,你需要找到那些最小化函数输出的参数

该软件的最新主要版本于2010年向公众发布,此后在几个次要版本中进一步开发。我们现在每年发布两次。有一个谷歌小组,你可以寻求帮助,这是越来越活跃,并有一些视频教程显示的功能。查看youtube上的,它在不到3分钟的时间内概述了这些功能。阿芬泽勒教授周围的研究小组——一位元启发式领域的研究人员——开发了这个软件,位于奥地利。我也是这个团体的一员

查看如何在GUI中实现您的功能,或者,如果您知道C#,如何将问题作为插件实现。

我建议您使用。有一些算法被实现:遗传算法、进化策略、模拟退火、粒子群优化等等,如果你正在研究实值函数的最小化,这些算法可能会很有趣。该软件是用C#实现的,在Windows上运行。它提供了一个GUI,您可以在其中优化几个提供的测试功能(Rosenbrock、Schaffer、Ackley等)。还有一个非常好的遗传编程(GP)实现,但从我的印象来看,你不需要GP。在遗传编程中,给定一个未知函数的输出数据,你进化出一个函数。我认为在你的例子中,函数是已知的,你需要找到那些最小化函数输出的参数

该软件的最新主要版本于2010年向公众发布,此后在几个次要版本中进一步开发。我们现在每年发布两次。有一个谷歌小组,你可以寻求帮助,这是越来越活跃,并有一些视频教程显示的功能。查看youtube上的,它在不到3分钟的时间内概述了这些功能。阿芬泽勒教授周围的研究小组——一位元启发式领域的研究人员——开发了这个软件,位于奥地利。我也是这个团体的一员


查看如何在GUI中实现您的函数,或者,如果您知道C#,如何将问题作为插件实现。

您可以使用遗传算法来代替GP来查找具有n个变量的函数的最小值

基本上你要做的是:

  • 分配初始值
  • 生成n个染色体的初始群体
  • While(true)
    • 评估每个染色体的适合度f(x,y)
      • 如果我们得到f(x,y)的满意解→ 退出循环
    • 创建选择方案(锦标赛选择)
    • 选择染色体(选择):
      • 精英主义
      • 交叉
    • 制造突变
    • 改变重复染色体
    • 替换原来的染色体群
  • 结束时

您可以使用遗传算法,而不是GP,来寻找具有n个变量的函数的最小值

基本上你要做的是:

  • 分配初始值
  • 生成n个染色体的初始群体
  • While(true)
    • 评估每个染色体的适合度f(x,y)
      • 如果我们得到f(x,y)的满意解→ 退出循环
    • 创建选择方案(锦标赛选择)
    • 选择染色体(选择):
      • 精英主义
      • 交叉
    • 制造突变
    • 改变重复染色体
    • 替换原来的染色体群
  • 结束时

像全局最小值这样的问题通常需要类似模拟退火的东西。我通过使用差分进化。DEoptim包听起来很有希望。我会研究一下。你可以看看这个软件包。像全局最小值这样的问题通常需要模拟退火。我使用差分进化通过。DEoptim软件包听起来很有希望。我会调查的。你可以看看包裹。谢谢你的回答。HeuristicLab看起来不错,尽管我特别想要R包。所以,它不适合这个项目,但我肯定会把它添加到书签中,以备将来使用。非常类似于我们构建的(java、ASL)。谢谢您的回答。HeuristicLab看起来不错,尽管我特别想要R包。所以,它不适合这个项目,但我肯定会把它添加到书签中,以备将来使用。非常类似于我们构建的(java、ASL)。