问题标签 [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 回答
120 浏览

python - 如何生成具有 100 个索引的变量?

我是 python 和 gurobipy 库的初学者,我想生成一堆带有索引的单个变量,比如 x1、x2、...、x100... 有没有更快更简单的方法来生成它们?我尝试了各种形式的“for”结构,但 shell 不断返回语法错误消息...... :( 请帮助!

0 投票
1 回答
960 浏览

mathematical-optimization - Gurobi:优化二次非 PSD

Gurobi 会优化目标函数不是正定的二次问题吗?我们的约束是线性的——事实上,它们是盒子约束。这是一个已知的 NP 完全问题,根据 Vavasis,非线性复杂性:优化问题,牛津大学出版社。

我们知道 Gurobi 不会优化具有二次约束的二次规划问题,除非在特殊条件下。但是,我们还没有看到它可以或不能处理二次目标函数的具体声明。

0 投票
1 回答
811 浏览

r - 读取 MPS 文件

可以从 R 中使用 gurobi 命令 read() 吗?或者有一种方法可以在 R 中读取 mps 文件,而无需使用 Rglpk o linprog 之类的包?我的想法是使用 RStudio 中的 gurobi,但可以加载 mps 文件。最好的感谢

0 投票
1 回答
785 浏览

java - 最佳解决方案后的 Gurobi 回调

我试图让 Gurobi 在找到最佳解决方案后回拨(使用 Java 接口)。

背景:我正在研究一种方法,该方法需要(1)找到一个(非常)好的解决方案,然后(2)为问题添加一个惰性约束。首先必须找到一个好的解决方案,因为在我的情况下,确定一个合理的新惰性约束需要一个好的解决方案。

一般来说,这不是问题,因为 Gurobi 使用 MIP、MIPSOL 等进行回调;然后我可以检查当前解决方案的差距并决定添加下一个惰性约束。

然而,当寻找一个非常好的解决方案时,Gurobi 有时会找到一个最佳解决方案(例如在切断节点之后)。在这种情况下,没有额外的 MIP、MIPSOL 或任何其他可用的回调允许我添加额外的惰性约束。

我已经发现可以使用 MIPNODE_STATUS 识别截止值。然而,我还没有找到一种方法来检查这个截止是否会导致当前的解决方案被证明是最优的。

有谁知道识别这种情况并仍然添加一个惰性约束?

0 投票
1 回答
712 浏览

java - 没有目标函数的Java Gurobi

我正在使用带有 Java 的求解器 Gurobi;我阅读了所有 Gurobi 的参考手册,但我仍有一些问题

  1. 可以优化没有目标函数的模型还是我必须放一个?
  2. 可以添加像“x=0 if c>a”这样的约束,其中 x 是决策变量并且 c 和 a 是已知的?

有人可以帮助我吗?

谢谢。

0 投票
1 回答
1250 浏览

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

我对 python 上的 gurobi 有点陌生

有没有人可以解释我做错了什么?我得到错误:

gurobipy.GurobiError:无法将参数转换为表达式

当我打电话时:

m.setObjective(obj,GRB.MINIMIZE)

我的代码:

0 投票
1 回答
1301 浏览

python - LinExpr() 输入 gurobi 以创建约束 - Python

我正在学习如何使用 gurobi。我希望有人可以帮助我。

我有一个LinExpr()类型的变量 让我们称之为:a

经过一些操作,我最终得到了这个表达式:

gurobi.LinExpr: X1 + -0.18 X1010 + -0.72 X11 + -0.18 X1011 + -0.72 X12 + -0.18 X1012 + -0.72 X13 + -0.18 X1013 + X2 + -0.72 X1000 + -0.18 X1010 + -0.72 X1001 + -0.18 X1011 + -0.72 X1002 + -0.18 X1012 + -0.18 X1013

我可以通过执行以下操作来创建约束:

?

此外,我的实际 LP 模型总是发出Infeasible model。是否有有效的方法来调试使用 gurobi 的代码?

0 投票
1 回答
3138 浏览

java - 线程“主”java.lang.UnsatisfiedLinkError 中的异常:java.library.path 中没有 GurobiJni56

首先,我是 Java 编程新手,请原谅我对术语的任何错误使用或监督明显的错误。我在 MacBook Pro 上使用 OS X Yosemite,并在 Eclipse 中编写 Java。

当我尝试运行我的程序时,我遇到了标题中给出的异常。在这里,Gurobi 是优化问题的求解器,可从http://www.gurobi.com/下载。奇怪的是,我的程序前几天正在运行,但后来它突然停止运行。任何不使用gurobi.*;软件包中任何内容的常规程序都可以正常运行。导入gurobi.*;在我的测试程序中也可以正常工作,因此它存在。

谷歌搜索错误告诉我查找 Gurobi 库的路径有问题。有没有人遇到过同样的问题并且熟悉解决方案?正如我所说,我是 Java 新手,不知道如何正确设置首选项。此外,Gurobi 常见问题解答 ( http://www.gurobi.com/resources/faqs ) 表示无需对 Gurobi Optimizer 的默认安装进行任何特殊配置,即可在 OS X 上的 Eclipse Java 项目中使用 Gurobi .

如果有人知道如何在 OS X 上调整这些东西,并且也可能在 OS X 上使用过用于 Eclipse Java 的 Gurobi 软件,那将会非常有帮助!

这是我在运行程序时遇到的整个控制台消息:

先感谢您!如果我提供的信息不足以回答我的问题,请告诉我。

亨里克

0 投票
2 回答
1549 浏览

java - 在 java 中使用 gurobi 与在 ampl 中使用 gurobi

使用带有 AMPL 的 Gurobi 而不是使用 Gurobi 直接 API(java、C#、C++ 等)来解决大型 MIP 问题有什么优势?使用 Gurobi 的 API 而不是 AMPL 时有性能优势吗?

0 投票
1 回答
1065 浏览

variables - 使用冒号的 Ampl 索引表达式错误:集合规范的此类部分中的变量

我试图弄清楚为什么我在我的一个约束中得到这个错误。

该行如下:

这几乎是说,对于二进制变量“操作”= 1 的所有时间,这意味着操作在给定时间 t 使用特定的机器/资源,在该操作完成处理之前没有其他操作必须开始。