Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查优化解算器的收敛性“;ipopt&x201D;使用CheckConvergence()函数_Python_Optimization_Ipopt - Fatal编程技术网

Python 检查优化解算器的收敛性“;ipopt&x201D;使用CheckConvergence()函数

Python 检查优化解算器的收敛性“;ipopt&x201D;使用CheckConvergence()函数,python,optimization,ipopt,Python,Optimization,Ipopt,我使用ipopt解算器来解决Python中的非线性优化问题。ipopt文档说明了一个函数CheckConvergence(),通过该函数可以获得解决方案的收敛状态 我尝试通过以下步骤访问该功能: solver = SolverFactory('ipopt') solver.solve(model) solver.CheckConvergence() 但我得到了一个错误,AttributeError:'IPOPT'对象没有属性'CheckConvergence' 因此,我尝试从定义此函数的文件

我使用ipopt解算器来解决Python中的非线性优化问题。ipopt文档说明了一个函数CheckConvergence(),通过该函数可以获得解决方案的收敛状态

我尝试通过以下步骤访问该功能:

solver = SolverFactory('ipopt')
solver.solve(model)
solver.CheckConvergence()
但我得到了一个错误,AttributeError:'IPOPT'对象没有属性'CheckConvergence'

因此,我尝试从定义此函数的文件IpConvCheck.hpp导入脚本

如果有人能帮我解决这个问题,我将不胜感激


非常感谢您。

前面提到的
CheckConvergence()
函数是Ipopt的
Ipopt::ConvergenceCheck
类中的一个方法。也许它可以通过IoptsC++接口访问,但是你似乎使用了某种Python接口给Ipopt。 我建议与Python接口的创建者联系

但首先,您可能需要重新考虑通过调用此函数来实现什么。在Ipopt完成解决后,它返回一个状态代码,指示Ipopt停止的原因,并且有统计信息可用于获取原始和双重冲突(如果返回了解决方案)。您可能希望检查这些函数(假设它们在Python接口中可用),而不是调用某些用于检查Ipopt是否在当前迭代时终止的Ipopt内部函数