我想逐步解决线性规划问题,添加新的约束并用双重单纯形解决它的最优性 . 虽然它是在求解器内部完成的,但我无法在GLPK,Clp或LPsolve的API中找到它 .

我正在解决矩形填充约束的NP完全问题 . 我使用自定义分支定界算法和线性松弛 . 混合整数编程是不可能的:它增加了太多的变量(n ^ 2),并没有更严格,通常会做出错误的分支决策 . 我通过分支添加的约束而不是布尔变量来解决问题 .

我目前有一个手写的求解器,它只处理有限的LP子集,并希望收紧放松:我想使用一个真正的(开放)LP求解器 . 例如,GLPK允许延迟约束,但似乎不允许分支,为每个问题添加不同的约束并在不破坏先前的基本因子分解的情况下解决它们 .

你会如何正确地解决这些问题呢?

谢谢

Edit - Background

我解决了硬运行时限制的问题,其中包括矩形包装约束 . 对于任何一对矩形,存在四个析取约束,即R2的上/下/右/左R1 .
使用布尔变量(使用big-M)对其进行建模太慢(错误的分支选择,即使在可行解决方案之间自定义分支大量冗余,也会缓慢放松):我需要直接分析析取约束,这很有效,但我现在需要使用通用LP解算器而不是我的自定义流解算器 .

即在我想要的回调中

  • 生成新节点而不对整数变量进行分支

  • 为每个节点使用不同的新约束