我目前正在使用 Python 的 scipy.optimize 包为 10 个 ODE 的系统执行参数估计。我有一些观察到的数据,我正在尝试找到使 ODE 解决方案最适合最小二乘意义上的数据的参数集。(顺便说一下,ODE 没有解析解,所以我没有提供梯度。)每个参数都被限制在一个区间内,并且还有一些不等式约束。我想优化总共大约 15-30 个参数。我倾向于在 scipy.optimize.minimize 中使用 SLSQP 和使用 'trust-constr' 得到不错的结果。前一种方法往往更快(30-90 秒,后者为 5-10 分钟),而且平方误差也更小。但是,对于我的问题,它是首选的 m 努力寻找不在边界上的最小值(或最小值)。由于 Python 的 'trust-constr' 方法对我来说效果不佳,我正在寻找替代方案。
任何人都可以为具有合适的内点(或类似)方法的语言和/或包提供推荐吗?我听说过一些关于 Julia 的好消息,但在简要阅读 JuliaOpt 和 JuMP 页面时,我不确定对不等式约束问题的支持有多好。性能是半重要的,因为我计划运行数百次优化,并且我希望能够在合理的时间内完成此操作。任何想法或建议将不胜感激。