非线性方程的大规模优化

计算科学 非线性方程 非线性规划
2021-12-03 12:40:41

我正在寻找一个大型非线性方程组的计算有效解决方案。我正在尝试最大化以下功能:

f(x)=iNCi(xiAi)xiϵiijiNxjϵij

受约束:

Ci>0i
xi>Ai>0i
ϵii<1i
ϵij0i,js.t.ij

我已经能够编写一些可以解决这个问题的求解器,但我正在努力寻找/编写一个可以扩展到(一百万)的求解器。不幸的是,矩阵是密集的。N=1000000ϵij

我尝试过的事情:

  • scipy.optimize BFGS 算法:当 N = 2000 时需要 8 小时
  • 一个定点求解器:N = 10000 需要 3 小时,但似乎陷入了局部最大值

我真的很感激关于下一步调查的建议。我将开始走下去(a)手推导出雅可比和黑森矩阵并再次尝试使用 scipy.optimize 求解器或(b)试图强迫它看起来更像一个几何编程问题并使用 gpkit。我对优化很陌生,所以我很可能会遗漏一些明显的东西——请不要犹豫,指出我忽略的任何东西!

如果有帮助,我确实有可用的分布式计算资源(spark、dask、kubernetes 等)。

0个回答
没有发现任何回复~