как docplex использует локальный решатель? - PullRequest
0 голосов
/ 21 ноября 2018

Я хочу использовать docplex для локального решения модели MIP, но с ошибкой.

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

docplex.mp.utils.DOcplexException: Нет DLL-библиотеки CPLEX и учетных данных DOcplexcloud: модель не может быть решена!

моя версия Python 3.6.6, версия docplex 2.8.125, CPLEX 12.8 (академическая) и я использую 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.

но они, кажется,бесполезно, что-то не так в моей работе?

1 Ответ

0 голосов
/ 22 ноября 2018

Я сделал это.Сначала 100 mdl = Model('name', agent='local') не так, замените на solution = model.solver(agent='local'), этот код должен принудительно решить локально.

если venc prcharm не используется, вы можете выбрать оригинальный 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 сначала вызывает Python API CPLEX, а затем вызывает CPLEX, а не напрямую CPLEX.

Я новичок, надеюсь, вы сможете получить некоторые полезные вещи.

Надеюсь, IBM сможет продолжитьчтобы улучшить DOcplex, не делайте этого, я не хочу менять инструменты, смеется.

...