[英]Print linear constraints of CPLEX LP on Python
我需要打印我所有的線性約束來驗證我寫的內容的正確性但不知道 Python 的 CPLEX 庫我不知道該怎么做。
這是我的 LP 部分:
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 中寫入 Model:
problem.write("prob.lp")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.