Как получить постоянные значения ограничений в списке, используя PULP? - PullRequest
0 голосов
/ 31 января 2020

Я использую целлюлозу для написания алгоритма решения задачи оптимизации. Мне нужно постоянное значение последнего ограничения в списке, на каждом шаге это ограничение может меняться! как я могу написать это? вот часть моего кода

NLDS4 = LpProblem('NLDS(2,3)',LpMinimize)
y123=LpVariable('y123',lowBound=0)
y223=LpVariable('y223',lowBound=0)
w123=LpVariable('w123',lowBound=0)
w223=LpVariable('w223',lowBound=0)
w323=LpVariable('w323',lowBound=0)
w423=LpVariable('w423',lowBound=0)
x123=LpVariable('x123',lowBound=0)
x223=LpVariable('x223',lowBound=0)
x323=LpVariable('x323',lowBound=0)
theta23=LpVariable('theta23')
NLDS4+= 150*x123 + 230*x223 + 260*x323 + 238*y123 + 210*y223 - 170*w123 - 150*w223 - 36*w323 - 10*w423 + 1*theta23
NLDS4+= 1*x123+ 1*x223+ 1*x323 <= 500
NLDS4+= 1*x323 + s[2][0] <= 500
NLDS4+= 2*s[0][0] + 1*y123 - 1*w123 >= 200
NLDS4+= 2.4*s[1][0] + 1*y223 -1*w223 >= 240
NLDS4+= 1*w323 + 1*w423 <= 16*s[2][0]
NLDS4+= w323 <= 6000 
NLDS4+= theta23==0

постоянное значение последнего ограничения может меняться каждый шаг!

...