Pulp:在循环中添加多个 LpSum
Pulp: Adding multiple LpSum in a loop
我有一个这样的列表:
list = [var_1, var_2, var_3]
使用 Pulp 库,我试图通过 for 循环将它们定义为变量:
LpVariable(list[i] for i in range(len(list)))
然后我尝试将它们全部相加并将其分配给模型:
model += LpVariable(list[i] for i in range(len(list)))
在这两种情况下,我都收到一条错误消息,显示 预期的字符串或类似字节的对象
谁能帮帮我?
此致
我没有检查语法,但 lpSum 可以对 LpVariables 列表求和,所以你想要一些看起来更像的东西吗
model += LpSum([LpVariable(i) for i in list])
这假设您的列表的元素是名称字符串并且您想要创建新的 LpVariables。
如果是这样,您可能希望首先将这些新的 LpVariables 保存在列表或字典中,以便您可以在约束中使用它们,然后将它们作为 objective 添加到模型中
如果列表中的元素已经是 LpVariables,那么您只需要
model += LpSum(list)
我有一个这样的列表:
list = [var_1, var_2, var_3]
使用 Pulp 库,我试图通过 for 循环将它们定义为变量:
LpVariable(list[i] for i in range(len(list)))
然后我尝试将它们全部相加并将其分配给模型:
model += LpVariable(list[i] for i in range(len(list)))
在这两种情况下,我都收到一条错误消息,显示 预期的字符串或类似字节的对象
谁能帮帮我?
此致
我没有检查语法,但 lpSum 可以对 LpVariables 列表求和,所以你想要一些看起来更像的东西吗
model += LpSum([LpVariable(i) for i in list])
这假设您的列表的元素是名称字符串并且您想要创建新的 LpVariables。
如果是这样,您可能希望首先将这些新的 LpVariables 保存在列表或字典中,以便您可以在约束中使用它们,然后将它们作为 objective 添加到模型中
如果列表中的元素已经是 LpVariables,那么您只需要
model += LpSum(list)