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

python - 试图定义一个 6 维变量,我得到太多的值来解包错误

我正在尝试在 python 中使用 gurobi 库(gurobi 是一个优化库)我收到了这个错误----Value Error: too many values to unpack

我正在尝试在 python 中定义一个 6 维变量。我将每个维度定义为一个列表,维度是游戏、轮班、小时、坑、order1 和 order2 由于这 6 个维度的某些组合是有效的,因此我将组合定义为元组列表以指定存在哪些组合。然后我想用有效的组合定义变量。tuplelist 和 addVar 等一些对象带有 gurobipy 库
python 代码是:

0 投票
2 回答
4682 浏览

python - GurobiError:无法将参数转换为表达式

有人可以帮我解决这个错误吗?当我收到错误时我应该在哪里看:GurobiError:无法将参数转换为表达式。我应该补充一点,我在 python 中使用 Gurobi 库

0 投票
1 回答
1707 浏览

java - 用于大量 bin 的 2D bin 打包求解器 (java | Gurobi)

我正在寻找一个求解器来解决 2D 装箱问题。我看过几篇建议“二叉树算法”的帖子,但我有大约 200,000 个 bin,所以我不确定该算法是否可扩展。

我在想古罗比。但我不知道如何在 Gurobi 中建模问题。有人知道我可以使用的任何可用模型吗?或者是否有任何可用的java代码,可以给我一个“接近精确”的解决方案,考虑到它是NP难的事实?

谢谢

/米娜

0 投票
1 回答
1149 浏览

linear-programming - 与gurobi的纸浆影子价格差异

我正在比较用 gurobi 和纸浆计算的影子价格 (pi) 的值。对于相同的输入,我得到不同的值,我不知道如何用纸浆做。这是我使用的 lp 文件:

对于上面的 lp 文件,gurobi 给了我影子价格:

和纸浆我得到:

但是如果我执行以下 lp 模型:

使用 gurobi 我得到:

和纸浆我得到:

正确的值是 gurobi 返回的值(我认为?)。

为什么我在不同型号的纸浆上得到相同的影子价格?我怎样才能得到与 gurobi 相同的结果?

(我没有提供源代码,因为问题会太长,我认为lp模型就足够了)

0 投票
1 回答
1004 浏览

c++ - 如何防止 Gurobi 将 Max 转换为 Min prob?

我正在使用 Gurobi(通过 C++)作为我的理学硕士论文的一部分来解决二次背包问题实例。到目前为止,我能够生成一个具有二元决策变量、二次目标函数和容量约束的模型,Gurobi 很好地解决了它。然后我想解决QKP的持续松弛问题。我像以前一样构建了模型,但是使用连续变量而不是二进制变量,当我尝试优化它时,Gurobi 给了我一个异常:

这让我有点困惑,因为问题实例的所有值都≥0。在准备发布这个问题时,我将两个模型都写到文件中并发现了原因:

这当然意味着所有以前的正值现在都是负的。现在我知道为什么 Q 不是 PSD 但我该如何解决这个问题?我可以防止从 Max 问题转换为 Min 问题吗?我是否需要以不同的方式配置模型以实现连续松弛?

从我(没有经验的)的角度来看,它看起来就像 Gurobi 中弹自己的脚。

0 投票
1 回答
1577 浏览

optimization - 在 MIP 求解器(Gurobi)中保持切割而不分支

我有一个 MIP,我几乎可以肯定地知道解决方案。我想用 gurobi 来证明真正的解决方案(即使它不是我提供的解决方案)与我给出的解决方案的偏差不应超过 0.5%。我相信简单地保持切割而不分支可能会节省更多时间。你知道我可以简单地进行切割而不在 gurobi 中分支的方法吗?这是代码性能:

将参数 LogFile 的值更改为 Prev:gurobi.log 默认值:将参数 MIPFocus 的值更改为 3 Prev:0 最小值:0 最大值:3 默认值:0 将参数 Cuts 的值更改为 3 Prev:-1 最小值:-1 最大值:3默认值:-1 优化具有 1794 行、673 列和 4180 个非零值的模型 找到启发式解决方案:目标 -22.8549 预求解删除 18 行和 17 列预求解时间:0.01 秒预求解:1776 行、656 列、4464 个非零值

加载的 MIP 从目标 -342.641 开始

变量类型:592 连续,64 整数(64 二进制) 预求解:1776 行,656 列,4464 非零

根松弛:目标 -6.775689e+02,682 次迭代,0.02 秒

……

0 投票
3 回答
2758 浏览

java - Gurobi:如何添加约束 x1*x2*x3

我希望n1 = x1 * x2 *x3在 Gurobi 中添加一个约束,其中x1x2x30 或 1 的变量。不幸的是,找不到解决方案。

有人能帮我吗?

0 投票
3 回答
2888 浏览

optimization - 如何使用线性规划解决逻辑约束

我希望使用线性规划来解决以下逻辑描述。在下面的示例中,n1, n2, n3, b1, b2, b3是布尔变量。

目标是最小化c1

以下是约束:

约束1: ((n1==n2 xor n3) && c1==2 && b1 ) || ( (n1== n2 or n3) && c1==1 && b2 ) || (( n1 == n2 and n3) 1&& c1==3 && b3)

约束2:n1 && n2== not n3

约束 3:only one of b1, b2, b3 is true

我可以知道是否可以将这些逻辑约束编码为 Gurobi 或 lpsolve 等线性编程工具所需的整数约束?或者有没有可以利用布尔约束的工具?

谢谢。

0 投票
2 回答
5056 浏览

python - 如何让 Gurobi 只给出整数解?

我正在尝试使用 Gurobi 在 python 中优化以下问题,答案以小数形式出现。如何获得输出以求解最佳整数?

0 投票
2 回答
2296 浏览

python - iPython:导入的模块找不到它的共享库

在 iPython 中,我导入了一个模块,该模块又导入了另一个模块。这另一个模块(即 gurobipy)试图加载它的共享库,但失败了。共享库的路径添加到LD_LIBRARY_PATH.bashrc 中。当我从 shell 作为脚本运行整个事情时,一切都很好。

我现在用谷歌搜索了一段时间,但没有找到问题的最终答案:我如何LD_LIBRARY_PATH在 iPython 中设置以便导入的模块可以看到它?

我尝试了 os.environ 但仍然收到相同的错误消息:ImportError: libgurobi50.so: cannot open shared object file: No such file or directory

编辑:我使用的是 Ubuntu 13.04。