1

我想使用 docplex 在本地解决 MIP 模型但出错。

mdl = Model('name', agent='local')

docplex.mp.utils.DOcplexException:没有 CPLEX DLL 和 DOcplexcloud 凭据:无法解决模型!

我的 python 版本是 3.6.6,docplex 版本是 2.8.125,CPLEX 是 12.8(academics),我使用 Pycharm 运行代码。

setup.py已使用 python 成功运行setup.py install

我也<cosdir>/<cplexdir>/python/<python_version>/<platform>习惯PYTHONPATH

sys.path.append(r'C:\ProgramFiles\IBM\ILOG\CPLEX_Studio_Community128\cplex\python\3.6\x64_win64')在 Pycharm 中。

但它们似乎没用,我的操作有什么问题吗?

4

1 回答 1

1

我已经做到了。首先,mdl = Model('name', agent='local')是错的,替换为solution = model.solver(agent='local'),这段代码是在本地强制解决的。

如果prcharm的venc没用,可以选择原版python作为解释器。并在 pycharm 中打开终端或将您的 cplex python api 添加到 pythonpath 中。cmd运行中python setup.py install

这样,在您的 cplex->python->win64 文件中(只有最初的) cplexsetup.py将有一个名为build.

如果你想检查求解器是否是本地的,你可以使用`

solution = model.solver(agent='local')` 
print(solution.solved_by)

将打印cplex_local或在云中

最后,我发现也许docplex是先调用CPLEX python API然后调用CPLEX,而不是直接调用CPLEX。

我是新手,希望你能得到一些有用的东西。

希望 IBM 可以继续改进 DOcplex,不要削减,我不想改变工具,哈哈。

于 2018-11-22T06:21:39.707 回答