问题标签 [ipopt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
585 浏览

python - 如何更改 CyIPOPT 的 setup.py

我想在 Windows 10 和 python 版本 3.5.2 上安装 python 包 CyIpopt ( https://github.com/matthias-k/cyipopt )。对于我使用的二进制文件http://www.coin-or.org/Binaries/Ipopt/Ipopt-3.10.1-Win32-Win64-dll.7z(我解压了)。github 页面提供了安装说明。有一次它说:

下载 cyipopt 的源文件并更新 setup.py 以指向 Ipopt 包的头文件和二进制文件,如果未设置 LD_LIBRARY_PATH 和 pkg_config 以自行查找 ipopt。

我从 github 下载了源文件并编辑了 setup.py 文件,将第 33-36 行更改为:

这些点代表我计算机上这些文件夹的路径。现在当我运行时python setup.py install,它运行成功。但是,当我然后运行时pythonimport ipopt我收到以下错误:

回溯(最后一次调用):文件“”,第 1 行,在文件“C:\Users\Linthorst\Miniconda3\lib\site-packages\ipopt-0.1.6-py3.5-win-amd64.egg\ipopt__init__ .py",第 40 行,从 cyipopt 导入 * ImportError:没有名为 'cyipopt' 的模块

我怀疑我错误地更改了 setup.py 文件(因为我做了有根据的猜测)。我很困惑它已安装但不起作用。有人可以帮我解决这个错误吗?提前谢谢了

0 投票
1 回答
1114 浏览

python-2.7 - Anaconda 安装 pyipopt: libipopt.so.1

我对 Python 和编译 C 的大部分方面都是全新的。

我的默认 python 解释器是 python 2.7 的 anaconda 解释器。我正在尝试按照以下说明安装 pyipopt:https ://github.com/xuy/pyipopt 。Pyipopt 安装到/usr/local/lib/python2.7/dist-packages/pyipopt,但是当我尝试时import pyipopt收到一条错误消息,提示找不到 pyipopt。

然后我尝试将安装的文件夹复制到 Anaconda 的 pkgs 文件夹中。起初它说Error: import pyipopt ImportError: can not find libipopt.so.1,但后来又说我注销并重新登录后没有找到 pyipopt。

然后我尝试将安装的文件夹复制到{anaconda_dir}/lib/python2.7/site-packages中,但它又说Error: import pyipopt ImportError: can not find libipopt.so.1。github 页面上的故障排除部分说要复制libipopt.so.1到 ld 可访问的文件夹中,但我不确定哪个文件夹适合该账单。

有人可以简要解释一下python如何找到C库或其他.so库吗?谢谢。

0 投票
1 回答
394 浏览

ipopt - Pyomo Ipopt 不返回解决方案

我的脚本是:

虽然这是一个非常简单的问题,虽然程序声明它找到了最优解,但解的数量为 0,并且没有显示任何解。

有任何想法吗??

非常感谢。

0 投票
0 回答
700 浏览

r - 为 Ipopt 安装 R 接口

我和这里的海报有完全相同的问题,不幸的是,该链接没有提供解决方案。

我使用 Cygwin 在 Windows 7(64 位)上构建并安装了 IPOPT(版本 3.12.6),但我似乎无法让 R 界面工作。所有命令(配置、制作、制作安装、制作测试)均已正确执行。

当我尝试从 RStudio 构建 R 界面时,我尝试使用“build”文件夹中的代码以及主目录中的代码。我收到以下错误:

`>install.packages("C:/cygwin64/home/Ipopt-3.12.6/build/Ipopt/contrib/RInterface", repos=NULL, type="source")

错误:

cygwin64/home/Ipopt-3.12.6/build/Ipopt/contrib/RInterface/DESCRIPTION'

不使用构建目录:

`>install.packages("C:/cygwin64/home/Ipopt-3.12.6/Ipopt/contrib/RInterface", repos=NULL, type="source")

错误:

  • 安装包 'ipoptr' ... ** 库

*** arch - i386 警告:运行命令'make -f "Makevars.win" -f "C:/Users/~1/DOCUME~1/R/R-33~1.1/etc/i386/Makeconf" -f "C:/Users/~1/DOCUME~1/R/R-33~1.1/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="ipoptr. dll" ' 有状态 127 错误:包 'ipoptr' 的编译失败 * 删除 install.packages 中的 'C:/Users/Documents/R/R-3.3.1/library/ipoptr' 警告:运行命令 '"C:/用户/~1/DOCUME~1/R/R-33~1.1/bin/x64/R" CMD INSTALL -l "C:\Users\Documents\R\R-3.3.1\library" "C:/cygwin64 /home/Ipopt-3.12.6/Ipopt/contrib/RInterface"' 在 install.packages 中有状态 1 警告:安装包'C:/cygwin64/home/Ipopt-3.12。6/Ipopt/contrib/RInterface' 具有非零退出状态

有谁知道我能做些什么来解决这个问题?

编辑:安装 RTools 并将其添加到我的 PATH 后,我得到ipoptr.cpp:22:34: fatal error: IpIpoptApplication.hpp: No such file or directory #include "IpIpoptApplication.hpp",即 ipoptr.cpp 似乎找不到 IpIpoptApplication.hpp (它位于构建文件夹的子目录中),后来在错误中仍然相同Warning: running command 'make -f "Makevars.win" -f ' had status 2...。将此文件复制到 ipoptr.cpp 的位置会将错误文件进一步移动到另一个找不到的类似文件。我怀疑它找不到这些文件,因为我的 makevars.win 文件有问题(我怀疑该文件应该指向当前丢失的文件)。有谁知道这可能是什么?

编辑 2:可能与此处的注释有关,表明在某些情况下应该设置 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$IPOPTDIR/build/lib?我该怎么做呢?这应该在 R 或 cygwin 中完成吗?

0 投票
1 回答
878 浏览

visual-c++ - 需要用于 x64 位 Windows 库的 IPOPT(MUMPS 求解器)

我正在尝试在使用 IPOPT-MUMPS 求解器二进制文件 (Lib) 的 Visual Studio 2013 中将项目构建为 x64 配置

尝试从以下链接下载兼容的二进制文件:http: //www.coin-or.org/download/binary/Ipopt/

不幸的是,我找不到任何与 Visual Studio 2013 兼容的 x64 位二进制文​​件。

如何获取 Visual Studio 2013 的 MUMPS 求解器的 x64 IPOPT 二进制文件(调试和发布模式)

如果 x64 位 VS2013 兼容二进制文件不可用,那么任何创建相同的详细步骤将不胜感激。

0 投票
2 回答
376 浏览

performance - 在非线性求解器中,什么影响求解器时间与 NLP 函数评估?

我在理解非线性优化中的性能如何受求解器引擎接口的特定方式影响时遇到了一些困难。

我们有一个优化模型,它的第一个版本是用 GAMS 编写的。IPOPT(一种常见的 FOOS 非线性求解器引擎)在 IPOPT(无函数评估)中为每个优化返回 1.4 CPU 秒的执行时间,在函数评估中返回 0.2 CPU 秒的执行时间。

当我们将模型转换为 C++(为了更好地考虑模型的非优化组件)并通过其 C++ API 连接 IPOPT(使用 ADOL-C 和 ColPack 进行 AD)时,我们在 IPOPT 中获得了 0.7 秒的执行时间和 9.4 秒函数评估中的秒数(IPOPT 的改进可能是由于通过源代码编译 IPOPT,我们能够使用 GAMS 版本的 IPOPT 中不可用的更好的线性求解器)。

因此,使用 C++(诚然使用了优化不佳的代码)给我们的结果比 GAMS 慢了约 50 倍,部分由更好的求解器时间补偿。

我们现在正在评估将模型转换为其他语言的可行性,无论是 Python 与 Pyomo,还是 Julia 与 JuMP。

但我们首先想了解求解器在每一步所做的函数评估如何依赖于所实现的特定语言。

使用 C++,很明显创建优化模型的函数在每次迭代时都直接执行(评估),因此它们的实现方式很重要(特别是,梯度和 hessian 每次都重新计算,至少在我们的实现中) .

Pyomo 和 JuMP 怎么样?是在 Python 和 Julia 中评估的每次迭代,还是 Pyomo 和 JuMP 会首先在(我猜)C 中渲染模型,计算(而不是评估)梯度和粗麻布,然后是这个“C 版本”每次都会被评估?这显然会产生很大的不同,尤其是对于 python ..

0 投票
2 回答
900 浏览

printing - Pyomo:打印导致错误的约束

我在 pyomo 中使用 ipopt,出现下一个错误:

如何打印导致 pyomo 错误的约束名称?

类似于 AMPL 命令的东西:print _sconname[15];

谢谢,M。

0 投票
1 回答
336 浏览

python-3.x - 遵循文档时出现“pyOptSparse 错误:导入已编译的 IPOPT 模块时出错”

我正在尝试使用 pyOptSparse 包安装 IPOPT 算法。我得到了 SNOPT 和 SLSQP 算法的工作。对于 IPOPT 算法,构建成功,但是在使用该算法时出现错误:

我正在基于 Ubuntu 的 Docker 容器中构建项目,并且非常准确地遵循了 pyOptSparse 中 IPOPT 上的文档(doc/optimizers/pyipopt.rst)。完整的dockerfile是可用的(我已经包含了我使用基于 apt 的包的尝试,以及根据这个建议对源代码的一些复制)。最相关的部分是:

在构建的输出中,pyOptSparse 选择了 IPOPT "building 'pyoptsparse.pyIPOPT.pyipoptcore' extension"

有人对如何安装 IPOPT 算法或如何调试安装有任何建议吗?

谢谢!

补充说明:

  • 我没有让 pyOptSparse 的 SLSQP 算法最新提交起作用,因此我使用的是去年年底的提交 fd33788。
  • 我尝试了 --prefix=/usr/local 的各种组合,但如果有人对位置和环境变量有任何具体建议,我全都听
0 投票
0 回答
194 浏览

python - Pyomo DAE 优化 - IPOPT 不可重现的结果

我最近开始在使用 Pyomo 优化参数估计的 DAE 问题时遇到一些问题。

我在 Windows 10 中使用 Python 2.7.12 和 Anaconda2 4.1.1 并作为求解器 Ipopt 3.11.1

每次我运行我的脚本时,我都会得到不同的估计值,并且 Ipopt 完成优化时的迭代次数在每次运行和其他运行之间也不同。当我安装 ArcGis 时问题就开始了,我猜它对我之前安装的 Python 版本进行了一些更改。

我完全摆脱了 ArcGis,并重新安装了 Python、Anaconda 和 Ipopt 3 次,使用 Ccleaner 清理了注册表。但是,问题仍然存在。

可以做什么?

0 投票
1 回答
879 浏览

optimization - IPOPT 解决方案不是最优的

我正在尝试使用 IPOPT 最小化非线性目标函数,并且它返回的解决方案不是最优的。

即使我使用最优解作为起点,IPOPT 也会收敛到更差的解。

这是我以错误的起点运行时的输出:

这是我以最优解为起点运行时的输出:

我已经尝试更改终止选项,但我总是得到相同的结果。我不明白为什么它会从起点跑到更糟的点。

有任何想法吗?