我想使用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')
在皮查姆。
但是它们似乎没用,我的操作有什么错误吗?
答案 0 :(得分: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文件中(最初只有cplex
和setup.py
),将有一个名为build
的新文件。
如果要检查求解器是否在本地 您可以使用`
solution = model.solver(agent='local')`
print(solution.solved_by)
将打印cplex_local
或在云端打印
最后,我发现也许docplex首先调用CPLEX python API,然后再调用CPLEX,而不是直接调用CPLEX。
我是新手,希望您能得到一些有用的东西。
希望IBM可以继续改进DOcplex,不要削减,我不想更改工具,大声笑。