Установка и использование IPopt с Cygwin - или даже лучшая альтернатива?

Я новичок в области оптимизации. Тем не менее, я сделал несколько проектов с fmincon, и теперь я ищу альтернативу, которую можно использовать в OpenSource, предпочтительно как-то использовать в Python. Поэтому я нашел IPopt. Любые другие предложения, которые так же хороши, как fmincon?

Я попытался установить IPopt, скомпилировав его. И надо сказать, это похоже на беспорядок. Я перепробовал все версии и остановился на самой многообещающей "Установка с помощью Cygwin с использованием компилятора MSVC++" из Руководства. Поэтому я должен установить CYGwin и изменить make.exe. Сделанный. Добавьте cl.exe из Visual Studio (в моем случае Visual Studio 1) в среду Apth. Сделанный. добавить "call" call "C:\Program Files (x86)\Microsoft Visual Studio 14\VC\vcvarsall.bat" " в cygwin.bat. Готово.

Теперь две вещи. Когда я делаю «./configure» с загруженными источниками IPopt, я получаю: «configure: error: /bin/sh './configure' failed for Ipopt"

Также, как предлагается в руководстве, вызывая «./configure -enable-doscompile=msvc», чтобы указать cygwin использовать компилятор Windows, выдает мне «configure: error: --enable-doscompile=mscv больше не поддерживается».

Так. В основном я не могу установить Ipopt. Использование его кажется невозможным, так как все другие методы его сборки также не сработали на моей 64-битной версии Win10. Кажется, что руководство устарело или я не нахожу правильный способ сделать это, надеюсь, что кто-то из вас, ребята, может помочь. Компиляция — это что-то довольно новое, и я рад этому научиться. Танки заранее.


person RandomMario    schedule 20.11.2017    source источник
comment
Также я нашел пользователя, который, кажется, использует его. К сожалению, я не могу спросить, как он заработал. Поэтому я надеюсь, что кто-то может помочь здесь. @Ingrid заработало: заголовок stackoverflow.com/questions/46609929/   -  person RandomMario    schedule 21.11.2017


Ответы (1)


Убедитесь, что у вас установлены следующие пакеты в Cygwin.

  • Разработчик: gcc
  • Разработчик: gfortran
  • Разработка: pkg-config
  • Разработка: подрывная деятельность
  • Архив: распаковать
  • Утилиты: патч
  • Интернет: wget
  • Утилиты: dos2unix

Предполагая, что вы собираете 64-разрядную версию, добавьте путь к cl.exe в Cygwin.bat (находится в корневом каталоге места, где был установлен Cygwin), чтобы msvc можно было использовать из Cygwin — call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat" (vcvarsall требует, чтобы вы указали версию архитектуры)

Вам понадобится компилятор Intel Fortran. Он поставляется вместе с Parallel Studio. Бесплатно для студентов, преподавателей и участников с открытым исходным кодом.


В .bash_profile (находится в pathto/cygwin64/home/username/) добавьте эту строку, чтобы ifort распознал компоновщик msvc (указанный выше путь должен быть к link.exe msvc) –< br> alias ifort='ifort -Qlocation,link,"C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/amd64"'

Intel Fortran интегрируется в оболочку Visual Studio. Запустите эту оболочку. Запустите cygwin.bat из этой оболочки. Проверьте версию ссылки (link --version). Если это не компоновщик Microsoft, возможно, вам придется удалить файл Cygwin link.exe из папки Cygwin.

Обратите внимание, что любые другие терминалы bash (например, Git Bash) могут создавать помехи. Вы узнаете об этом только при запуске скрипта configure. Он пытается получить доступ к пакетам с этих терминалов bash. Возможно, вам придется временно разместить их в другом месте, чтобы cygwin не нашел их.

Насколько я понимаю, вы прочитали руководство, поэтому вы должны были загрузить необходимые сторонние инструменты для Ipopt (asl, lapck, blas и один линейный решатель).

Теперь вы можете запустить (в корневом каталоге Ipopt):

mkdir build  
cd build  
../configure --enable-msvc=MD  
make  
make  install
person leo valdez    schedule 01.07.2018