【问题标题】:How to terminate minimization when certain objective value has been reached (pymoo)当达到某个目标值时如何终止最小化(pymoo)
【发布时间】:2021-08-11 13:35:09
【问题描述】:

pymoo 中,单目标优化存在以下终止标准 (docs):

termination = SingleObjectiveDefaultTermination(
    x_tol=1e-8,
    cv_tol=1e-6,
    f_tol=1e-6,
    nth_gen=5,
    n_last=20,
    n_max_gen=1000,
    n_max_evals=100000
)

但是,我不想在达到某些f_tol 时停止算法,而是在达到某些f_treshold 时停止算法。所以一旦我的最佳适应度值达到这个值,我希望迭代停止。但是,似乎没有选择。有什么变通办法吗?

【问题讨论】:

    标签: python optimization evolutionary-algorithm pymoo


    【解决方案1】:

    您是否尝试在目标表达式中指定您的 f_threshold 值?我不确定这是否是处理此问题的正确方法,但您可以尝试最小化以下情况:

    objective = f_threshold - your_expression
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多