我只是在学习PuLP库的工作原理,它是一个线性编程求解器。
在这里找到了我正在使用的代码:LINK。它解决了以下优化问题(在这种情况下,使用二进制变量x_ {ij}):
这是本教程中的代码:
import random
import pulp as plp
#Creating random constants for the model's input
n = 10
m = 5
set_I = range(1, n+1)
set_J = range(1, m+1)
c = {(i,j): random.normalvariate(0,1) for i in set_I for j in set_J}
a = {(i,j): random.normalvariate(0,5) for i in set_I for j in set_J}
l = {(i,j): random.randint(0,10) for i in set_I for j in set_J}
u = {(i,j): random.randint(10,20) for i in set_I for j in set_J}
b = {j: random.randint(0,30) for j in set_J}
opt_model = plp.LpProblem(name="Binary Model")
# if x is Binary
x_vars = {(i,j):
plp.LpVariable(cat=plp.LpBinary, name=&