Python 使用scipy linprog进行优化的不动点界限
我想反复运行优化问题,以进一步优化最终结果 本质上,目标是最小化一组变量的最大值(受不等式和等式约束),然后最小化该组变量的最大值,排除最大值,然后最小化该组变量的最大值,排除两个最大值,以此类推 我想到的算法是:Python 使用scipy linprog进行优化的不动点界限,python,optimization,scipy,linear-programming,Python,Optimization,Scipy,Linear Programming,我想反复运行优化问题,以进一步优化最终结果 本质上,目标是最小化一组变量的最大值(受不等式和等式约束),然后最小化该组变量的最大值,排除最大值,然后最小化该组变量的最大值,排除两个最大值,以此类推 我想到的算法是: 运行scipy.linprog(…,bounds=[(-numpy.inf,numpy.inf),(-numpy.inf,numpy.inf),(-numpy.inf,numpy.inf),…]),所有变量都是无界的,以最小化数字集的最大值 假设优化问题可行并成功解决,通过设置边界=
scipy.linprog(…,bounds=[(-numpy.inf,numpy.inf),(-numpy.inf,numpy.inf),(-numpy.inf,numpy.inf),…])
,所有变量都是无界的,以最小化数字集的最大值边界=[…,(opt\u val,opt\u val),…]
将最大值固定为opt\u val
,其中所有其他变量的边界均为(-numpy.inf,numpy.inf)
b_ub
的系数更改为numpy.inf
,使与该变量对应的不等式约束无效opt\u val
scipy能否处理将变量限制为单个浮点数的边界?
这是解决我问题的最好办法吗
我开发的代码非常广泛,这就是为什么我没有在这里发布它,所以我当然不期望基于代码的解决方案。我在这里寻找的是关于scipy是否可以处理限制为单个浮点的边界间隔的是/否答案,以及在更高的级别上,我是否有正确的方法
上的文档没有明确说明是否可以指定定点边界。结果表明,放宽不等式约束是个问题。我错误地放松了关于固定变量的所有约束,而我需要放松一些约束
@然而,ErwinKalvelagen的评论仍然值得注意。尝试更好的LP解算器。Scipy.optimize.linprog不是很健壮。对于那些寻找verfiy@ErwinKalvelagen评论来源的人: