约束非线性优化问题的python中fmincon的替代品

时间:2019-07-23 07:03:21

标签: python matlab mathematical-optimization scipy-optimize

我无法解决python中的优化问题,涉及约20,000个决策变量。这个问题是非线性的,我希望对这个问题同时适用范围和约束。除此之外,还可以计算每个决策变量的梯度。

界限很简单,每个决策变量必须位于[0,1]区间内,并且对变量施加单调约束,即每个决策变量必须大于前一个。

我最初打算使用scipy.optimize包提供的L-BFGS-B方法,但是我发现,尽管它支持边界,但不支持约束。

然后我尝试使用同时支持约束和界限的SQLSP方法。但是,由于它比L-BFGS-B需要更多的内存,并且我拥有大量的决策变量,所以我很快遇到了内存错误。

此问题的出处使用了Matlab中的fmincon求解器来优化该函数,据我所知,该函数不仅支持边界和约束的应用,而且还比SQLSP方法具有更高的内存效率。由scipy提供。但是,我无权使用Matlab。

有人知道我可以用来解决这个问题的替代方法吗?

任何帮助将不胜感激。

0 个答案:

没有答案