Python如何获取值块Sam

2024-09-25 06:25:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在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])

Tags: 方法代码in编码formodelifrange
1条回答
网友
1楼 · 发布于 2024-09-25 06:25:41

我认为您只需要在7,…,20中为j添加约束YALL[(i,j)] == YALL[(i,j+1)]

for i in range(YPER):
    for j in range(7, 21):
        model += YALL[(i,j)] == YALL[(i,j+1)]

我可能是得到了纸浆语法略有错误,但希望你得到的想法

相关问题 更多 >