问题标签 [docplex]

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

python - IBM Watson CPLEX 在求解 LP 文件时显示无变量、无解

我正在将以前在 IBM 的 DoCloud 上运行的应用程序迁移到他们基于 Watson 的新 API。由于我们的应用程序没有 CSV 格式的数据,也没有模型和数据层之间的分隔,因此上传 LP 文件以及读取 LP 文件并解决它的模型文件似乎更简单。我可以上传,它声称可以正确解决,但返回空的解决状态。我还输出了各种模型信息(例如变量的数量),一切都归零了。我已经确认 LP 不是空白的——它有一个微不足道的 MILP。

这是我的模型代码(其中大部分直接取自https://dataplatform.cloud.ibm.com/exchange/public/entry/view/50fa9246181026cd7ae2a5bc7e4ac7bd的示例):

以及运行它的代码的存根(再次从示例中大量提取):

关于什么可能导致这种情况或什么是好的测试途径的任何想法?似乎无法查看模型的输出以进行调试,我在 Watson Studio 中是否遗漏了什么?

0 投票
2 回答
548 浏览

python - 如何使用 DOcplex (python) 向模型添加二次约束?

以这个二次约束为例:

请注意,在 CPLEX Python API 中,上述约束的形式如下:

如何使用 DOcplex 而不是 CPLEX Python API 将上述二次约束添加到模型中?

0 投票
1 回答
407 浏览

python - Cplex 错误:添加微不足道的不可行线性约束

我想用 cplex python 解决一个整数编程模型。我有这个模型:

在此处输入图像描述

a 和 h 是具有 0 和 1 的矩阵。p 是一组数字。这是此模型的 cplex 代码的一部分:

当我运行程序时,我收到此错误:

'h' 是一个 600*22 矩阵,'a' 是 h 的逆矩阵(如果 h 中有 1(或 0),则 a 中为 0(或 1))。h的样本:

我不明白问题出在哪里。

0 投票
1 回答
62 浏览

python-3.x - TypeError:不能在 docplex 中将序列乘以“list_iterator”类型的非整数

在 python 中使用 docplex 求解器解决 0-1 整数规划问题。

运行代码报如下错误:</p>

然后我写了B = iter(B),报如下错误:</p>

然后我把索引去掉,转到B[i]B报如下错误:</p>

的类型Blist,的类型B[i]docplex.mp.linear.Var。我试图int(B[i])改变它的类型,但我失败了。

我不知道如何纠正。希望得到您的帮助,谢谢!

0 投票
1 回答
206 浏览

ibm-cloud - 在 dropsolve 中带有回调的 docplex

是否可以使用 解决具有回调的模型model.solve(url=url, key=api)?我正在尝试一个与此类似的示例,但回调在调用时无效dropsolve

0 投票
1 回答
265 浏览

python-3.x - 如何增加 Cplex 解决方案的数量?

我有这个具有 1 个二进制变量 (x_i) 的 cplex 模型。现在我有 2 个关于它的 cplex 解决方案的问题(我把它们放在一篇文章中,因为它们是相关的)。

第一:对于我的模型,我得到了 26 个解决方案,但我知道实际上还有更多解决方案。如何在 cplex 中生成解决方案?有什么办法可以增加解的数量吗?

第二:我想使用解决方案池访问所有解决方案,但是当我尝试打印所有解决方案时,它会打印所有现有变量(显然我只需要等于 1 的变量)及其值。

这是我的解决方案池代码:

这是我的输出的一部分:

0 投票
1 回答
140 浏览

python - DoCplex 中的 Bass 模型:如何在约束中分配变量

我正在尝试构建一个基于 Bass 模型的优化程序(见下文):

  • 决策变量:p、m、q
  • 问题:最小 RMSE
  • 约束:
    • Ft = (p + q(C(t-1)/m)(m - C(t-1))
    • Et = Ft - St

其中 C(t) 是累计销售额,St 是实际销售额,Ft 是 t 期的预测销售额,Et 是误差项。

我似乎无法弄清楚如何编写将这些值分配给新变量的约束(并且不一定使用比较运算符)......

目前,我创建了一个 Bass_F 函数来执行上面的等式 Ft,以及一个计算 rmse 的 rmse 函数。我还编写了以下代码(我的实际销售额是变量 y,其中有 4 条记录):

显然这给了我一个错误,即:

任何人都可以帮忙吗?提前致谢!

0 投票
1 回答
428 浏览

python - 如何绕过 Cplex 中的 1000 个变量限制

我创建了一个 MILP 模型来测试在 python 中使用 Docplex 库,但我收到此错误消息:CPLEX 错误 1016:社区版。超出问题大小限制。在http://ibm.biz/error1016购买。

如何绕过这个限制?有没有人可以访问可以帮助我的无限版本?

0 投票
3 回答
500 浏览

python - 用 cplex 约束规划完成二进制矩阵

我想根据我使用 dpcplex 模型的一些约束生成一个 20x38 二进制矩阵。一些矩阵单元预定义如下(行、列、参数):

[(8,3,0),(14,0,0),(14,2,0),(16,0,0),(16,1,0),(12,0,0),( 10,0,0),(10,8,0),(10,9,0),(17,7,0),(17,8,0),(8,0,0),(13, 8,0),(13,9,0),(1,0,1),(15,19,0)]

我需要用一些约束填充其他矩阵单元:

  • 列的总和必须等于 10
  • 行的总和必须等于 19
  • 每行的最后 4 个单元格必须是可选的:只允许 1010 或 0101
  • 不超过 2 个连续的 0 或 1
  • 每行中每 5 个单元格的总和必须在 [2,3] 范围内:没有 11011 或 00100
  • 连续 0 对的总和必须 <=3 :在每一行中,我们不允许有超过 3 对 00 和 3 对 11

问题是我的模型没有返回任何解决方案。我不确定我的模型是否正确。

这是我的代码:

0 投票
1 回答
65 浏览

c# - 如何使用 C# 在 docplex 中设置四维变量?

C#中调用cplex时如何设置3维或4维变量?</p>

以下是二维的: