SCIP求解器使用VS软c++语言调用详细方法

您所在的位置:网站首页 gurobi环境变量 SCIP求解器使用VS软c++语言调用详细方法

SCIP求解器使用VS软c++语言调用详细方法

2023-03-23 02:41| 来源: 网络整理| 查看: 265

一、内容来源于以下博主的总结

https://www.cnblogs.com/dengfaheng/p/10041488.html

在C++中使用SCIP求解器-CSDN博客

在执行以下步骤之前,需要下载scip,并保证在命令端窗口可以执行scip的功能

二、具体步骤

1、创建cpp空项目文件

 2、选择环境,x64   release

3、VC++目录->外部包含目录  

在scip安装目录中的include加入

F:\programmsoftware\SCIP\SCIPOptSuite 8.0.3\include  

4、VC++目录->库目录

在scip安装目录中的lib加入

F:\programmsoftware\SCIP\SCIPOptSuite 8.0.3\lib

5、链接器->输入->附加库依赖项

加入以下依赖项,有时候可能会报错找不到,可能于scip的版本有关 可以去lib目录看看

libscip.lib或者scip.lib

6、运行如下代码

#include #include #pragma comment(lib,"libscip.lib") //目标函数: 2x+3y //con 2x+3y >= 7 int main(void) { // creates and initializes SCIP data structures SCIP* _scip; SCIPcreate(&_scip); // include default plugins SCIPincludeDefaultPlugins(_scip); // creates empty problem and initializes all solving data structures SCIPcreateProbBasic(_scip, "test"); //sets objective sense of problem SCIPsetObjsense(_scip, SCIP_OBJSENSE_MINIMIZE); // changes the value of an existing SCIP_Real parameter SCIPsetRealParam(_scip, "limits/gap", 0.00001); SCIPsetRealParam(_scip, "limits/time", 10); //--添加变量 SCIP_VAR* xVar = nullptr; SCIPcreateVarBasic(_scip, &xVar, "_x", 0, SCIPinfinity(_scip), 2.0, SCIP_VARTYPE_INTEGER); SCIPaddVar(_scip, xVar); SCIP_VAR* yVar = nullptr; SCIPcreateVarBasic(_scip, &yVar, "_y", 0, SCIPinfinity(_scip), 3.0, SCIP_VARTYPE_INTEGER); SCIPaddVar(_scip, yVar); //--添加约束 SCIP_CONS* zCons; SCIPcreateConsBasicLinear(_scip, &zCons, "z_cons", 0, NULL, NULL, 7, SCIPinfinity(_scip)); SCIPaddCoefLinear(_scip, zCons, xVar, 2); SCIPaddCoefLinear(_scip, zCons, yVar, 3); SCIPaddCons(_scip, zCons); SCIPsolve(_scip); //--取最优解 SCIP_Real x_value = SCIPgetSolVal(_scip, SCIPgetBestSol(_scip), xVar); SCIP_Real y_value = SCIPgetSolVal(_scip, SCIPgetBestSol(_scip), yVar); //--释放资源 SCIPreleaseVar(_scip, &xVar); SCIPreleaseVar(_scip, &yVar); SCIPreleaseCons(_scip, &zCons); SCIPfree(&_scip); std::cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3