生成范数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。