-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgurobi_test.py
41 lines (31 loc) · 937 Bytes
/
gurobi_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from gurobipy import *
try:
# Create a new model
m = Model("mip1")
coe = [1, 1, 2]
v = {}
for i in range(3):
# Create variables
v[i] = m.addVar(vtype=GRB.BINARY, name=str(1))
# Integrate new variables
m.update()
var = [v[i] for i in range(3)]
#o = x + y + 2 * z
# Set objective
c_0 = [1, 2, 3];
m.setObjective(LinExpr(coe, var) + LinExpr(c_0, var), GRB.MAXIMIZE)
# Add constraint: x + 2 y + 3 z <= 4
# c_1 = x + 2 * y + 3 * z
# m.addConstr(c_1 <= 4, "c0")
c_0 = [1, 2, 3];
m.addConstr(LinExpr(c_0,var), "<=", 4, "c0")
# Add constraint: x + y >= 1
c_1 = [1, 1, 0];
#m.addConstr(x + y >= 1, "c1")
m.addConstr(LinExpr(c_0,var), ">=", 1, "c1")
m.optimize()
for v in m.getVars():
print v.varName, v.x
print 'Obj:', m.objVal
except GurobiError:
print 'Error reported'