我是优化领域的新手。虽然有些项目使用fmincon,现在正在寻找可在OpenSource中使用的替代方案,但最好在Python中以某种方式使用。因此我找到了IPopt。还有其他与fmincon同样好的建议吗?
我尝试通过编译来安装IPopt。我必须说,这似乎是一团糟。我尝试了所有版本,最终得到了最有前途的一个"使用MSVC ++编译器安装Cygwin"来自手册。因此我必须安装CYGwin并更改make.exe。完成。 将Visual Studio中的cl.exe(在我的案例中为Visual Studio 1)添加到Apth环境中。完成。 添加"调用"调用" C:\ Program Files(x86)\ Microsoft Visual Studio 14 \ VC \ vcvarsall.bat" "到cygwin.bat。完成。
现在有两件事。当我做" ./ configure"使用下载的IPopt源我得到:" configure:error:/ bin / sh' ./ configure' Ipopt"
失败了同样在手册中建议调用" ./ configure -enable-doscompile = msvc"告诉cygwin使用windows编译器给我"配置:错误:--enable-doscompile = mscv不再支持。"
因此。基本上我无法安装Ipopt。使用它似乎是不可能的,因为构建它的所有其他方法也在我的Win10 64bit上失败了。似乎手册已经过时或者我没有找到完成它的核心方法,希望你们中的一些人可能会提供帮助。编译是一个相当新的东西,我很乐意学习。 Tahnks提前。
答案 0 :(得分:0)
确保在Cygwin中安装了以下软件包。
假设您要构建64位,请在Cygwin.bat(位于Cygwin的安装位置的根目录中)中向cl.exe添加路径,以便可以从Cygwin使用msvc –
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链接程序(上面给出的路径应为msvc的link.exe)–
alias ifort='ifort -Qlocation,link,"C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/amd64"'
英特尔Fortran已集成到Visual Studio Shell中。运行此shell。从此shell执行cygwin.bat。检查链接(link --version
)的版本。如果不是Microsoft链接程序,则可能必须从Cygwin文件夹中删除Cygwin link.exe
文件。
请注意,其他bash终端(例如Git Bash)可能会干扰。您将仅在运行configure
脚本时才知道。它尝试从那些bash终端访问软件包。您可能需要暂时将它们放置在其他位置,以便cygwin找不到它们。
我了解您已经阅读了该手册,因此您必须下载了Ipopt所需的第三方工具(asl,lapck,blas和一个线性求解器)。
您现在可以运行(在Ipopt根文件夹中):
mkdir build
cd build
../configure --enable-msvc=MD
make
make install