【问题标题】:Circular/Radial Bounds for SciPy minimize functionSciPy 最小化函数的圆形/径向边界
【发布时间】:2021-06-24 12:53:53
【问题描述】:

我正在尝试使用优化子模块中的 SciPy 最小化函数来优化曲面方程,该曲面方程的边界在 x-y 平面原点半径 0.15 以内。

ans = minimize(minimum_objective_3d, (.10,.10), args=(args), bounds=[(-.150,.150),(-.150,.150)])

我了解我使用的 bounds 参数指定了操作的矩形边界。我的问题是......有没有办法将那些绑定指定为以原点为中心的圆形半径?

提前感谢您的帮助。

【问题讨论】:

  • 取决于型号。如果模型可以用极坐标表示,则可以对距离进行限制。
  • 有没有办法将边界确定为 x 和 y 的不等式?如 sqrt(x^2 + y^2)
  • 这不是一个界限,而是一个不等式约束。

标签: python python-3.x optimization scipy


【解决方案1】:

我同意 Erwin 关于模型转换的观点。支持有界约束的求解器有很多,支持不等式约束的求解器很少。如果您仍想使用不等式约束,则 COBYLA 或 SLSQP SciPy 求解器支持它们。或者您可以查看 Mystic 优化库 (https://github.com/uqfoundation/mystic)。

【讨论】:

    猜你喜欢
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 2016-05-27
    • 2018-01-30
    • 2015-02-18
    相关资源
    最近更新 更多