问题标签 [coin-or-cbc]

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 回答
118 浏览

python - CVXPY 和 CBC 的供应链优化问题

我有一个关于 cvxpy 系统地选择导致目标函数值相同的解决方案的能力的问题。

让我们以一个典型的供应链优化问题为例:

  1. 有一种产品由客户 A、B、C 订购。

  2. 该产品的需求量分别为 100 件、200 件和 100 件(总需求量为 400 件)。

  3. 可用供应量为 250 件(因此,有 150 件短缺)。

  4. 每个客户为产品支付相同的价格(10 美元/件)。

  5. 目标是以使收入最大化的方式在客户之间分配该产品。

  6. 由于单价相同,因此有多种可能的解决方案/分配备选方案导致目标函数的最优值为 2500 美元(即总分配乘以单价)。

有没有办法将参数作为参数传递给求解器(例如,CBC 或 cvxpy)应该选择哪个分配方案?默认情况下,求解器按照先到先得的原则进行分配,而预期分配是与需求成比例的分配。

您的帮助和帮助将不胜感激。

0 投票
1 回答
265 浏览

python - 使用带有 cvxpy 语法的 python-mip 库

我需要使用 CBC 求解器来解决混合整数优化问题,但是在目标环境中我不能使用作为外包软件安装的 CBC 求解器,它必须是 python 库的一部分。为了克服这个问题,我找到了内置 CBC 求解器附带的mip 库https://pypi.org/project/mip/ https://docs.python-mip.com/en/latest/index.html ,它可以仅在导入此库后使用,无需单独安装 CBC 求解器。我的问题是,我已经有大量用 cvxpy 编写的代码(使用这个单独的 CBC 求解器)。现在的问题是,是否有可能使用 mip 库中内置的 CBC,但从常规 cvxpy 接口使用它?无需更改代码,将所有内容重写为 mip sytax 等。

我需要重写为 mip 语法的示例代码:

提前谢谢了!

0 投票
1 回答
381 浏览

multithreading - Pyomo:向 cbc 求解器发送 options="threads" 会导致错误

可以在命令行中激活多线程:

但是当我尝试在 pyomo 代码中激活这个选项时

我收到一个错误:

有任何想法吗?

0 投票
0 回答
24 浏览

coin-or-cbc - 在 python 中调用 cbc 求解器时如何解决此错误:应用程序无法正确启动

我从https://bintray.com/coin-or/download/Cbc#下载了 cbc ,我也安装了 MinGW,但还是报错。任何人都知道如何解决这个问题?谢谢!错误消息:应用程序无法正确启动 (0xc000007b)

0 投票
0 回答
68 浏览

optimization - 多次运行时,Coin-or-Cbc 无法在同一时间 CPU 中解决同一实例

我想知道为什么如果我们在 Cbc Coin 中运行多次完全相同的实例 - 或者,我们总是得到相同的解决方案,但不是在相同的解决时间。是因为在分支和切割过程中随机选择吗?是因为线程问题吗?

如果有人有想法请告诉我。

0 投票
1 回答
151 浏览

python - 使用 Python cvxpy 和 Python_MIP() 处理不可行的解决方案(CBC 求解器)

在使用 cvxpy 和 Python MIP (CBC) 作为求解器的 MIP 工具中,我正在寻找一种方法来生成用于记录目的的不可行解决方案的细节。有谁知道这是否存在?我正在阅读 CPLEX 具有这种能力(功能)来指出特定的约束违规。

0 投票
0 回答
50 浏览

performance - CBC求解器:截止选项被忽略

我正在研究 CBC MILP Solver,版本:2.9.9。

我尝试加快我的最小化问题并设置opt.options['cutoff'] = 1000而不是默认值 1e+50。

但日志仍然显示:

所以它没有效果。如何正确使用此选项?

0 投票
0 回答
388 浏览

python - 使用 Pyomo 设置 CBC

我的目标是将 cbc 与 pyomo 库一起使用。我在互联网上找到了一些资源,但我仍然无法使用它。

这是我到目前为止所尝试的:

1/ 在 AMPL 上下载 64 位 Windows 的二进制文件 cbc.exe:https ://ampl.com/products/solvers/open-source/

2/ 将二进制文件放在我项目的根文件夹中(分别放在执行模块的文件夹中)

3/ 将二进制文件添加到路径中(根文件夹和执行模块的文件夹)

4/SolverFactory('cbc.exe')

我收到以下错误:

WARNING: Failed to create solver with name 'cbc.exe': Failed to set executable for solver asl. File with name=cbc.exe either does not exist or it is not executable.

[...]

0 投票
1 回答
71 浏览

python - 使用 pyomo 分段优化问题中的链接变量

我在成本优化问题中与“链接”变量作斗争。总的来说,我有四个变量:varX1、和varX2,它们以下列方式配对:varY1varY2

我尝试使用 pyomos 分段尝试从https://github.com/Pyomo/pyomo/blob/main/examples/pyomo/piecewise/step.py重新创建示例,对 varY1 varX2 varY2`varX1和 varY1的关系进行建模。as well asand

完整型号代码为:

我得到以下结果

可以看出,没有varX1和的配对varY1

任何人都可以帮助我吗?


解决方案:

在 AirSquid 的帮助下,我能够为我的问题找到一个简单的解决方案。我放弃了使用 pyomos 分段函数,并为模型引入了额外的约束。以下模型按需要工作

0 投票
0 回答
34 浏览

python - 仅针对最大化问题的 Pyomo 错误 (CBC)

我在 pyomo 中建立了一个具体的模型优化模型。我以前运行一个非常相似的模型作为最小化问题,但我现在将它编辑为最大化问题并且它出错了。看起来有一个版本检查失败了?有什么想法可以解决这个问题吗?

错误: