问题标签 [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 投票
0 回答
107 浏览

python - 二进制参数

如何使用 python docplex 编写二进制变量作为参数?

0 投票
1 回答
2215 浏览

cplex - Docplex 与 CPLEX Python API

Docplex 和 CPLEX Python API 有什么区别?它们中的任何一个都比另一个快吗?

0 投票
0 回答
857 浏览

python - cplex python模型定义和变量

我最近开始在我的主项目中使用集成在 python 中的 CPLEX,但我很难处理我的一个变量。我正在根据风能和太阳能以及电力市场价格对电池的充电和放电进行建模。我所有的充电、放电和生产变量都定义明确,但我的电池充电状态在求解后始终为空。当调用此变量的获取值时,我得到一个零列表(使用 sol 优化的解决方案和 Ebes 充电状态的名称):

这个变量甚至是不可行的,因为我在模型中也有约束:

当我在求解之前显示模型时print(mdl.export_to_string()),显示 Ebes 在所有时间步长上都被限制为高于 Ebmin(=20)。我得到的唯一提示是其中变量的名称与其他变量的名称略有不同。在这里,Ebes 的变量命名为 _Ebes_date,而其他变量命名为例如 Pdischarge_date 而不是 _Pdischarge_date。我猜这个名称前的“_”表明存在问题,但我无法找到要更改的内容。

我的变量定义为:

谢谢你花时间回答我:)

整个例子:

所以这里的 sol_Ebess 对于所有索引都是空的。如果我将 ind 更改为数字,它会起作用并且 Ebess 等于实际值。

0 投票
2 回答
131 浏览

docplex - 如何在 docplex 中实现切片?

我正在将一些代码从 OPL 传输到 docplex,并且在切片语法方面遇到了问题。我正在尝试创建一组约束,其中包含与另一个决策变量连接的所有值的总和。

我已经尝试了add_constraintsand add_constraint(在 for 循环内),但我得到了一个无效的语法错误。我在 Google OR 中使用了这种格式,所以我希望它可以工作。

这是我的 OPL 代码:

我在 docplex 中尝试了以下内容:

我期望为每个var1,var3组合创建一个约束,其中包括var1,var2,var3在另一个索引/数据框中找到的所有相关索引。包含“if”语句时,我会收到“无效语法”错误,但如果没有它,我会得到包含另一个索引的完整笛卡尔连接的约束,而没有任何过滤。

0 投票
2 回答
811 浏览

python - 如何使用python在docplex中设置一个四维变量?

我想设置一个二进制的四维变量,比如 X[a][b][c][d],bur docplex 只有 binary_var_cube设置三维的功能。我怎样才能创建一个四维?我发现有人用它来创建一个三维,并说它可以扩展到更多维度。但它没有用。

0 投票
1 回答
434 浏览

python - 获取二进制变量的值

我有一个使用 docplex 解决的 MILP。现在我想在解析后获取我的二进制变量( binary_var_dict )的值。谁能告诉我应该如何进行?提前致谢

0 投票
1 回答
181 浏览

linear-programming - CVRP 无需访问每个节点

我有一个容量车辆路线模型的线性模型。现在我想限制活动边的最大数量,这将导致并非每个节点都可以访问。但是,每条路线都应在站点(节点 0)开始和结束。我有以下模型:

输入:

模型:

为了实现最大活动边的约束,我添加了以下约束:

因此,我应该在约束 (1) 和 (2) 中将 '==' 运算符调整为 '<='。然而,结果是节点 0,即仓库,不再强制访问。任何人都可以进一步帮助我吗?先感谢您!

0 投票
1 回答
262 浏览

python - 指标约束(“生成器”类型的对象没有 len())

我正在研究基于教程的 VRP 优化问题。当我添加 subtours 约束时,我得到一个错误。我正在关注本教程:https ://www.youtube.com/watch?v=eMsqsmftWOQ&t=2398s

语境:

错误列表是:

我认为公式的语法还可以,与教程相同,所以我认为是库中的问题,因为我收到警告消息

你知道我该如何解决吗?

0 投票
1 回答
166 浏览

python - VRP异构站点依赖

在我的代码中,我设法实现了不同的车辆类型(我认为)并指出了站点依赖性。但是,在我的优化输出中,车辆似乎可以行驶不止一条路线。我想实现我的车辆,一旦它返回到站点(节点 0),分配一辆新的车辆执行另一条路线。你能帮我解决这个问题吗?:)

我正在使用 Docplex 求解器在 Python Jupyter 笔记本上运行

我希望每条路线都会被另一辆车访问,但是相同的车辆执行多条路线。此外,现在计算访问节点的累积负载,我想在路线上为车辆提供这个,以便可以执行最后一个约束(最小负载因子)。

0 投票
1 回答
417 浏览

python - 如何在 Anaconda 中安装 docplex 包?

我正在尝试在工作计算机上安装 docplex,并且在尝试安装它时想知道错误来自哪里。

我正在使用 Anaconda3-5.2.0 和 Python 3.6.5.final.0。我正在运行 anaconda 提示符并输入以下代码:

输入后出现此错误:

CondaHTTPError: HTTP 000 CONNECTION FAILED for url https://conda.anaconda.org/ibmdecisionoptimization/win-64/repodata.json Elapsed: -

尝试检索此 URL 时发生 HTTP 错误。HTTP 错误通常是间歇性的,简单的重试将使您顺利上路。ConnectionError(MaxRetryError("HTTPSConnectionPool(host='conda.anaconda.org', port=443): url: /ibmdecisionoptimization/win-64/repodata.json 导致的最大重试次数(': 无法建立新的连接:[Errno 11001] getaddrinfo failed',))",),)

我希望终端安装软件包,但它给了我一条错误消息。我尝试进行 pip 安装,但这也无济于事。请帮忙,谢谢!