生成范数1范数约束

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

pyomo.contrib.mindtpy.util.generate_norm1_norm_constraint(model, setpoint_model, config, discrete_only=True)[source]

此函数生成约束(PF-OA 主问题)以最小化到 setpoint_model 的 Norm1 距离。

范数约束用于保证所有迭代的范数目标值序列的单调性。

Norm1 距离 \((x,y) = \sum_i |x_i - y_i|\)。 参考:论文《A storm of feasibility pumps for nonconvex MINLP》公式 (16)。

Parameters:
  • model (Pyomo 模型) – 需要范数约束的模型。

  • setpoint_model (Pyomo 模型) – 提供基础点的模型,用于计算距离。

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

  • discrete_only (bool, optional) – 是否仅优化离散变量之间的距离,默认为 True。