gurobi安装&vs配置gurobi

gurobi安装&vs配置gurobi

1、注册账号并登录

2、下载gurobi optimizer

3、获取license:User Portal (gurobi.com)

online course可以免ip验证。

在这里插入图片描述

4、GENERATE NOW会生成,打开cmd进入gurobi安装路径(如F:\gurobi1001\win64\bin>),输入grbgetkey 。会在C:\Users\xxx 下生成gurobi.lic,然后将gurobi.lic拷贝到gurobi的安装目录下面:

在这里插入图片描述

5、vs2022配置gurobi:

  • 在C / C ++ /常规/附加包含目录下,添加:……\win64\include(gurobi安装路径)
  • 在C / C ++ /常规/附加包含目录下,添加:……\win64\include(gurobi安装路径)
  • 链接器/输入/附加依赖项下,添加gurobi100.lib和gurobi_c++mdd2017.lib

测试代码:

/* Copyright 2018, Gurobi Optimization, LLC */
/* This example formulates and solves the following simple QCP model:
maximize    x
subject to  x + y + z = 1
x^2 + y^2 <= z^2 (second-order cone)
x^2 <= yz        (rotated second-order cone)
*/
#include "gurobi_c++.h"
using namespace std;
int main()
{
	try {
		GRBEnv env = GRBEnv();
		GRBModel model = GRBModel(env);
		// Create variables
		GRBVar x = model.addVar(0.0, GRB_INFINITY, 0.0, GRB_CONTINUOUS, "x");
		GRBVar y = model.addVar(0.0, GRB_INFINITY, 0.0, GRB_CONTINUOUS, "y");
		GRBVar z = model.addVar(0.0, GRB_INFINITY, 0.0, GRB_CONTINUOUS, "z");
		// Set objective
		GRBLinExpr obj = x;
		model.setObjective(obj, GRB_MAXIMIZE);
		// Add linear constraint: x + y + z = 1
		model.addConstr(x + y + z == 1, "c0");
		// Add second-order cone: x^2 + y^2 <= z^2
		model.addQConstr(x * x + y * y <= z * z, "qc0");
		// Add rotated cone: x^2 <= yz
		model.addQConstr(x * x <= y * z, "qc1");
		// Optimize model
		model.optimize();
		cout << x.get(GRB_StringAttr_VarName) << " "
			<< x.get(GRB_DoubleAttr_X) << endl;
		cout << y.get(GRB_StringAttr_VarName) << " "
			<< y.get(GRB_DoubleAttr_X) << endl;
		cout << z.get(GRB_StringAttr_VarName) << " "
			<< z.get(GRB_DoubleAttr_X) << endl;
		cout << "Obj: " << model.get(GRB_DoubleAttr_ObjVal) << endl;
	}
	catch (GRBException e) {
		cout << "Error code = " << e.getErrorCode() << endl;
		cout << e.getMessage() << endl;
	}
	catch (...) {
		cout << "Exception during optimization" << endl;
	}
	return 0;
}

测试结果如下:

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值