我需要使用Gurobi Python优化具有不同目标集的模型。我在一个单独的文件中创建了一个函数,该函数创建模型,添加所有约束并返回模型(此处未定义目标)。然后,在一个单独的文件中,调用函数,现在我想访问模型中的特定变量以定义目标函数。没有错误,但似乎目标没有达到我想要的目标。实际上,Gurobi似乎忽略了我对目标函数的定义,并返回了零目标值。这是我的代码的关键部分:
import gurobipy
import model_generator #This is my function that generates the model without objective
myModel=model_generator.myfunction() #Importing the model
myModel.update()
t=myModel.getVarByName("x0_variable") #I want to access the variable "x0_variable"
myModel.setObjective(t, gurobipy.GRB.MINIMIZE)
myModel.update()
myModel.optimize()
求解器报告零成本。但是,如果我在model_generator函数中定义了目标(即,如果我在定义了变量和约束的同一文件中定义了目标),则目标不为零。
我非常感谢任何评论。谢谢!