在Visual Studio 2017中如何配置CPLEX環境

由於最近在做一些和運籌相關的問題,需要用到優化工具,現有的數學優化工具,如matlab只能解決單目標,少約束的問題,對於解決像混合整數線性規劃模型(MILP),二次規劃模型(QLP)等問題比較侷限。而IBM的CPLEX比較全面而且提供豐富的接口用於解決運籌相關的規劃問題。以下關於如何在Visual Studio 2017中配置CPLEX環境:
首先,給大家介紹幾個CPLEX相關的教程:

  1. Getting Started with CPLEX 使用 CPLEX 以及 Concert Technology(如 C++, Java, C#, Python,寫的API) 必須看的第一個文檔,是一個很重要的教程,需要仔細閱讀。
  2. CPLEX User’s Manual 進階教程,關於相關API的介紹,對於做大型項目開發,或工程實踐建議仔細閱讀。
  3. CPLEX Parameters Reference Manual CPLEX 各項參數需要參考的文檔,使用中再查找即可。
  4. OPL Language User’s Manual 是一種專門針對優化建模的一種語言,在 CPLEX Studio 中運行。
    以上是關於,CPLEX入門的相關教程的總結,都是cplex的原生文檔,更有助於掌握其相關的功能和操作使用方法。

配置 Visual Studio C++ 調用 CPLEX 接口
軟件版本:Visual Studio 2017, CPLEX 12.8.0
注:以下文件路徑需要根據 CPLEX 在自己電腦上的安裝路徑相應修改。

  1. 新建一個控制檯程序
  2. 源碼加入頭文件 #include <ilcplex/ilocplex.h> 和 一條宏命令ILOSTLBEGIN,後者用來調用C++的STL。
  3. BUILD -> Configuration Manager, 把win32改成x64平臺。CPLEX 版本是64位的,所以必須要改。總之 C++和 CPLEX 在平臺上要一致。
  4. 接下來需要讓 C++ 的 Linker 知道CPLEX 以及 Concert Technology 的庫在哪裏。Project -> [你的項目名] Properties -> Configuration Properties -> Linker -> Input -> Additional Dependencies 添加:

C:\Program Files\IBM\ILOG\CPLEX_Studio1251\cplex\lib\x64_windows_vs2012\stat_mda\cplex1251.lib
C:\Program Files\IBM\ILOG\CPLEX_Studio1251\cplex\lib\x64_windows_vs2012\stat_mda\ilocplex.lib
C:\Program Files\IBM\ILOG\CPLEX_Studio1251\concert\lib\x64_windows_vs2012\stat_mda\concert.lib

5.然後 include 的各種路徑也要添加進去。Project -> [你的項目名] Properties -> Configuration Properties -> C/C++ -> General -> Additional Include Directories 添加:

C:\Program Files\IBM\ILOG\CPLEX_Studio1251\concert\include
C:\Program Files\IBM\ILOG\CPLEX_Studio1251\cplex\include

6.Preprocessor 中要添加一些指令,最重要的自然是IL_STD。 Project -> … Properties -> Configuration Properties -> C/C++ -> Preprocessor -> Preprocessor Definitions 添加:

WIN64 (注:如果是32位的,此處應該是 WIN32)
_CONSOLE
IL_STD
_CRT_SECURE_NO_WARNINGS

7.最後 check 下 debug 功能是否開啓了,不然沒法 debug。Project -> … Properties -> Configuration Properties -> Linker -> Debugging -> Generate Debug Info 改成 YES

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章