Docplex 和 CPLEX Python API 之间有什么区别?他们中的任何一个比另一个更快吗?
我正在将以前在 IBM 的 DoCloud 上运行的应用程序迁移到基于 Watson 的新 API。由于我们的应用程序没有 CSV 格式的数据,也没有模型层和数据层之间的分离,上传一个 LP 文件和一个读取 LP 文件并解决它的模型文件似乎更简单。我可以上传并且它声称可以正确解决但返回空的解决状态。我还输出了各种模型信息(例如变量的数量),并且一切都归零了。我已经确认 LP 不是空白的 - 它有一个微不足道的 MILP。
这是我的模型代码(其中大部分直接取自https://dataplatform.cloud.ibm.com/exchange/public/entry/view/50fa9246181026cd7ae2a5bc7e4ac7bd 上的示例):
import os
import sys
from os.path import splitext
import pandas
from docplex.mp.model_reader import ModelReader
from docplex.util.environment import get_environment
from six import iteritems
def loadModelFiles():
"""Load the input CSVs and extract the model and param data from it
"""
env = get_environment()
inputModel = params = None
modelReader = ModelReader()
for inputName in [f for f in os.listdir('.') …Run Code Online (Sandbox Code Playgroud) 我在 Ubuntu 计算机上安装了CPLEX Optimization Studiodocplex ,并且正在成功使用模型模块。现在我必须使用CpoModel并docplex.cp.model出现错误:
CpoException:无法执行命令“cpoptimizer -angel”。请检查所需可执行文件的可用性。
我不知道发生了什么事。我无法获得IBM的支持,因为我有学生许可证。
为了解决我的库存问题,我需要一个三维决策变量x_{ij}^t
我是 CPLEX Python API docplex 的新手,到目前为止我发现的是
m = Model(name='inventory_problem')
x = m.integer_var_matrix(keys1=all_origins, keys2=all_destinations)
Run Code Online (Sandbox Code Playgroud)
这将涵盖索引中的 i 和 j 但如何包含第三个维度?
我想这不是很困难,但我就是找不到它......非常感谢!
python mathematical-optimization cplex multidimensional-array docplex