1. Download Gurobi from address:http://www.gurobi.com/

Gurobi8.0.1+VisualStudio2015

2.Install and get license under campus network, and you can finish it according to homepage of Gurobi.

Gurobi8.0.1+VisualStudio2015

3.Configure Gurobi library on the VS2015

3.1.Add include directories and library directories to [Property Pages] of VS2015

Gurobi8.0.1+VisualStudio2015

3.2 Add additional dependencies to VS2015, according to [C/C++|Code Generation|Runtime Library].

Gurobi8.0.1+VisualStudio2015

Gurobi8.0.1+VisualStudio2015

Gurobi8.0.1+VisualStudio2015

Note: You must add gurobi80.lib.

3.3 Test source

/* 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;
}

Gurobi8.0.1+VisualStudio2015Gurobi8.0.1+VisualStudio2015

Success!

4.May you succeed!! 

相关文章: