8.6.2. 实数型参数

C API对应参数接口参考

参数

说明

MDO_REAL_PARAM_MAX_TIME

“MaxTime”

设置最大求解时间

MDO_REAL_PARAM_SPX_PRIMAL_TOLERANCE

“SPX/PrimalTolerance”

设置单纯形法的原始可行性容差

MDO_REAL_PARAM_SPX_DUAL_TOLERANCE

“SPX/DualTolerance”

设置单纯形法的对偶可行性容差

MDO_REAL_PARAM_IPM_PRIMAL_TOLERANCE

“IPM/PrimalTolerance”

设置内点法中的原始可行性(相对)容差

MDO_REAL_PARAM_IPM_DUAL_TOLERANCE

“IPM/DualTolerance”

设置内点法中的对偶可行性(相对)容差

MDO_REAL_PARAM_IPM_GAP_TOLERANCE

“IPM/GapTolerance”

设置内点法中的对偶间隔(相对)容差

MDO_REAL_PARAM_MIP_INTEGER_TOLERANCE

“MIP/IntegerTolerance”

设置MIP求解中整型判定精度

MDO_REAL_PARAM_MIP_OBJECTIVE_TOLERANCE

“MIP/ObjectiveTolerance”

设置MIP求解中目标值比较精度

MDO_REAL_PARAM_MIP_GAP_ABS

“MIP/GapAbs”

设置绝对的MIP间隔容差

MDO_REAL_PARAM_MIP_GAP_REL

“MIP/GapRel”

设置相对的MIP间隔容差

MDO_REAL_PARAM_MIP_LINEARIZATION_BIG_M

“MIP/LinearizationBigM”

设置MIP中重列非线形函数时的最大系数

MDO_REAL_PARAM_MIP_CUTOFF

“MIP/Cutoff”

设置目标值的切断值以防止寻找比这个值更差的解

其中,C++、Java、Python的参数API在 MDO_REAL_PARAM 的namespace里。

8.6.2.1. “MaxTime”

实数型参数,用于设置优化器的最大求解时间(以秒为单位)。

  • 所在组: Common

  • 默认值: 1.7976931348623158E+308

  • 取值范围: [0, ∞)

Note

  • MindOpt 当前使用墙上时间作为默认计时。

  • 如果将该值设置为0,则不会施加求解时间限制。

示例

C

Mdo_setRealParam(model, "MaxTime", 7200.0);

C++

model.setRealParam("MaxTime", 7200.0);

Python

model.set_real_param("MaxTime", 7200.0)

8.6.2.2. “SPX/PrimalTolerance”

实数型参数,用于设置单纯形法使用的原始可行性容差。

  • 所在组: simplex method

  • 默认值: 1.E-6

  • 取值范围: [1.E-3, 1.E-9]

示例

C

Mdo_setRealParam(model, "SPX/PrimalTolerance", 1.E-6);

C++

model.setRealParam("SPX/PrimalTolerance", 1.E-6);

Python

model.set_real_param("SPX/PrimalTolerance", 1.E-6)

8.6.2.3. “SPX/DualTolerance”

实数型参数,用于设置单纯形法使用的对偶可行性容差。

  • 所在组: simplex method

  • 默认值: 1.E-6

  • 取值范围: [1.E-3, 1.E-9]

示例

C

Mdo_setRealParam(model, "SPX/DualTolerance", 1.E-6);

C++

model.setRealParam("SPX/DualTolerance", 1.E-6);

Python

model.set_real_param("SPX/DualTolerance", 1.E-6)

8.6.2.4. “IPM/PrimalTolerance”

实数型参数,用于设置内点法使用的原始可行性(相对)容差。

  • 所在组: interior point method

  • 默认值: 1.E-8

  • 取值范围: [1.E-1, 1.E-12]

示例

C

Mdo_setRealParam(model, "IPM/PrimalTolerance", 1.E-8);

C++

model.setRealParam("IPM/PrimalTolerance", 1.E-8);

Python

model.set_real_param("IPM/PrimalTolerance", 1.E-8)

8.6.2.5. “IPM/DualTolerance”

实数型参数,用于设置内点法使用的对偶可行性(相对)容差。

  • 所在组: interior point method

  • 默认值: 1.E-8

  • 取值范围: [1.E-1, 1.E-12]

示例

C

Mdo_setRealParam(model, "IPM/DualTolerance", 1.E-8);

C++

model.setRealParam("IPM/DualTolerance", 1.E-8);

Python

model.set_real_param("IPM/DualTolerance", 1.E-8)

8.6.2.6. “IPM/GapTolerance”

实数型参数,用于设置内点法中的对偶间隔(相对)容差。

  • 所在组: interior point method

  • 默认值: 1.E-8

  • 取值范围: [1.E-1, 1.E-12]

示例

C

Mdo_setRealParam(model, "IPM/GapTolerance", 1.E-8);

C++

model.setRealParam("IPM/GapTolerance", 1.E-8);

Python

model.set_real_param("IPM/GapTolerance", 1.E-8)

8.6.2.7. “MIP/IntegerTolerance”

实数型参数,用于设置MIP求解中整型判定精度。

  • 所在组: milp method

  • 默认值: 1.E-6

  • 取值范围: [1.E-9, 1.E-2]

示例

C

Mdo_setRealParam(model, "MIP/IntegerTolerance", 1.E-9);

C++

model.setRealParam("MIP/IntegerTolerance", 1.E-9);

Python

model.set_real_param("MIP/IntegerTolerance", 1.E-9)

8.6.2.8. “MIP/ObjectiveTolerance”

实数型参数,用于设置目标值比较精度。

  • 所在组: milp method

  • 默认值: 1.E-6

  • 取值范围: [1.E-9, 1.E-2]

示例

C

Mdo_setRealParam(model, "MIP/ObjectiveTolerance", 1.E-6);

C++

model.setRealParam("MIP/ObjectiveTolerance", 1.E-6);

Python

model.set_real_param("MIP/ObjectiveTolerance", 1.E-6)

8.6.2.9. “MIP/GapAbs”

实数型参数,用于设置绝对的MIP间隔容差。

  • 所在组: milp method

  • 默认值: 1.E-6

  • 取值范围: [0, 1.7976931348623158E+308]

示例

C

Mdo_setRealParam(model, "MIP/GapAbs", 1.E-6);

C++

model.setRealParam("MIP/GapAbs", 1.E-6);

Python

model.set_real_param("MIP/GapAbs", 1.E-6)

8.6.2.10. “MIP/GapRel”

实数型参数,用于设置相对的MIP间隔容差。

  • 所在组: milp method

  • 默认值: 1.E-4

  • 取值范围: [0, 1.7976931348623158E+308]

示例

C

Mdo_setRealParam(model, "MIP/GapRel", 1.E-4);

C++

model.setRealParam("MIP/GapRel", 1.E-4);

Python

model.set_real_param("MIP/GapRel", 1.E-4)

8.6.2.11. “MIP/LinearizationBigM”

实数型参数,用于设置MIP中重列非线形函数时的最大系数。

  • 所在组: milp method

  • 默认值: 1.E+8

  • 取值范围: [0, 1E+10]

示例

C

Mdo_setRealParam(model, "MIP/LinearizationBigM", 1.E+4);

C++

model.setRealParam("MIP/LinearizationBigM", 1.E+4);

Python

model.set_real_param("MIP/LinearizationBigM", 1.E+4)

8.6.2.12. “MIP/Cutoff”

实数型参数,用于设置目标值的切断值以防止寻找比这个值更差的解。

  • 所在组: milp method

  • 默认值: 1.7976931348623158E+308

  • 取值范围: [-1.7976931348623158E+308, 1.7976931348623158E+308]

示例

C

Mdo_setRealParam(model, "MIP/Cutoff", 1.E-4);

C++

model.setRealParam("MIP/Cutoff", 1.E-4);

Python

model.set_real_param("MIP/Cutoff", 1.E-4)