Метод model.solve () не работает (CPLEX DLL не найдена) для DOcplex для Python

Я строю свою математическую модель, используя пакет DOcplex IBM для Python. Я уверен, что другая часть моделирования верна, однако, когда выполняется вызов Model.solve(), я получаю следующую ошибку:

"CPLEX DLL not found: please provide DOcplexcloud credentials"

На моем компьютере установлен CPLEX Studio 12.6, и я хочу решить проблему локально, а не в облаке.


person Faraz Ramtin    schedule 12.12.2016    source источник


Ответы (2)


Похоже, у вас не установлен CPLEX Python API. По умолчанию, когда вы устанавливаете CPLEX Optimization Studio (также известную как COS), привязки Python копируются на ваш диск, но они не связаны ни с одной из ваших локальных установок Python.

Если вы следуете инструкциям на Настроив Python API страницы CPLEX, вы должны иметь возможность выполнять локальное решение. Короче говоря, вы можете запустить сценарий setup.py под yourCPLEXhome/python/VERSION/PLATFORM или установить переменную среды PYTHONPATH.

person rkersh    schedule 12.12.2016
comment
Просто у меня другая версия Python. Как я могу указать конкретную версию моего Python для установки setup.py? - person Faraz Ramtin; 13.12.2016
comment
Кроме того, есть ли проблема совместимости с Python 3.5.2 и CPLEX 12.6? - person Faraz Ramtin; 13.12.2016
comment
Если вы хотите использовать Python 3.5, вам придется использовать CPLEX 12.7. 12.6 поддерживает 3.4. См. подробные системные требования. - person rkersh; 13.12.2016
comment
У меня на компьютере установлены Python 3.5.2 и Cpelx 17.0. в адресе "... / python / version / platform" нет файла setup.py. Я мог найти его по другому адресу, но когда я запустил установку от консула, я получил это сообщение - ›C: \ Program Files \ IBM \ ILOG \ CPLEX_Studio127 \ cplex \ python \ 3.5 \ x64_win64› python - ›setup .py install - ›running install -› running build - ›running build_py -› создание сборки - ›ошибка: не удалось создать 'build': доступ запрещен - person Faraz Ramtin; 13.12.2016
comment
Думаю, я нашел свой ответ: ошибка stackoverflow.com/questions/23362217/ - person Faraz Ramtin; 13.12.2016
comment
Я установил CPLEX_studio_commnity128 на машину Linux. Я получил эту ошибку и попробовал исправить, как указано здесь. Но не вышло. Я даже попытался добавить PYTHONPATH в эту папку. Но без помощи Cplex Home: /opt/ibm/ILOG/CPLEX_Studio_Community128 когда я захожу в каталог python, я не вижу каталога, в котором перечислены все версии python. Я использовал команду sudo python setup.py install и sudo python3 setup.py install Python версии 3.5 и 3.6 Ошибка все еще сохраняется. Может ли кто-нибудь дать мне обходной путь для этого? - person JAugust; 08.05.2018
comment
@JAugust, судя по вашему комментарию, путь к CPLEX Python API должен быть, например, /opt/ibm/ILOG/CPLEX_Studio_Community128/cplex/python/3.5/x86-64_linux/. В качестве альтернативы, поскольку вы все равно используете версию сообщества, вы можете просто pip install cplex (сейчас она доступна в PyPI). - person rkersh; 09.05.2018
comment
@rkersh Спасибо за вклад, я попробовал то же самое, и многие проблемы не исчезли. Я очень сомневаюсь, что мои установки python сильно отличаются от этого несоответствия. Однако позвольте мне рассказать вам, как я нашел свое решение. Я сделал именно то, что вы сказали, и это дало мне некоторую ошибку, связанную с docloud, и в крайнем случае я начал вводить команды с sudo, и, к моему удивлению, все ошибки исчезли, и программа начала выдавать мне результат. Та же самая команда, которая выдавала мне печально известные ошибки, начала работать без проблем. Не знаю, почему, но это сработало как шарм. Спасибо за вклад. - person JAugust; 09.05.2018

Вы используете Anaconda? Я решил это, запустив следующее в установочном каталоге CPLEX:

python setup.py install --home <PackagesHome>\cplex

с <PackagesHome> как <user>\AppData\Local\Continuum\Anaconda2\Lib\site-packages

person s3b4s    schedule 07.08.2017