Hacker News new | ask | show | jobs
by xoroshiro 3034 days ago
>One thing i've learnt is that comparing optimisation algorithms is really hard

It still boggles my mind how simplex, something that theoretically runs worse that interior point methods is competitive (at least based on what I've read online). I guess with these problems, the instances of the problem has a huge effect on how long approaches take.

>In particular, i get the impression that a lot of the cutting-edge research is about being able to solve huge problems at all

This is also the impression I get. When I look at benchmarks (btw, does anyone know an updated publication for these? A lot of what I find seems to be from years ago. I'm not sure how fast development of these are, but it would be nice to be updated once in a while) it always has some measure of time along with number of instances solved.

>Perhaps those algorithms will be more useful for ML hyperparameter optimisation

I thought about this, and maybe the reason why they largely don't use these have to do with getting results that are good enough (generalize well). A global optimum might not be worth the effort, so they stick to some variant of gradient descent. The measure they look at, after all, is performance on the test set. Aside from that, there may be something specific about a well defined problem that they can use to speed computations up, and a more general approach probably can't assume these for other instances of NLP for example.

2 comments

> It still boggles my mind how simplex, something that theoretically runs worse that interior point methods is competitive (at least based on what I've read online). I guess with these problems, the instances of the problem has a huge effect on how long approaches take.

Well, theoretical worst cases are just that. They are worst case bounds. People think NP-hard problem are intractable, but this is a misunderstanding. Many NP-hard problems can actually be solved with fairly good average case performance.

Case in point: the Simplex method is worst-case exponential time, but its average case performance is actually pretty good.

When Khachiyan first came up with his elipsoid method, it was polynomial time but in practice it was too slow. Karmarkar's interior point algorithm was polynomial time too, but performs much efficiently.

These days though, solve times are predominantly affected by solver heuristics and randomness. The choice of Simplex vs Interior Point does not make a significant difference in many cases.

Just to be clear, NP hardness is a property of a problem class, not an algorithm. Similarly, "NP Hard" isn't the same as "worst case exponential time"
> does anyone know an updated publication for these?

Hans Mittelmann (also a wonderful individual) has you covered: http://plato.la.asu.edu/bench.html