You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

二元变量与非负整数间IFF约束的线性化方法咨询

约束 p=0 ↔ s=0 的线性化方案

首先明确前提:你需要先确定s的最大可行上界,记为M(M为正整数,取s在你的问题中的实际最大可能值即可,避免取过大的M导致数值稳定性问题)。

仅需要添加两条线性约束即可实现要求:

  • s ≥ p
  • s ≤ M * p

双向逻辑验证:

  1. 当p=0时:第一条约束给出s≥0(和s本身的非负约束一致),第二条约束给出s≤0,因此只能s=0,满足「p=0推s=0」的要求
  2. 当s=0时:第二条约束给出0 ≤ M*p(恒成立),第一条约束给出0 ≥ p,而p是二元变量取值仅为0或1,因此只能p=0,满足「s=0推p=0」的要求
    所有场景完全匹配p=0 当且仅当 s=0的约束要求,且全程没有将s作为二元变量处理。

如果你使用的求解器支持指示变量(indicator)约束,也可以直接写两条指示约束,无需引入大M:

  • 指示约束1:p=0 成立时,强制 s=0
  • 指示约束2:s=0 成立时,强制 p=0

内容的提问来源于stack exchange,提问作者Unziello

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 08:36:03