我试图在PULP中找到一种方法来编码,以便在结束时IF语句指定的块内的所有值(即IF j>;=7和j<;=都是一样的
我不知道从哪里开始,因为我更熟悉Xpress-Mosel而不是纸浆语言的编码
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])
我认为您只需要在7,…,20中为
j
添加约束YALL[(i,j)] == YALL[(i,j+1)]
:我可能是得到了纸浆语法略有错误,但希望你得到的想法
相关问题 更多 >
编程相关推荐