问题描述
降低的成本给出了与变量的框式约束相对应的对偶变量,如对此问题的相关答案所指出:LP: postive reduced costs corresponding to positive variables?
我如何知道下限或上限是活动约束?当然,我可以检查变量值与其边界之间的差是否小于某些ε。但是,这种ε的选择对我来说还不清楚,因为模型可能会通过将下限设置为上限来尝试修复变量。在这种情况下,没有ε可以明确表示哪个边界是活动边界。
cplex是否提供在其C ++ API中处于活动状态的绑定信息?是否有其他LP解算器呢?还有另一种技巧来找出活动界限吗? 谢谢。
解决方法
在很大程度上,您可以查看标志。降低成本的规则是:
Basic Non-basic-at-LB Non-basic-at-UB
minimization 0 >= 0 <= 0
maximization 0 <= 0 >= 0
与此有关的一些问题:
- 并非所有求解器都可以遵循此规则(尤其是最大化时)。
- 变性可能会使事情变得困难
大多数求解器将使您可以访问基本状态。例如。 Cplex具有BasisStatus,它可以为您提供变量的基本状态:Basic,AtLower,AtUpper或FreeOrSuperbasic。