问题标签 [gurobi]

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 投票
2 回答
1950 浏览

c++ - 未找到 Gurobi 库

我使用 qtcreator 和 gurobi。

我收到一个错误:无法打开文件 ligburobi50.so。

我检查了文件在那里,我什至给了它 777 权限,但无济于事。有什么想法吗?

我知道我的信息很少,但这实际上是在我在国外的一位同事的计算机上,我必须在明天之前运行此代码。谢谢!

0 投票
1 回答
15580 浏览

c++ - gurobi - 错误代码 = 10004 无法检索属性“X”

我的 c++/gurobi 文件出现错误:

错误代码 = 10004 无法检索属性“X”

我读到这可能与标签有关?但我看不出有什么问题。它适用于某些输入文件,但不适用于其他文件。所以我在附件中创建了一个玩具文件 t5.txt。此文件不起作用,但删除最后一列并将 8 设置为 7 可以修复它。我很纳闷...

下面是 model.write 的输出。一切似乎都有道理,任何想法我做错了什么?每当我做一个model.write(test.sol)时,程序就会停止,所以解决方案似乎有问题>

附件:main.cpp -> https://dl.dropboxusercontent.com/u/13564139/main.cpp

input.txt -> https://dl.dropboxusercontent.com/u/13564139/t5.txt

0 投票
1 回答
306 浏览

ampl - AMPL 对大问题的限制

我即将将我的硕士论文工作用于优化,我对 AMPL 的局限性有一些疑问。

我的导师似乎相信,当使用 Gurobi 求解器的完整许可证(我的大学有)时,AMPL 将处理几乎所有情况。

然而,在大多数当前的论文作品中,我看到大多数人仍然在其他语言(如 C、C#、Python 等)中使用遗传算法和启发式算法。是否最好用其他语言实现自己的启发式算法,或者是否有设置为您提供这个在 AMPL 中,前提是您拥有某些求解器的完整许可证?

到目前为止,我的大学在必须使用你自己的启发式方法时没有遇到任何实际问题,所以这意味着我必须在我的最后一门课程中学习这些,直到论文工作即将开始。

提前致谢!森德泽

0 投票
2 回答
3215 浏览

mathematical-optimization - 当我们最大化时,如何转换目标函数中的最大值?

如何重写程序

那么LP / MILP可以解决它吗?

我的实际目标函数是 在此处输入图像描述

我是 LP 新手,我不太了解如何使用“二元约束”。

我正在学习PuLPGLPK
在我的生产代码中,我将使用CPLEXGurobi
这两个支持开箱即用的“最大化最大值”?

0 投票
2 回答
2764 浏览

c++ - R dyn.load“未找到符号”错误,即使 C++ 代码构建良好

我有一个简单的 C++ 程序,可以在我的 Mac(Mavericks)上成功构建,但在 R 中构建和加载clang++时会失败。R CMD SHLIBdyn.load

这是使用 Gurobi 优化器的 C++ 代码(存储在 中simple.cpp):

clang++我可以使用链接到 Gurobi 库成功编译和运行此代码:

我能够成功编译R CMD SHLIB

但是,dyn.load("simple.so")在 R 中失败:

c++filt中,我可以看到缺少的符号是GRBModel::addVar(double, double, double, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >),它应该由我正在链接的 Gurobi 库之一提供。

从以前的帖子中,我收集到这些“找不到符号”错误通常是由于没有链接正确的库而发生的,但我已经能够成功编译和运行simple.cpp,并且我将相同的链接选项传递给R CMD SHLIB.

以下是我的~/.R/Makevars文件的内容:

编辑我认为这个问题可能与-stdlib=libstdc++我在编译代码时使用的选项有关。当我从第一个构建(的工作调用)中删除此选项时,clang++我得到的第一个链接器错误是:

dyn.load这与导致失败的未定义符号相同。

0 投票
2 回答
1599 浏览

mathematical-optimization - MIP 性能:快速找到解决方案,但求解器不断搜索

我有一个线性 MIP 问题,Gurobi 在 10 次迭代中找到了解决方案。
要真正证明解决方案是最优的,需要更多的时间。
日志如下。

有没有办法让 Gurobi 停下来?

我尝试了自动调整工具。
它告诉我设置Heuristics=0.
如果我遵循这个建议,找到解决方案的总运行时间会减少。
但是这个总时间远远超过启发式算法的 10 次迭代的时间。

我是 MIP 的新手,所以,从日志中,我真的不知道哪个参数将是一个好的停止标准 (GAP, BestBound, ...) 。

0 投票
1 回答
825 浏览

python - Gurobi python更改定义值的值

我有一个关于如何更改约束中的系数的问题。例如,我有以下约束:

如果我想在下一次迭代中更改“temp”,如何修改模型?非常感谢

0 投票
4 回答
12992 浏览

python - Python在类中传递回调函数

我必须尝试从非基于类的编码风格转变为基于类的编码风格,但面临一个问题。optimize() 函数采用回调函数 mycallback()。该代码在非基于类的方法中运行良好,但是当我将其移至基于类的方法时,出现错误“mycallback() 恰好需要 3 个参数(给定 1 个)”。

在基于类的方法中传递回调函数的正确方法是什么?

(A) 非基于类的方法:

(B) 基于类的方法:

虽然这是一个关于将回调函数传递给 Gurobi(优化求解器)内置函数的问题,但我相信这是一个更普遍的问题,即如何将一个类中定义的回调函数传递给 Python 中的另一个函数。


方法 2 的错误:

看起来很可能是 Gurobi API 问题。想知道是否有任何 Gurobi 开发人员会做出回应。

0 投票
1 回答
2542 浏览

python - Gurobi / python中的稀疏矩阵LP问题

我正在尝试解决在 Gurobi / python 中使用稀疏矩阵表示的 LP 问题。

最大 c′ x, 服从 A x = b, L ≤ x ≤ U

其中 A 是大小为 ~1000 2的 SciPy链表稀疏矩阵。使用代码

该问题在约 1 秒内构建并解决,这比 Gurobi / Matlab 中的相同任务慢约 10-100 倍。你有什么提高问题定义效率的建议,或者避免翻译成稀疏坐标格式的建议吗?

0 投票
1 回答
6751 浏览

python - Gurobi:获取优化运行时

我想访问从 python 在 gurobi 中运行数学优化问题时找到模型最佳解决方案所花费的时间。m

到目前为止,我使用

不幸的是,返回的运行时间始终为 0.0,与求解模型所花费的时间无关,并且在达到任何时间限制之前。

如何通过 gurobipy 在 gurobi 中访问实际运行时?我已阅读Gurobi 参考手册,但没有成功。