我正在尝试使用 SciPy 中的 L-BFGS-B 优化器优化一组方程,我知道下限为零(不包括在内)但不知道上限。
我想知道是否有办法告诉 SciPy 为产生错误的最低输入设置上限。换句话说,SciPy 能否通过约束优化的上限自动“摸索”?如果没有,是否有任何标准方法可以做到这一点?我正在考虑的天真的方法是开始在 try/except 循环中调用值,以通过蛮力找到可接受的准确上限。
从关于 SciPy 问题页面的相对戏剧性的讨论中,我知道 SciPy 当前的 L-BFGS-B 实现是用 Fortran 编写的(请参阅此处的原始论文),所以我对自动化的方式并不抱有希望。如果在我之前没有想到任何方法并且暴力强制上限被证明是不可行的,我想我可能不得不开始尝试找到它的近似值:)