线性规划求解器中上限和下限的参数

Posted

技术标签:

【中文标题】线性规划求解器中上限和下限的参数【英文标题】:Parameter for upper and lower bound in linear programming solvers 【发布时间】:2020-06-10 02:24:06 【问题描述】:

许多科学计算平台都提供线性规划求解器。例如,在 MATLAB、Scipy 和 DolphinDB 中有一个 linprog 函数。而linprog在这三个平台中都提供了一个不等式约束的参数,即A,以及两个有界变量的参数,即lbub

如果线性规划问题具有有界变量,我可以将它们置于不等式约束 A 中,方法是添加仅包含一个 1-1 的行,其余元素为 0,或者我可以简单地将它们放在lb 和/或ub

这两种方式有什么区别吗?或者有什么理由让我更喜欢A 而不是lb/ub,反之亦然?

【问题讨论】:

【参考方案1】:

边界比显式约束更有效。基本上,在单纯形求解器中,边界不会增加基矩阵的大小。这个基矩阵需要求解和反转(分解)。

高级求解器有一个预求解器,可以将单例约束转换为边界。在这种情况下,没有真正的性能损失。对于那些求解器来说,如何指定绑定约束主要是一个品味问题:作为绑定约束还是作为单例约束。

【讨论】:

以上是关于线性规划求解器中上限和下限的参数的主要内容,如果未能解决你的问题,请参考以下文章

建议 ILP 求解器的下限

是否有任何可以同时具有下限和上限的二次规划函数 - Python

路径规划基于模拟退火算法求解多车型路径规划问题matlab源码

Lingo实现求解非线性整数规划

Excel规划求解1

如何用matlab求解0-1规划问题