Model.setMObjective ()


Model.setMObjective ()

setMObjective(Q, c, constant, xQ_L=None, xQ_R=None, xc=None, sense=None)

使用矩阵语义将模型目标设置为一个二次(或线性)表达式。

注意,您通常会使用重载操作符来使用矩阵对象设置目标。的重载操作符可以用来构建线性矩阵表达式或者一个二次矩阵表达式,然后传递给setObjective

参数:

:二次目标矩阵- NumPy 2-D密集ndarray或SciPy稀疏矩阵。这可以没有一个如果没有二次项。

c:线性约束向量- NumPy 1-D ndarray。这可以没有一个如果没有线性项。

常数:目的不变。

xQ_L(可选):二次目标项的决策变量;左乘数为q兆乏对象的列表Var对象,或没有一个没有一个使用模型中的所有变量)。参数的长度必须匹配第一个维的大小

xQ_R(可选):二次目标项的决策变量;参数的长度必须匹配的第二个维度的大小

我(可选):线性客观项的决策变量。参数可以是兆乏对象的列表Var对象,或没有一个没有一个使用模型中的所有变量)。参数的长度必须匹配c

意义(可选):优化感觉(伽马射线爆发。最小化最小化,伽马射线爆发。最大化最大化)。方法时忽略此参数ModelSense属性值确定意义。

使用示例:

c = np。full(10, 1.0) xc = model. addmvar(10)模型。setMObjective(没有一个, c, 0.0, None, None, xc, GRB.MAXIMIZE) Q = np.full((2, 3), 1.0) xL = model.addMVar(2) xR = model.addMVar(3) model.setMObjective(Q, None, 0.0, xL, xR, None, GRB.MINIMIZE)