在Python上打印CPLEX LP的线性约束
我需要打印我所有的线性约束来验证我所写内容的正确性,但是不知道Python的CPLEX库,我不知道怎么做 这是我在LP中的角色:在Python上打印CPLEX LP的线性约束,python,cplex,Python,Cplex,我需要打印我所有的线性约束来验证我所写内容的正确性,但是不知道Python的CPLEX库,我不知道怎么做 这是我在LP中的角色: import cplex problem = cplex.Cplex() problem.objective.set_sense(problem.objective.sense.minimize) names = [] upper_bounds = [] lower_bounds = [] types = [] constraint_names = [] cons
import cplex
problem = cplex.Cplex()
problem.objective.set_sense(problem.objective.sense.minimize)
names = []
upper_bounds = []
lower_bounds = []
types = []
constraint_names = []
constraints = []
for i in range(0, 12):
for j in range(0, 12):
names.append("x" + str(i) + "_" + str(j))
types.append(problem.variables.type.integer)
upper_bounds.append(1.0)
lower_bounds.append(0.0)
for i in range(0, 12):
names.append("y" + str(i))
types.append(problem.variables.type.integer)
upper_bounds.append(1.0)
lower_bounds.append(0.0)
problem.variables.add(obj=objective,
lb=lower_bounds,
ub=upper_bounds,
types = types,
names=names)
# Constraints
for i in range(0, 22):
constraint_names.append("c" + str(i))
for j in range(1, 12):
variables = []
for i in range(0, 12):
variables.append("x" + str(i) + "_" + str(j))
variables.append("y" + str(j))
constraints.append([variables, ([1.0] * 12) + [-1.0]])
for i in range(0, 11):
variables = []
for j in range(0, 12):
variables.append("x" + str(i) + "_" + str(j))
variables.append("y" + str(i))
constraints.append([variables, ([1.0] * 12) + [-1.0]])
problem.linear_constraints.add(lin_expr=constraints, senses=constraint_senses, rhs=rhs, names=constraint_names)
我想打印出这22个线性约束。我正在Python 3.7.9上使用CPLEX 12.9,这将在prob.lp中编写模型:
problem.write("prob.lp")