【问题标题】:Why Genetic Algorithm gives different results for optimization of one objective function with same parameters in MATLAB Optimization toolbox?为什么遗传算法在 MATLAB 优化工具箱中对具有相同参数的一个目标函数的优化给出不同的结果?
【发布时间】:2013-04-04 00:56:02
【问题描述】:

您好,我正在使用 matlab 中的优化工具箱来解决我的最小化问题。当我运行求解器时,它会针对具有相同参数的一个问题给出不同的结果。那么如何判断哪一个是最佳答案呢?我需要做的是让求解器为每次运行具有相同参数的结果提供一个结果。非常感谢

【问题讨论】:

    标签: optimization genetic-algorithm genetic-programming


    【解决方案1】:

    遗传算法使用随机抽样方法来创建几代随机候选解决方案。对于许多类型的问题,遗传算法可能会“卡在”局部最优值上,如果其他局部最优值(或全局最优值)距离太“远”,交叉和变异等操作可能无法提供足够的变化来获得“un卡住了”。如果您始终使用相同的参数获得不同的解决方案,那么您会遇到一条有价值的信息:(a)您的参数使您的人口过于同质(缺乏变化),阻止他们偏离局部最优,或者( b) 你的问题不适合遗传算法。

    尝试将您的突变率提高到极端,将算法运行更多代,而不是查看最终种群(因为它的构成会因突变率高而变化无常),而是查看“活过的总寿命” ” 由领先的候选人。

    但是,您的问题一开始就有点令人费解。你问,“哪一个是最好的答案?”好吧,您一定已经定义了一个适合度标准,用于一代一代地“杀死”最不适合的候选人,不是吗?只需计算每个答案的适合度,看看哪个被认为更“适合”。如果两个(或所有)答案都同样合适,那么您的问题可能没有单一的解决方案!

    【讨论】:

      【解决方案2】:

      我想我得到了我的问题的一些解决方案..每次运行的答案不同是因为随机数生成器..我们可以通过控制这个随机数生成器来获得相同的结果

      【讨论】:

      • ...那么它就不再是遗传算法了。你一定对为什么首先使用遗传算法有错误的理解。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-13
      • 1970-01-01
      • 2021-03-03
      • 2012-07-29
      • 1970-01-01
      • 2021-06-13
      相关资源
      最近更新 更多