问题标签 [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 投票
1 回答
352 浏览

python - 使用 IPOPT=true make SHARED=true scipoptlib 编译 scip 后,无法从 pyscipopt.scip 导入模型运行

我已经编译了scip:

它已成功编译,我运行 python setup.py install 的 python 接口。但是,当我from pyscipopt.scip import Model在 Python 中运行时,我收到以下错误消息:

0 投票
1 回答
835 浏览

julia - 尽管违反了约束条件,IPOPT 为什么要评估目标函数?

我在 Julia 中使用 IPOPT。我的目标函数会针对某些参数值抛出错误(具体来说,虽然我认为这无关紧要,但它涉及协方差矩阵的 Cholesky 分解,因此要求协方差矩阵是正定的)。因此,我对参数进行非线性约束,以便它们不会产生错误。尽管有这个限制,IPOPT 仍然坚持在参数处评估目标函数,这会导致我的目标函数抛出错误。这会导致我的脚本崩溃,导致痛苦和痛苦。

我很感兴趣,一般来说,IPOPT 会在违反约束的参数处评估函数。(我确保它确实在评估函数之前检查了约束。)如果可能,我想知道如何阻止它这样做。

我已将 IPOPT 的 'bound_relax_factor' 参数设置为零;这没有帮助。我知道我可以要求目标函数返回NaN而不是抛出错误,但是当我这样做时,IPOPT 似乎变得更加困惑并且最终没有收敛。可怜的东西。

如果有帮助,我很乐意提供一些示例代码。

提前谢谢了 :):)

编辑:

一位评论者建议我要求我的目标函数在违反约束时返回一个错误的目标值。不幸的是,当我这样做时会发生这种情况: Ipopt 无限期地以糟糕的客观价值运行

我不确定为什么 Ipopt 会从 2.0016x10^2 的评估点变为 10^10 的评估点——我担心 IPOPT 有一些非常基本的东西我不理解。

将 'constr_viol_tol' 和 'acceptable_constr_viol_tol' 设置为其最小值不会显着影响优化,也不会“过度约束”我的参数(即确保它们不能接近不可接受的值)。

0 投票
1 回答
154 浏览

anaconda - anaconda mkl/openplas 和 IPOPT

IPOPT 不是线程安全的。在 anaconda python 中,我可以使用conda install nomkl. 但是,openblas 会自动安装。我想知道,我是否会因为 anaconda 仍然使用一些底层例程的线程版本而遇到问题或错误结果?

0 投票
2 回答
852 浏览

optimization - PyOmo/Ipopt 因“无法评估 pow”而失败

我正在使用 PyOmo 生成一个非线性模型,最终将通过 Ipopt 解决。模型如下:

运行模型会导致以下错误:

错误的第一部分来自 Ipopt,而第二部分来自 PyOmo。显然,这个问题与约束中的术语无关M.P[i]**0.75,但改变权力并不能解决问题(尽管2.0确实有效)。

我该如何解决这个问题?

0 投票
3 回答
1885 浏览

c++ - 将 Ipopt 与英特尔 MKL 链接

我正在尝试将 Ipopt 与 Intel MKL(说明)链接起来。

英特尔的 Link Advisor建议:

链接线:

编译器选项:

我尝试使用以下方式配置 Ipopt:

这最终失败表明:

0 投票
1 回答
380 浏览

julia - JuMP: LoadError: Unrecognized function :f1 used in非线性表达式

我必须生成所有的帕累托点,但我得到了这个错误。

0 投票
1 回答
356 浏览

c++ - 无法访问 IpOpt 选项列表

我目前正在尝试让 IpOpt 内部点求解器工作。我正在运行该示例,该示例运行良好,但选项除外。

每当我尝试设置一个选项时,例如:

我得到一个 std::bad_alloc 异常。如果我保留示例中的所有选项集,它运行良好,如上所述。

我还尝试通过在初始化程序中提供路径来手动设置选项文件:

但是,这会在 initialize() 中引发异常。

我的可执行文件文件夹中有一个 ipopt.opt 文件。

关于我做错了什么或我能做些什么来解决这个问题的任何线索?

我尝试使用的示例(在设置选项时都给了我 bad_alloc):
- http://codepad.org/mHIfBz3k
- https://projects.coin-or.org/Ipopt/browser#releases/3.11.0/ Ipopt/examples/hs071_cpp
(具体:https ://projects.coin-or.org/Ipopt/browser/releases/3.11.0/Ipopt/examples/hs071_cpp/hs071_main.cpp )

编辑(已解决):我使用的是在发布模式下构建的 Visual Studio 的预编译库。当我的项目处于调试模式时,我尝试在 Visual Studio 中使用它们,因此它崩溃了。

0 投票
2 回答
775 浏览

python-2.7 - 在 python 中将 IPOPT 与 Openmdao(或 pyoptsparse)一起使用

大家好。我有一个小问题:我正在使用 openmdao 和 pyOptSparseDriver。它适用于某些求解器(例如 SLSQP、PSQP),因此该安装没有问题。

现在我想对 IPOPT 进行同样的尝试,但是 pyoptsparse 没有给出代码。我按照 COIN-OR 文档安装了 IPOPT(http://www.coin-or.org/Ipopt/documentation/node10.html),一切看起来都很好(我不知道如何检查)。现在我的桌子上有一个 COIN-OR 文件夹,我不知道如何让 pyoptsparse 从中获取 IPOPT(它是“从 .import pyoptcore”行崩溃),来自 pyIPOPT/pyIPOPT.py。谁能帮我 ?提前谢谢你

0 投票
3 回答
200 浏览

c++ - 当我尝试在 Windows 10 和 Visual C++ 2010 中编译 Ipopt-3.9.3 时,我应该如何处理“致命错误 LNK1120”

全部。

我正在 Windows 10 和 Visual C++ 2010 Express 中编译 Ipopt-3.9.3。

我已经构建了 libCoinBlas、libConHSL、libCoinLapack 以及 libIpopt 的项目,并在正确的路径中生成了 libCoinBlas.lib、libCoinHSL.lib、libCoinLapack.lib 和 libIpopt.lib,但有一些警告。

当我尝试构建 IpoptAmplSolver 和 hs071_cpp 的项目时,存在以下致命错误。

有没有人可以告诉我应该如何处理它?

非常感谢您的关注,我期待您的帮助。

最后,由于未定义的函数,我解决了这个问题。我认为我的案例是关于发布的软件包而不是一些特定的程序代码,因此,它有点不同并且相对简单。

0 投票
1 回答
562 浏览

python-2.7 - 目标函数的停止标准 (IPOPT)

这是我的问题:我正在使用不同的求解器优化 openmdao 的不同问题。一个问题给了我一个有 1 个或多个根的目标函数,我的目标是使用优化来接近一个。例如,SLSQP 或 PSQP 没有问题,但是当使用 IPOPT 时,我可以从打印详细结果(摘录)中得到: 在此处输入图像描述

我的问题可能被严重缩放或其他问题,但是当目标函数(例如)低于 1e-5 时,有没有办法让 IPOPT 停止?我需要在 5 左右修复“tol”。为了在这个特定问题中得到我想要的东西,但是“tol”对 Eo 的影响不仅取决于目标函数……有人知道吗?提前感谢