删除冗余线性约束的现有实现(python)

删除冗余线性约束的现有实现(python),python,constraints,linear-programming,Python,Constraints,Linear Programming,我有Ax>0给出的约束。我想知道是否有任何现成的实现可以消除冗余约束。我所说的冗余约束指的是这样的约束,即移除它们后可行集是相同的。我看到它有“rr_方法”选项,但这些方法(例如“pivot”)只删除线性相关约束,而不删除其他冗余约束。有这样的实现吗?更好的LP解算器有一个“预解算器”,尝试删除不需要的行和列。这些不是最简单的软件。但这也意味着您不必自己实现:LP解算器会为您实现。预解算器通常做得很好,在商业LP解算器中是必不可少的。这些“更好的LP解算器”在哪里/开源?有一些开源实现。你已经找

我有Ax>0给出的约束。我想知道是否有任何现成的实现可以消除冗余约束。我所说的冗余约束指的是这样的约束,即移除它们后可行集是相同的。我看到它有“rr_方法”选项,但这些方法(例如“pivot”)只删除线性相关约束,而不删除其他冗余约束。有这样的实现吗?

更好的LP解算器有一个“预解算器”,尝试删除不需要的行和列。这些不是最简单的软件。但这也意味着您不必自己实现:LP解算器会为您实现。预解算器通常做得很好,在商业LP解算器中是必不可少的。这些“更好的LP解算器”在哪里/开源?有一些开源实现。你已经找到了scipy linprog。其他包括投币或CLP、HiGHS、SCIP。可能并不总是很容易阅读和理解源代码。除了Erwins注释:可能是目前最有前途的开源presolver项目(并链接到HiGHS和SCIP)。