gpt4 book ai didi

python - 将决策变量与其中使用的索引相乘

转载 作者:太空宇宙 更新时间:2023-11-03 14:07:00 29 4
gpt4 key购买 nike

我正在用 python 编写一个优化模型,我将用 Gurobi 来解决它。然而,我遇到了一个限制的问题。我想将我的决策变量与 j 的索引相乘:
x[i,j] * j ,与 j作为index of j用于x[i,j]
ij两者都被建模为列表。决策变量x[i,j]是二进制的。

我尝试过

for i in I:
m.addConstr (x[i,j]*J.index(j))

但这将始终采用列表 j 的最后一个元素。我怎样才能使约束接受 index of j用于x[i,j]

最佳答案

如果 j 是整数或连续,则可以直接执行 x[i,j]*j,如果不是,则您的代码似乎是正确的。我想你想写这个:

for j in J:
for i in I:
m.addConstr(x[i,j]*J.index(j))

for i in I:
m.addConstr(x[i,j]*J.index(j) for j in J)

您能提供详细信息吗?

您还可以像这样使用范围:

for i in I :
m.add(x[i,J[k]]*k for k in range(len(J))

for k in range(len(J)):
for i in I:
m.addConstr(x[i,J[k]]*k)

关于python - 将决策变量与其中使用的索引相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48807559/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com