Hacker News new | past | comments | ask | show | jobs | submit login

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!




The optimization libraries in SciPy are surprisingly bad. I've found Mystic to be a great alternative.

https://github.com/uqfoundation/mystic


> 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.


From my experience with this (in 2018), scipys non-gradient optimizers are not very good/


Indeed, the author mentions many bugs of the SciPy gradient-free solvers in the readme of the repo of Prima.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: