【发布时间】:2021-02-26 19:43:29
【问题描述】:
我有一系列线性程序要解决。每个实例仅与前一个实例不同,A、边界和成本略有不同。直观地说,以前问题的解决方案应该会有所帮助。我该如何实施呢?
scipy.optimize.linprog 有一个选项x0
x0:一维数组,可选
自变量的起始值,将通过优化算法进行细化。对于修改后的单纯形法,这些必须对应一个基本的可行解。
似乎可以做到这一点,但如果我只是初始化先前优化的结果(res.x)似乎不起作用。它失败并出现以下错误:
6 : Guess x0 cannot be converted to a basic feasible solution
【问题讨论】:
-
我不会寄予太多希望,因为 A:与最先进的商业求解器相比,scipy 的实现相当有限(可能提供更多类似修复的功能)和更重要的 B:你正在做的突变,没有进一步的假设,正在扼杀所有好的保证。以增量方式使用单纯形的情况通常是这样的情况,其中修改导致保持原始可行性或保持双重可行性。在您的情况下,两者都不能保证。如果性能如此重要,请开始使用最先进的求解器(不是 scipy)。
标签: scipy scipy-optimize