|
|
|
|
|
by ur-whale
899 days ago
|
|
So solvers are now much faster, but I haven't found a single hint in the article as to how they got faster (aside from the "more memory", "more CPU" aspect). Was there a major theoretical development in the solver field that allowed this to happen ? Or is it a bunch of tiny tuning heuristics ? If so, how are those even possible given that the solver is supposed to be a generic tool applicable to a large class of problem ? Are there problems whose structure fit a recognizable pattern where optimizations are possible ? I confess to being left hanging by the article. |
|
3x + 2y <= 10
4z >= 3.5
Additionally, there is an “objective function” that defines what optimal means. Something like:
maximize (3x + 10y - 2z)
It’s not obvious but all kinds of problems can be modeled in this framework, like scheduling-, graph-, routing- problems. A big application is logistics: maximize profit / minimize costs under certain constraints.
So the solvers are just dealing with this inequality solving business. And this is where a lot of theoretical advances have happened. It’s a large field and I barely scratch the surface but it’s very interesting. Some keywords are: Operations Research, Mixed Integer Programming, Simplex Method.