gurobi_feasrelax ()

gurobi_feasrelax (模型、relaxobjtype minrelax处罚,params = NULL)

这个函数计算输入的可行性放松模型论点。可行性放松是一个模型,当解决,最大限度地减少量的解决方案的范围和线性约束违反原来的模型。您必须提供一个点球与放松每个绑定或约束(通过处罚参数)。这些惩罚是用不同的方式解释,根据的价值relaxobjtype论点。

参数:

模型:模型列表必须包含一个有效的Gurobi模型。看到模型论证部分获得更多信息。

relaxobjtype:用于惩罚违规的方法。
如果您指定relaxobjtype = 0可行性放松,目标是最小化加权之和的大小约束和约束违反。
如果您指定relaxobjtype = 1可行性放松,目标是最小化加权和广场的束缚和约束违反。
如果您指定relaxobjtype = 2可行性放松,目标是最小化加权计算的束缚和约束违反。
在所有情况下,重量从处罚美元,处罚美元乌兰巴托处罚美元园艺学会。您可以提供特殊的惩罚值表明相应的约束或限制不能放松。

minrelax:minrelax参数是一个布尔控制创建可行性放松的类型。如果minrelax = FALSE、优化返回模型给出了一个解决方案,最大限度地减少违规的成本。如果minrelax = TRUE、优化返回模型找到了一个解决方案,最大限度地减少最初的目标,但只从那些违规的成本最小化的解决方案。请注意,gurobi_feasrelax必须找到解决优化问题的最小可能的放松的时候minrelax = TRUE,这将是相当昂贵的。

处罚:处罚参数是一个列表,列表下面的可选组件(默认值:所有):
处罚违反了每一个下界。
乌兰巴托处罚违反了每一个上界。
园艺学会处罚违反每个约束。

举个例子,如果一个约束penalties.rhs价值p是违反了2.0,它将贡献2 * p可行性放松的目的relaxobjtype = 0,2 * 2 * prelaxobjtype = 1,prelaxobjtype = 2

参数个数:参数列表提供,包含一系列修改Gurobi参数。看到参数个数论证部分获得更多信息。

返回值:

一个列表命名包含两个组件:
结果美元模型,变量列表中描述模型论证部分。
结果美元feasobj一个标量。如果minrelax = = TRUE这是放松的问题客观价值,0.0。

使用示例:
处罚< -列表()
模型< - gurobi_read (“stein9.mps”)
处罚美元磅< -代表(1、长度(模型美元磅))
处罚美元乌兰巴托< -代表(1、长度(模型美元乌兰巴托))
处罚美元rhs < -代表(1,长度(模型美元rhs))
feasrelaxresult < - gurobi_feasrelax(模型,0,假的,处罚)