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

openshift - Openshift 安装 Gurobi 等环境

我目前正在从事一个涉及线性规划以优化问题解决方案的项目(线性规划模型涉及二进制变量)。因此,我被推荐使用 Gurobi 来解决这个问题。Gurobi 在我的计算机上运行良好,但是我需要在 Openshift 等部署平台上部署我开发的应用程序。由于需要在部署平台上安装 gurobi 的环境才能运行我的模型,因此我需要有关如何执行此操作的指导,是否有任何曾经在 openshift 上安装过环境的人将不胜感激!

否则,如果有人有更简单且免费的 Java 线性编程库实现,请也在这里给我留言!提前致谢!

0 投票
1 回答
590 浏览

java - OPENSHIFT 编辑 LD_LIBRARY_PATH & PATH 以进行环境设置

我目前正在尝试将我的 java web 应用程序部署到 Openshift 上。我的 Web 应用程序导入了 Gurobi 库,该库需要 Gurobi 许可环境才能运行我的线性规划模型。因此,我一直在尽我所能将许可证安装到 openshift linux 服务器等

我设法让一些事情顺利进行。

  1. 我已将 SSH 连接到我的应用程序,并将 openshift linux 平台的主机名注册到许可证中。
  2. 我设法更改了.bash_profile设置自定义环境的文件。下面是我放入文件的输入。

    /li>

上面输入的问题是我相信PATH& LD_LIBRARY_PATH,每次我通过 shell 访问我的应用程序时,openshift 都会自动恢复它们。

我认为这导致我的应用程序无法实例化一个GRBENV对象,该对象是一个 Gurobi Environment 对象,它检查gurobi.lic文件并使用LD_LIBRARY_FILE.

以前有没有人做过类似的事情?在这方面真的需要帮助。

布兰登

0 投票
1 回答
108 浏览

glassfish - 如何正确配置 glassfish 4 以使用 gurobi 的共享库?

错误:

当我通过 JVM 设置添加它时,它的路径是正确的,但由于某种原因,如果只依赖 LD_LIBRARY_PATH 环境变量,它就找不到它。无论哪种方式,libgurobi60.so 都有问题。我尝试将所有这些添加到 glassfish_home/domains/domain1/lib/applibs 和 ext 无济于事。

这是 /opt/gurobi600/linux64/lib 的权限

我在以前运行 ubuntu 12.04 的服务器上运行过这个,现在在 14.04 上。以前将 .so 文件复制到 /usr/local/bin 似乎可以解决问题,但这在新服务器上不起作用。

0 投票
1 回答
402 浏览

python - gurobi 6.0.2 / setPWLObj 的分段线性目标崩溃

我们有一个复杂的优化问题,其中包括几个具有整数和连续变量的二次项(使用 Anaconda Python / Pycharm 和 Gurobi 6.0.2)。我们应用 setPWLObj 函数来近似二次目标分量。代码如下:

l1 和 l2 是连续变量。

问题表现不一致。在 Mac 上运行它主要提供退出代码 138 和 139(对应于总线错误 10),有时可以计算出相同的问题的解决方案。连续多次启动优化时尤其如此。这似乎是随机的。

在 Windows 机器上,Python 崩溃,或者提供了退出代码“-1073741819”。进一步搜索此退出代码并没有真正帮助我们。

0 投票
1 回答
1517 浏览

python - python中的Gurobi计算lp范数

python中的Gurobi计算l1范数

我正在尝试通过在 python 中使用 Gurobi 来计算 l1 范数。由于我是 python 和 Gurobi 的新手,所以我在这里寻求帮助。

型号为:

其中 y 是一个向量,X 是一个 n×p 矩阵。r+, r- 是 n 向量, beta 是 ap 向量 这是我的代码,我不知道出了什么问题,有人可以帮我吗?


0 投票
2 回答
1230 浏览

python - 有没有办法在 python 中保存 Gurobi 对象?

我有许多具有多个索引的变量,例如: flow[i,j,k]
使用 Gurobi 变量名称:flow_1_1_1, ..., flow_1_2_3等。

如果 Gurobi 模型对象是全局变量,则可以将解决方案值访问为flow[i,j,k].x

我的问题是有没有办法存储“流”对象并稍后加载它以重新优化?不幸的是,不支持pickle。

如果没有,我最好的选择是什么?

0 投票
1 回答
719 浏览

mathematical-optimization - 在分支或自定义分支规则之前重置优先级

鉴于 MIP 求解器即将选择要分支的变量的节点,我想建议一小部分变量可供选择,但与求解器的启发式方法有很大的关系。我有充分的理由相信这可以显着减少解决整数规划问题所需的时间。我更喜欢 Gurobi(Python API),但如果有必要,我愿意切换到另一个求解器(SCIP、CPLEX)。


问题:

  1. 我无法弄清楚哪个Gurobi 回调代码告诉我求解器即将分支。 至于CPLEX,我找到了BranchCallback一个详细的例子;相应的 SCIP 文档是:如何添加分支规则

  2. 考虑到节点松弛的解,我想向求解器建议的变量子集是动态计算的。换句话说,分支优先级会因节点而异,具体取决于松弛问题的解决方案。我不清楚是否允许在回调中重置分支优先级并按预期工作。Gurobi 的文档BranchPriority没有说,在问题 #1 没有解决之前,我不能自己“逆向工程”它。

  3. 如有必要,我也可以自己打破束缚,编写自己的完整分支规则,而不仅仅是建议变量的子集;然而,这在 5 年前在 Gurobi 是不可能的,并且doc ofCallback建议情况仍然相同。由于实现我自己的分支规则似乎比更改我的代码以使用 SCIP 或 CPLEX 更容易,因此我将给出Google Groups 帖子中提到的“通过回调的自定义分数削减” 。不幸的是,我不清楚如何做到这一点。如果这有帮助:我所有的系数都是整数,我所有的变量都是二进制变量。

0 投票
0 回答
382 浏览

java - Linux Gurobi LD_LIBRARY_PATH 不满意的链接错误 AWS

我一直致力于在 Gurobi Cloud EC2 实例上安装/构建我的 linux ubuntu 服务器,但是我遇到了很多障碍。到目前为止,我仍在尝试解决 LD_LIBRARY_PATH 问题,因为即使我在 SSHed 命令行中运行 java 示例(make run_java),系统仍然会抛出 java.lang.UnsatisfiedLinkError: no GurobiJni60 in java.library.path 异常进入我的服务器。

我已根据以下内容在主目录的 .bashrc 中设置了所有路径:

我目前也在尝试在同一台服务器上安装 tomcat 并尝试让它工作。我已经在这个问题上停留了几天,并且束手无策。如果有人可以帮助我解决问题,我将不胜感激。

布兰登

0 投票
1 回答
311 浏览

linear-programming - 为什么在 gurobi 中预求解后二进制变量突然出现?

我正在尝试在 gurobi 中解决一个相当大的 MIP 模型。我正在使用“.lp”文件作为 gurobi 的输入。

我的问题有连续和整数变量。但没有二进制变量

在 gurobi 命令 shell 上求解模型时。
在此处输入图像描述

为什么在 pre-solve 之后创建二进制变量(其中 93 个)?

0 投票
2 回答
107 浏览

mathematical-optimization - 集成生产计划和运输 MIP 必须使用哪种启发式方法?

我正在尝试解决一个相当常见的 MIP。以下是问题特征。

  1. 多产品、多站点(站点同时用作生产、需求和库存存储位置)。每周时间段
  2. 产品(单位:箱)只能以离散的批量生产,每周在每个站点使用有限数量的班次/批次。
  3. 允许跨站点运输以满足任何站点的需求
  4. 此外,必须满足每个地点的最低周末库存水平。

求解器(gurobi)的当前解决方案从未达到最佳界限的 15% 以上的 MIP 差距。

如果这个问题没有固定的批量大小(可以在一个班次期间生产任何数量),这很简单。但如果没有,有人可以提出简单的启发式技术来解决这种 MIP 吗?