Windows Visual Studio环境下SNOPT的安装

时间:2024-04-13 14:27:31

SNOPT是一个求解大规模线性或非线性优化规划问题的软件包,有Philip Gill,Walter Murray和Michael Saunders开发。SNOPT是基于Fortran 77开发的,并以源码形式向外发布。

本文主要针对Microsoft Visual studio 2015环境下SNOPT的安装进行阐述。

 1、首先,SNOPT是商业软件,需要付费才能使用。但有幸的是,斯坦福商业软件公司对外发布试用版,适用于学生研究使用。申请者需向开发方申请snopt license,从而获得使用权。值得注意的是,snopt试用版对优化变量个数以及约束条件有一定的限制,要求优化变量个数和约束条件个数分别小于300。Snopt license的有效期也只有6个月。请从下述网站进行申请:http://ccom.ucsd.edu/~optimizers/downloads/,如图所示。

Windows Visual Studio2015环境下SNOPT的安装

点击Fortran libraries,填写申请单。下面将以win64、SNOPT为例阐述进一步地安装步骤。

 2、设置环境变量:在系统中添加环境变量SNOPT_LICENSE.

变量值为:$PATH$\snopt7.lic. 其中$PATH$代表snopt7.lic的存储路径,例如C:\Users\me

3、转入邮件中的网址

Windows Visual Studio2015环境下SNOPT的安装

该网址随申请者的不同而不同,下载SNOPT库。

点击SNOPT7栏下Shared Libraries的链接,下载SNOPT库。文件如图所示。

Windows Visual Studio2015环境下SNOPT的安装选择SNOPT C/C++ Precompiled Libraries栏下所需要的SNOPT C/C++接口程序,例如选择Windows (64-bit) 的C++ library,点击下载。文件如图所示。

Windows Visual Studio2015环境下SNOPT的安装4、由于SNOPT是基于Fortran 77开发的,因此需要安装Fortran编译器。推荐安装http://ccom.ucsd.edu/~optimizers/faq/

网页下的Intel Redistributable Libraries forFortran and C++ 2017 Compilers (Update 2)。

SNOPT主要依赖一下动态库:

  • libifcoremd.dll
  • libmmd.dll
  • svml_dispmd.dll

上述文件可参考如下路径寻找(可以将该路径加入PATH环境变量)。

C:\Program Files (x86)\CommonFiles\Intel\Shared Libraries\redist\intel64_win\compiler

5、下载SNOPT示例。

https://github.com/snopt/snopt-interface

Windows Visual Studio2015环境下SNOPT的安装6、新建VS2015空项目,在源文件中添加cppexamples中的任意一个.cpp文件。例如sntoya.cpp

Windows Visual Studio2015环境下SNOPT的安装

Windows Visual Studio2015环境下SNOPT的安装

配置管理器选择×64;解决方案配置为Debug。

右键点击工程Project1,点击属性-VC++目录。包含目录中添加5中所示文件的include文件路径;库目录分别添加3中所示snopt7.lib和snopt7_cpp.lib两个文件的目录。

点击属性-链接器-输入。附加依赖项中添加snopt7.lib和snopt7_cpp.lib两个文件。

 7、在工具栏中点击生成-生成解决方案。

8、将3中所示snopt7.dll和snopt7_cpp.dll文件拷贝至Project1工程所在debug文件夹;将libifcoremd.dll、libmmd.dll、svml_dispmd.dll同样拷贝至该文件夹。

9、运行程序。 

尽情享受Snopt软件吧!