如何在Python Gurobi函数中使用“字符串”来引用“线性表达式”作为参数?

奥兹古

我有以下一段Python代码来定义一堆“ obj”:

obj1=LinExpr(sumOFw_plusPLUSw_minus)
obj2=LinExpr(quicksum(epsilon[s] for s in N)) 

其中“ sumOFw_plusPLUSw_minus”是一个表达式,“ epsilon”是一个Var类型。

我想使其参数化,以便以后可以添加更多目标表达式。为了应用该方法,我尝试在循环内准备一个字符串,并使用此字符串按如下所示调用上述表达式,但在第5行得到了“ GurobiError:无法将参数转换为表达式”。

for j in range(1,2):
    for i in range(1,num_obj):
        valid_obj='obj'+str(i)
        if j==1:
            m.setObjective(valid_obj, GRB.MINIMIZE)
        else:
            m.setObjective(valid_obj, GRB.MAXIMIZE)
        m.update()    
        m.optimize()
拉姆·纳拉辛汉(Ram Narasimhan)

问题在于'obj'+ str [i]只是一个Python字符串,而不是一个对象。Gurobi不知道如何将Objective值设置为字符串,它正在寻找目标表达式。

要基于参数获取不同的目标函数,可以声明“目标成本”并将其存储在列表中。例如:

cost =[]
cost[0] = LinExpr(sumOFw_plusPLUSw_minus)
cost[1] = LinExpr(quicksum(epsilon[s] for s in N)) 
...

现在,您可以通过根据索引的值在成本列表中调用适当的元素来设置“目标” i(您甚至可以添加不同的元素,只要它们是有效且线性的即可。)

valid_obj = cost[i]

m.setObjective(valid_obj, GRB.MINIMIZE)只要列表中的每个元素都是模型中决策变量的有效线性表达式,它将起作用m

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在javascript中使用正则表达式来单独搜索字符串?

来自分类Dev

如何在javascript中使用正则表达式来单独搜索字符串?

来自分类Dev

如何在Python后置断言正则表达式(?<= \\)中使用'\'来匹配类似C ++的引号字符串

来自分类Dev

如何在python中使用正则表达式排除特定的字符串?

来自分类Dev

python中的正则表达式:如何在模式中使用可变字符串?

来自分类Dev

如何在python中使用正则表达式替换字符串的多个单词?

来自分类Dev

如何在python中使用正则表达式以“,”分隔字符串

来自分类Dev

如何在python中使用正则表达式删除字符串的右侧元素?

来自分类Dev

如何在python中使用正则表达式从字符串中检索子字符串

来自分类Dev

如何在JXPath表达式中使用字符串的子字符串

来自分类Dev

如何在Handlebars帮助器表达式中将字符串作为参数传递?

来自分类Dev

如何在Handlebars帮助器表达式中将字符串作为参数传递?

来自分类Dev

在Python中使用lambda表达式实现字符串包含函数

来自分类Dev

如何在JavaScript中使用正则表达式测试函数调用的字符串?

来自分类Dev

如何在字符串中包含\作为正则表达式python的模式

来自分类Dev

python-如何在Python中使用正则表达式从字符串中提取日期?

来自分类Dev

如何在 Python 中使用字符串作为函数参数并具有可变数量的参数

来自分类Dev

如何在python中使用正则表达式为字符串插入html之类的标记“ <s> </ s>”?

来自分类Dev

如何在Python 3中使用正则表达式查找字符串?

来自分类Dev

如何在python中使用正则表达式从括号中获取字符串

来自分类Dev

如何在python中使用正则表达式为字符串插入html之类的标记“ <s> </ s>”?

来自分类Dev

如何在 python 中使用正则表达式合并来自同一用户的字符串\句子

来自分类Dev

在 Python 中使用字符串作为函数的参数

来自分类Dev

如何在Java中使用正则表达式允许空字符串?

来自分类Dev

如何在pyspark中使用正则表达式从字符串中删除星号*

来自分类Dev

如何在Perl中使用正则表达式grep字符串?

来自分类Dev

如何在Java中使用正则表达式拆分字符串

来自分类Dev

如何在javascript中使用正则表达式选择特定的字符串值?

来自分类Dev

如何在VScode中使用正则表达式的字符串前插入$?

Related 相关文章

  1. 1

    如何在javascript中使用正则表达式来单独搜索字符串?

  2. 2

    如何在javascript中使用正则表达式来单独搜索字符串?

  3. 3

    如何在Python后置断言正则表达式(?<= \\)中使用'\'来匹配类似C ++的引号字符串

  4. 4

    如何在python中使用正则表达式排除特定的字符串?

  5. 5

    python中的正则表达式:如何在模式中使用可变字符串?

  6. 6

    如何在python中使用正则表达式替换字符串的多个单词?

  7. 7

    如何在python中使用正则表达式以“,”分隔字符串

  8. 8

    如何在python中使用正则表达式删除字符串的右侧元素?

  9. 9

    如何在python中使用正则表达式从字符串中检索子字符串

  10. 10

    如何在JXPath表达式中使用字符串的子字符串

  11. 11

    如何在Handlebars帮助器表达式中将字符串作为参数传递?

  12. 12

    如何在Handlebars帮助器表达式中将字符串作为参数传递?

  13. 13

    在Python中使用lambda表达式实现字符串包含函数

  14. 14

    如何在JavaScript中使用正则表达式测试函数调用的字符串?

  15. 15

    如何在字符串中包含\作为正则表达式python的模式

  16. 16

    python-如何在Python中使用正则表达式从字符串中提取日期?

  17. 17

    如何在 Python 中使用字符串作为函数参数并具有可变数量的参数

  18. 18

    如何在python中使用正则表达式为字符串插入html之类的标记“ <s> </ s>”?

  19. 19

    如何在Python 3中使用正则表达式查找字符串?

  20. 20

    如何在python中使用正则表达式从括号中获取字符串

  21. 21

    如何在python中使用正则表达式为字符串插入html之类的标记“ <s> </ s>”?

  22. 22

    如何在 python 中使用正则表达式合并来自同一用户的字符串\句子

  23. 23

    在 Python 中使用字符串作为函数的参数

  24. 24

    如何在Java中使用正则表达式允许空字符串?

  25. 25

    如何在pyspark中使用正则表达式从字符串中删除星号*

  26. 26

    如何在Perl中使用正则表达式grep字符串?

  27. 27

    如何在Java中使用正则表达式拆分字符串

  28. 28

    如何在javascript中使用正则表达式选择特定的字符串值?

  29. 29

    如何在VScode中使用正则表达式的字符串前插入$?

热门标签

归档