添加ECP切割

(函数来自 pyomo.contrib.mindtpy.cut_generation)

pyomo.contrib.mindtpy.cut_generation.add_ecp_cuts(target_model, jacobians, config, timing, linearize_active=True, linearize_violated=True)[source]

将非线性约束线性化。为ECP方法添加切割。

Parameters:
  • target_model (Pyomo 模型) – 松弛的线性模型。

  • 雅可比矩阵 (ComponentMap) – 映射非线性约束 –> 映射(变量 –> 约束相对于变量的雅可比矩阵)

  • config (ConfigBlock) – MindtPy 的具体配置。

  • timing (Timing) – 时间。

  • linearize_active (bool, optional) – 是否线性化活动的非线性约束,默认为 True。

  • linearize_violated (bool, optional) – 是否线性化违反的非线性约束,默认为 True。