Обновите CPLEX до академической лицензии Mac

#macos #installation #cplex

#macos #установка #cplex

Вопрос:

Я создал модель линейного программирования на Python и хочу решить это с помощью CPLEX solver на macOS High Sierra. Если я оставлю проблему небольшой, решатель будет работать просто отлично, если я увеличу размер проблемы, я получу следующее сообщение:

CPLEX Error 1016: Promotional version

Я загрузил версию для студентов, чтобы преодолеть это ограничение бесплатной версии CPLEX Studio, и получил файл .bin:

cplex_studio129.linux-x86-64.bin

Если я попытаюсь установить его в свой терминал, я получу следующее сообщение:

 Preparing to install
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...

Launching installer...

JRE libraries are missing or not compatible....
Exiting....
  

Я пытался использовать LAX_VM / Library / Java, также переустановил Java, но без успеха. Кто-нибудь может мне помочь?

Ответ №1:

Вы загрузили версию CPLEX для Linux ( linux-x86-64 ) вместо версии для macOS.

Комментарии:

1. Спасибо за ответ! Виноват! У меня также установлена версия macOS с файлом .dmg. Но на Python (я использую Jupyter Notebook) Я все еще получаю сообщение об ошибке 1016, если пытаюсь решить более серьезную проблему. Каким-то образом стандартный docplex, который устанавливается с помощью pip, по-прежнему импортируется вместо установленной академической версии. Я следовал нескольким руководствам, пытаясь перезаписать эти установки, но безуспешно. У вас есть какие-нибудь советы?

2. Вы запускали setup.py , который поставляется при установке CPLEX Optimization Studio, используя ту же среду Python, которую вы используете для своих ноутбуков Jupiter?

3. Да, я сделал! Сообщение об ошибке I относится к пакету docplex. Может ли это указывать на источник проблемы? /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/docplex/mp/error_handler.py in fatal_limits_exceeded(self) 212 def fatal_limits_exceeded(self): 213 docplex_error_stop_here() --> 214 raise DOcplexLimitsExceeded() 215 216 Я также пытался решить проблему, установив переменную PYTHONPATH, но безуспешно.

4. Кроме того. Правильно ли, что это должен быть каталог для установки пакета? /Users/Martijn/anaconda/lib/python3.6/site-packages/cplex

Ответ №2:

Я наконец-то заработал, спасибо за вклад @xavier-nodet! Вот мое решение для других с такой же проблемой:

Я установил академическую версию CPLEX с помощью следующей команды, как описано в инструкциях: python setup.py install --home /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages

Однако файлы размещаются в следующем каталоге: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/lib/python/

Я вручную переместил папки cplex и docplex в каталог пакетов сайта, вот и все!

Комментарии:

1. Как есть, это не должно быть принятым ответом. В документации по Python здесь объясняется, как использовать различные альтернативные аргументы установки (например, --home , --prefix и т.д.). Похоже, что вы должны использовать python setup.py install --prefix=/Library/Frameworks/Python.framework/Versions/3.6 , и это позволит избежать дополнительного копирования файлов.

2. Кроме того, похоже, что часть вашей проблемы заключается в том, что у вас установлены разные версии Python (например, anaconda, упомянутая в комментариях выше, по сравнению со стандартным системным Python, упомянутым здесь), и это, вероятно, является источником ваших проблем.