News for hackers. Stuff that matters.
Re:A Global Optimization Algorithm Worth Using by twic on Friday February 23, 2018 @05:50PM (#16450316)
Interesting! My problems are derivative-free, and my gut feeling is that a lot of real-world engineering-type problems are, because at some point they involve some gnarly nonlinear maths. In my case, my variables are about the positions of some knots from which i construct a monotonic cubic spline, which i then use as a parameter to another model; my objective function is how well that model reproduces some real measurements. I get a headache just writing it all down.

I've had good results from simplex; i'm a bit sad to hear there isn't some magical algorithm that will give me a massive speedup over it.

I haven't tried automatic differentiation. That seems extremely daunting given the volume of code in my problem. Someone has done some groundwork on AD of the main library i use in my model, but it would still be a serious bit of work.

Re:A Global Optimization Algorithm Worth Using by wenc on Saturday February 24, 2018 @12:32PM (#16454280)
> positions of some knots

Optimal knot placement, though seemingly simple, can be a gnarly problem due to degeneracy in many cases. Anecdotally I've found quadratic splines to still be somewhat tractable with exact methods, but polynomial splines with cubic or higher orders can be tricky, especially when they are large-scale.

For derivative-free optimization, you can sometimes get speedups from just adopting a embarassingly parallel algorithm like Particle Swarm. These types of stochastic algorithms aren't necessarily algorithmically better than Nelder-Mead Simplex, but they can explore a larger terrain in parallel, which may help. If you can find some parallel stochastic code, you should be able to spin up a VM on the cloud with lots of cores to help you search the space.