Python 手动终止Scipy最小化()
我制作了一个应用程序,使用Scipy的Python 手动终止Scipy最小化(),python,numpy,optimization,scipy,minimize,Python,Numpy,Optimization,Scipy,Minimize,我制作了一个应用程序,使用Scipy的minimize()函数(使用SLSQP解算器)执行多变量约束优化 有些场景可能需要相当长的时间来优化,有时用户可能会无意中触发一个“漫长”的优化过程,并可能需要一种方法来终止该过程,修复一些输入,然后重试 优化本身在“后台进程”脚本中完成,该脚本访问优化请求排队的“任务”数据库表。我还使用minimize()的callback()函数来随着优化过程的进展更新数据库 文档说明,对于“trust constr”,如果callback()返回True,则进程将终
minimize()
函数(使用SLSQP解算器)执行多变量约束优化
有些场景可能需要相当长的时间来优化,有时用户可能会无意中触发一个“漫长”的优化过程,并可能需要一种方法来终止该过程,修复一些输入,然后重试
优化本身在“后台进程”脚本中完成,该脚本访问优化请求排队的“任务”数据库表。我还使用minimize()
的callback()
函数来随着优化过程的进展更新数据库
文档说明,对于“trust constr”,如果callback()
返回True
,则进程将终止。
此功能对我来说非常理想,但是我使用的是SLSQP解算器(而不是trust constr),不幸的是,当我的callback()
返回True
时,它不会终止解算器
是否有其他方法可以编写代码,以便用户可以终止优化
我很确定它需要使用callback()
函数,这样每次迭代都可以检查用户是否单击了“终止”。
我还尝试了提升SystemExit(0)
,但这会扼杀整个后台进程。也许有办法停止并重新启动我的后台进程?请参阅:请参阅: