Hi, sometimes I like to try to use gradient based solvers for convex nonlinear problems. Excel has three solvers: gradient-based nonlinear, evolutionary, and linear. LibreOffice’s Calc solvers include evolutionary/particle swarm and linear. The linear solvers work alright (other than min returning a max and max returning a min; maybe that’s an old bug), but the nonlinear solvers are too slow for large problems which are either smooth nonlinear or curvilinear (linear on a distorted surface). LibreOffice’s evolutionary solvers are great for highly nonlinear (non-curvilinear) problems involving min/max/etc, but are too slow for problems having 10s of variables and smooth derivatives.
I’m wondering if anyone has made a plugin to use NLopt (or a similar advanced package) in LibreOffice’s Calc? I am also aware of the no-free-lunch theorems for search and optimization (all optimizers on average, are equal). I am not looking for the “perfect” solver, just something to fill in the gaps. IMHO, the absence of a gradient-based solver is a pretty large gap in Calc’s tools. I see the lack of a gradient-based nonlinear solver being one way M$'s product sometimes dominates.
I realize LibreOffice is not R, nor Octave, etc. As such, the demand for these advanced solvers/optimizers must be minimal. However, I imagine integration of the NLopt library (or some other library) should vastly improve capabilities. Maybe a simple “help me choose the right one” dialogue, which asks if the problem is “smooth” or does it have corners (uses max/min/step/etc.). Or just include a single gradient-based nonlinear solver from some BSD/GPL/LGPL/MIT library.
Anyways, I realize this request is probably going to be ignored for the next ten years or simply rejected. I have little hope that I can sway the development of these open-source community based tools. There are bigger, better issues to fix. Programmers’ time is always too limited, and I expect nothing in regards to my request.