我正在将Gurobi 9.0.0与Python API配合使用来解决MIP。我坚持表达基于另一个变量定义的变量。
具体来说,我为变量x[i]
定义了一个变量i
。现在,我想创建一个变量y[i]
,它是x[i]
的定义范围内x[i+1]
和i
之间的绝对差。最终目标是使目标中所有y
的最大i
最小。
我尝试如下定义变量:
y[i] = model.addVar(abs_(x[i] - x[i+1]) for i in range(i_range - 1))
但是Gurobi抛出了错误
File "model.pxi",line 2562,in gurobipy.Model.addVar
TypeError: must be real number,not GenExpr
直接基于x
定义目标而没有y
也会给我带来错误。
这必须是一个非常典型的用例。如何在Gurobi中正确定义它?