News for hackers. Stuff that matters.
Re:Optimization Without Derivatives: Prima Fortran Version a... by ZeroCool2u on Tuesday May 16, 2023 @12:31PM (#35964200)
Wow, just a few weeks ago I wanted an optimization function in Python and was already using SciPy, so I reached for scipy.optimize and ran into quite a few of the bugs described first hand, which had me kind of rattled. I just assumed whatever optimizer SciPy uses would be reliable even if it's not completely optimal or cutting edge.

I love the dedication these folks have to their old colleague too. They took a great deal of care in relicensing, so that SciPy could use their derived code even though the original author had passed. Nothing but admiration for them!

Anyways, I was lucky enough that I could restrict my search space on some assumptions and just brute force the problem in very reasonable time, but this is quite timely for me and great to see!

Re:Optimization Without Derivatives: Prima Fortran Version a... by whimsicalism on Tuesday May 16, 2023 @01:51PM (#35965322)
From my experience with this (in 2018), scipys non-gradient optimizers are not very good/
Re:Optimization Without Derivatives: Prima Fortran Version a... by domcoltd on Tuesday May 16, 2023 @01:58PM (#35965419)
Indeed, the author mentions many bugs of the SciPy gradient-free solvers in the readme of the repo of Prima.
Re:Optimization Without Derivatives: Prima Fortran Version a... by NwtnsMthd on Tuesday May 16, 2023 @05:45PM (#35968173)
The optimization libraries in SciPy are surprisingly bad. I've found Mystic to be a great alternative.

https://github.com/uqfoundation/mystic

Re:Optimization Without Derivatives: Prima Fortran Version a... by nunuvit on Wednesday May 17, 2023 @03:46PM (#35980293)
> I just assumed whatever optimizer SciPy uses would be reliable

That's usually a bad assumption for wrapped math libraries outside of the foundational ones like numpy. They tend to have a pretty low ratio of "mileage" to complexity in the first place, it's easy for the project to become a zombie without users realizing, and the layers of challenges to fixing issues leave many of them unresolved. If you need reliability, you'll have to deliberately choose software that's mature and actively maintained.