Model.addGenConstrXxx ()
Model.addGenConstrXxx ()
下面描述的每个函数都添加了一个新的一般的约束一个模型。
数学规划传统上定义了一组基本约束类型:变量约束、线性约束、二次约束、完整性约束和SOS约束。这些通常由底层求解器直接处理(尽管不总是),并且是整个算法的基础。手机万博登录
Gurobi接受许多额外的约束类型,我们统称为一般(函数)的约束.这些都是典型的不由解算器直接处理。手机万博登录相反,它们通过预分解转换为从上面列出的基本类型中选择的约束(和变量)。在某些情况下,得到的约束条件在数学上与原始条件等价;在其他情况下,它们是近似的。如果这样的约束出现在您的模型中,但是如果您希望自己使用基本约束类型来重新定义它们,那么您当然可以这样做。但是,请注意,Gurobi有时可以利用模型中其他约束中包含的信息来构建比您可能创建的更有效的公式。
附加的约束类型属于这一类一般的约束伞是:
- addGenConstrMax:
- addGenConstrMin:
- addGenConstrAbs:
- addGenConstrAnd:
- addGenConstrOr:
- addGenConstrIndicator:(一个指标约束)
- addGenConstrPWL:(分段线性函数,使用断点指定)
- addGenConstrPoly:
- addGenConstrExp:
- addGenConstrExpA:
- addGenConstrLog:
- addGenConstrLogA:
- addGenConstrPow:
- addGenConstrSin:
- addGenConstrCos:
- addGenConstrTan:
您还可以通过添加几种类型的一般约束addConstr或addConstrs,使用重载操作符和一些一般约束辅助函数.下面的描述将说明这些等价的、更简洁的替代方案。
请参考本节有关一般约束的其他详细信息。