手动终止Scipy Minimize()

时间:2020-08-16 14:39:05

标签: python numpy optimization scipy minimize

我制作了一个使用Scipy的minimize()函数(使用SLSQP求解器)执行多变量约束优化的应用。

某些方案可能需要花费相当长的时间才能进行优化,有时用户可能会无意间触发“漫长的”优化过程,并且可能想要一种方法来终止该过程,修复某些输入然后再试一次。

优化本身是在“后台进程”脚本中完成的,该脚本访问优化任务排队的“任务”数据库表。我还使用minimize()的{​​{1}}函数随着优化过程的进展来更新数据库。

文档说,对于“ trust-constr”,如果callback()返回callback(),则该过程将终止。 此功能对我来说非常理想,但是我使用的是SLSQP求解器(不是trust-constr),但是不幸的是,当我的True返回callback()时,它不会终止求解器。

还有其他方法可以编写代码,以便用户终止优化吗?

我非常确定它需要利用True函数,以便每次迭代都可以检查用户是否单击了“终止”。 我也尝试过callback(),但这会杀死整个后台过程。也许有一种方法可以停止并重新启动后台进程?

0 个答案:

没有答案
相关问题