处理大m约束
处理大m约束
大m约束通常是优化问题的不稳定性来源。这样命名是因为它们通常包含一个大的系数它要比连续变量或表达式可能取的任何合理值都大。下面是一个简单的例子:
大m约束通常用于将二进制、开关决策的含义传播到连续变量。例如,一个大m可能被用来执行这样的条件:只有当您支付与打开边缘相关的固定费用时,一个边缘才能允许流动,或者一个设施只有在您建造它时才能生产产品。manbetx官网手机登入在我们的示例中,请注意 满足默认的完整性公差(IntFeasTol=),它允许取…的值.换句话说,能在不产生昂贵固定费用的情况下获得一个正值吗,它破坏了只允许非零值的意图当二进制变量值为1。方法可以减少此行为的影响IntFeasTol参数,但你不能完全避免它。
但是,如果建模者有附加的信息变量永远不会大于,那么你可以将之前的约束重新表述为:
现在, 只考虑到.
对于不能缩放变量的情况或收紧其边界,SOS约束或指示约束(表单的)可能会产生更精确的解决方案,但通常会以额外的处理时间为代价。