Я написал линейную задачу для целлюлозы с использованием ограничений эластичности c и получил ошибку «LP HAS UNBOUNDED PRIMAL SOLUTION», но когда я запускаю с использованием обычных ограничений, я получаю оптимальное решение. Кто-нибудь может сказать мне, почему? Я пытаюсь ослабить ограничения. Вот его код:
from pulp import *
prob = LpProblem('Optimizator', LpMaximize)
x = LpVariable('x')
y = LpVariable('y')
prob += x + y
prob += x + y <=100
prob += x+y >= -100
lst = []
lst.append(x)
lst.append(y)
lst1 = []
lst1.append(LpConstraint(2*lst[0]+lst[1]*3,sense=-1,rhs=3, name="constraint1"))
#lst1.append(LpConstraint(2.2*lst[0]+lst[1]*(1/3.2)-1-lst[0],sense=-1,rhs=3))
for x in lst1:
el = x.makeElasticSubProblem(penalty=1000, proportionFreeBound = 0.5)
prob.extend(el)
# prob += x
print(prob)
prob.solve()
for variable in prob.variables():
print("{} = {}".format(variable.name, variable.varValue))
print("Total Trips =", pulp.value(prob.objective))