问题标签 [docplexcloud]

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

python-3.x - docplex 2.10.15x 的 TypeError

从 docplex 2.9.141 切换到版本 2.10.150(与 2.10.151 相同)后,我在尝试调用solve我的模型(使用我的 docloud 凭据)时开始出现以下错误。

我预计此问题是由于该类ProgressData已更改为 namedtuple 子类并且不再具有默认属性值而引起的。

这是新版本中引入的错误还是我做错了什么?

0 投票
2 回答
1029 浏览

cplex - DOcplexException:期望约束序列,得到:在位置 0 处为真

我在 google collab with python 中使用 docplex

对于接下来的 LP,一些决策变量是预先确定的,需要为此求解 LP。这是一个序列问题,序列是一组给定的值。其他决策变量将在此基础上进行优化。

所以给定的值是针对增量的,有一个约束可以满足这一点,如下所示

但是,我收到如下错误:

请帮忙。我真的不明白为什么这是一个问题。谢谢

0 投票
1 回答
599 浏览

python - docplex python中的TSP实现

是否有任何使用 IBM cplex 工具和 Dantzig-Fulkerson-Johnson 公式的 TSP 可用 python 实现。

如果有的话,我可以得到它的链接吗?

0 投票
1 回答
776 浏览

python - 使用惰性约束回调实现 TSP

我正在尝试使用延迟约束回调进行 TSP。从此处此处给出的答案中,我尝试使用链接中的代码并能够添加回调函数。现在我正在苦苦挣扎add_lazy_constraints

这是我当前的代码:它是一个 9 节点 TSP。

0 投票
1 回答
206 浏览

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

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

0 投票
3 回答
467 浏览

python - 如何在 Python 中使用 DOcplex.mp 结合 2 个约束以最小化成本和最大化容量

我有以下几点OF可以最大限度地降低供应链的成本:

mdl.minimize(mdl.sum((cs+ch+cf+cv*d[j])*q[j] for j in arcs) + mdl.sum(α*(eh+et*d[j])*q[j] for j in arcs) + mdl.sum(β*(gh+gt*d[j])*q[j] for j in arcs) + mdl.sum(X[f]*cjf for f in comb))

其中cs, ch, cf, cv, eh, et, gh, gt, cjf, α and β是一系列常量参数。

d[j]是在或元组列表中组合的起点i和终点之间的距离。jarcs

q[j]i是 中起点和终点之间j的流量变量arcs

X[f]是一个二元变量,用于在目的地打开设施j,容量为 ,和f的可能组合在中列出。jfcomb

第一个constraint 1确保q[i,j]来自原产地的流量i不超过其材料的最大dQ可用性iD[(i, j)]是一个二进制参数,如果起点和终点1之间的距离小于或等于阈值,则 的值为。(这个参数帮助我们限制传输距离。)ijD[(i, j)]0

for i in I: mdl.add_constraint(mdl.sum(q[(i, j)]*D[(i, j)] for j in J) <= Qi[i])

第二个constraint 2确保流向q[i,j]目的地的流量j等于目的地开放设施的j容量与容量f

for j in J: mdl.add_constraint(mdl.sum(q[(i, j)]for i in I) == mdl.sum(X[(j,f)] for f in F))

但是,我们需要另一个constraint 3来确保f在目的地开放的设施的容量总和j必须尽可能接近容量的总需求E。假设有 100 兆瓦的能源需求E = 100,那么我们希望降低OF供应成本,同时确保满足需求E。否则,最小化成本将为 0。这个约束可以表述为:

mdl.add_constraint(mdl.sum(X[j,f]for j in J for f in F) == E)

不幸的是,这个解决方案永远不可行。如果我们替换==<=是可行的,但它的成本最低,而且容量远不及最大。我们不需要这是一个严格的限制,但我们确实希望通过在具有不同容量E的目的地开设多个设施来尽可能接近。(例如,我们可以有一个 20 兆瓦、一个 5 兆瓦、两个 30 兆瓦和另一个 15 兆瓦的目的地,通过开放 5 个目的地达到 100 兆瓦)jf

一种方法是强制模型打开N多个位置j,但是,我们有一组 128 个位置。要从一系列场景中找到最小成本和最大容量,N=1意味着N=128我们需要运行这个模型 128 次。

除了上述约束之外,我们还有 3 个额外的约束:

  • 我们只能选择目的地j来建造设施,并且只能以一种能力开放f
  • 要打开的目的地之和j大于 0。
  • 始发地和目的地q之间没有负流ij

有没有办法:

  • constraint 3减少绑定,但仍然尝试在保持成本最低的同时达到目标E
  • 重新OF制定以将最小成本与最大容量相结合?

重要的是,我们不想运行模型 128 次。我们要建模选择目的地j以开设设施并f相应地选择容量,以最小化总供应成本并最大化装机容量。在我们的案例中,也不太可能只开设一个目的地j来满足所有需求E。取而代之的是,我们将有多个容量j较小的相加方法。fE

0 投票
1 回答
58 浏览

python-3.x - python中的doopl参数设置

我在python中玩doopl。

我想设置最小间隙公差

opl.cplex_stats.MiPRelativeGap()=5

这是行不通的。

如果可能的话,我想限制运行时间。

但是我找不到具有参数设置的资源。

我相信这是不允许的。我对吗?

0 投票
1 回答
341 浏览

python - 在 DOCPLEX 中添加多个二次约束

我正在尝试向 docplex 模型添加二次约束,但是它将它们解释为线​​性并给我错误消息。

下面是脚本的摘录

这是二次约束:

这是它所在的地方

任何帮助将不胜感激

这是错误

0 投票
1 回答
52 浏览

python - 将 docplex 表达式转换为字符串

如何将定义为 docplex.mp.linear.LinearExpr 变量的约束的文本版本存储到 Python 字符串变量中?

0 投票
0 回答
240 浏览

python - 使用 docplex CP Optimizer 的 ILP 问题(没有从本地求解器进程中读取)

我在 CP Optimizer 模型下使用 docplex IBM package for Python 解决了我的 ILP 问题。它工作正常,我得到了目标结果;但是,当我Model.solve()多次调用时。即,超过 10000 个周期,一开始,一切运行正常,但一段时间后程序崩溃,我收到以下错误:

LocalSolver 异常:没有可从本地求解器进程中读取的内容。可能没有启动,因为 cplex dll 不可访问。

我在 Windows 10 操作系统下的台式计算机上安装了 CPLEX Studio 12.10,具有 I7.4 CPU 3.40 GHz、32 GB 内存、anaconda 环境。我想在本地解决问题,而不是在云端。