python - 手动终止 Scipy Minimize()
问题描述
我制作了一个使用 Scipyminimize()
函数(使用 SLSQP 求解器)执行多元约束优化的应用程序。
某些场景可能需要相当长的时间来优化,有时用户可能会无意中触发一个“漫长”的优化过程,并且可能想要一种方法来终止该过程,修复一些输入,然后再试一次。
优化本身是在“后台进程”脚本中完成的,该脚本访问优化请求排队的“任务”数据库表。我还使用minimize()
'scallback()
函数来更新数据库的优化过程。
文档说,对于“trust-constr”,如果callback()
返回True
,则该过程将终止。这个功能对我来说是理想的,但是我使用的是 SLSQP 求解器(不是 trust-constr),不幸的是它不会在我callback()
返回时终止求解器True
。
还有其他方法可以编写代码以便用户终止优化吗?
我相当确定它需要使用该callback()
功能,以便每次迭代都可以检查用户是否单击了“终止”。我也试过raise SystemExit(0)
,但这会杀死整个后台进程。也许有办法停止并重新启动我的后台进程?
解决方案
推荐阅读
- html - 引导工具提示没有隐藏,在第二页
- angular - Trustpilot:window.Trustpilot.loadFromElement 未定义(Safari)
- python - PDF 如何正确显示
- pyspark - from_json 在 Apache Spark 3.0 中返回 null
- mysql - 具有特定条件的多个 GROUP BY
- python-3.x - 使用列数不匹配的pyspark将数据框附加到s3中的现有csv文件
- python - Daphne + Channel v3 部署,RuntimeError: no running event loop
- timeout - MediaPipe Iris 在无图像或无人脸图像时卡在等待功能
- go - 将无操作二进制文件与“net”静态链接并关闭 cgo 失败
- google-bigquery - 我们可以在谷歌大查询中同步过去 6 个月的 GA4 数据吗?如果是,我们怎么能?