GRBModel: addGenConstrIndicator ()


GRBModel: addGenConstrIndicator ()

添加一个新的通用类型约束GRB_GENCONSTR_INDICATOR一个模型。

一个指标约束<span>$</span>z = f \rightarrow a^Tx \leq b<span>$</span>说明如果是二进制指示器变量< span > < / span > z < span >美元< / span >等于< span > < /美元跨度> f \ \ {0,1 \} < span > < / span >美元,然后是线性约束< span > < / span >美元^ Tx \ leq b < span > < / span >美元应该持有。另一方面,如果< span > < / span > z =美元行进< span > < / span >美元,则可能违反线性约束。线性约束的意义也可以指定为< span > < / span > = < span >美元< / span >< span > < /美元跨度> \组< span > < / span >美元

注意指示器变量< span > < / span > z < span >美元< / span >的约束将被迫为二进制;与它是如何创建的无关。

多个签名可用。

GRBGenConstr addGenConstrIndicator GRBVar binvar,
int binval,
const GRBLinExpr& expr。
字符 意义上说,
,
字符串 name = " ")
    参数:

    binvar:二进制指标变量。

    binval:二进制指示器变量的值,该变量将强制满足线性约束(< span > < / span > 0 < span >美元< / span >< span > < / span > 1美元美元< span > < / span >).

    expr:由指示器触发的线性约束的左边表达式。

    感觉:线性约束的意义。选项是GRB_LESS_EQUALGRB_EQUAL,或GRB_GREATER_EQUAL

    园艺学会:线性约束的右边值。

    名称(可选):新通用约束的名称。

    返回值:

    新通用约束。

GRBGenConstr addGenConstrIndicator GRBVar binvar,
int binval,
const GRBTempConstr& 若干,
字符串 name = " ")
    参数:

    binvar:二进制指标变量。

    binval:二进制指示器变量的值,该变量将强制满足线性约束(< span > < / span > 0 < span >美元< / span >< span > < / span > 1美元美元< span > < / span >).

    若干:临时约束对象,定义由指示器触发的线性约束。临时约束对象是使用重载比较操作符创建的。看到GRBTempConstr为更多的信息。

    名称(可选):新通用约束的名称。

    返回值:

    新通用约束。