Я пытаюсь найти способ в PULP кодировать так, чтобы все значения в блоке, указанном оператором IF в конце (т.е. если j> = 7 и j <= 21), были одинаковыми. </p>
Я не уверен, с чего начать, так как я более знаком с кодированием в Xpress Mosel, а не с языком PULP.
model += pulp.lpSum([YALL[(i,j)] for i in range(YPER) for j in range(HE) if j >= 23]) == pulp.lpSum([YALL[(i,j)] for i in range(YPER) for j in range(HE) if j <= 24])
Код выше - очень простой способ, которым я должен установить периоды 23 и 24 равными друг другу. Я пытаюсь сделать так, чтобы я мог указать начальный период (то есть 7) и конечный период (то есть 22) и иметь все значения между этими периодами равными друг другу. Код, который у меня есть, находится ниже, но не делает то, что мне нужно.
model += pulp.lpSum([YALL[(i,j)] for i in range(YPER) for j in range(HE) if j >= 7]) == pulp.lpSum([YALL[(i,j)] for i in range(YPER) for j in range(HE) if j <= 21])