YALMIP WARNING解决记录:未约束的变量
在做毕设仿真使用YALMIP求解优化问题时,遇到了如下警告:You have unbounded variables in an implication leading to a lousy big-M relaxation.大概是说在一个蕴含式中有未约束的变量,导致了一个糟糕的大M松弛。这个警告是由于在约束条件中有未约束的变量,导致了松弛问题的求解困难。但检查了代码后并没有发现未被约束的变量,于是查阅了YALMIP的官方文档,找到了解决方法,记录如下。
YALMIP在提取模型中的边界时不执行任何深度边界传播,即派生隐式边界。也就是说即使在原始数学模型中,变量的边界是明确的,YALMIP也不会自动推断这些边界。以一个简单的例子说明这个问题:
假设我们有以下两个约束条件:
其中
对于更加复杂的情况,同样需要我们事先推断出变量的边界,然后在代码中添加明确的约束条件。