Live data from Hacker News

Solver Performance: 1989 vs. 2024

solvermax.com

71–80 of 84 posts

Re: Solver Performance: 1989 vs. 2024

#71
post #63

Are there good reference books on solver implementations? I tried diving into the subject using online references but found them lacking in context and explanations sometimes.

For mixed integer programming solvers, this thesis is a good reference: https://opus4.kobv.de/opus4-zib/frontdoor/deliver/index/docI...

Great, thanks!

Re: Solver Performance: 1989 vs. 2024

#72
post #59

I wish they tried to solve the 1989 4x4 crossword puzzle optimization with a modern solver, but a small memory limit (~8MB) and perhaps a severely underclocked CPU to showcase the algorithm improvements.

I heard about some competition like this: they made a boolean satisfiability problem. Then they ran a "race" -- an old solving algorithm running on modern hardware, versus a new algorithm on old hardware. The new solver won, even with a massive speed handicap!

Re: Solver Performance: 1989 vs. 2024

#73
post #66

Earlier quoted context omitted.

Optimal is overblown for business problems in general. Knowing there’s a mathematically optimal solution, people want it. Even if it’s practically impossible to get. It feels like if you have the optimal, you don’t have to consider trade offs (not usually true). Having a solution within 1% of optimal with ten nines of confidence is usually indistinguishable. Anyone ever notice how these CS problems are rarely famous…

I'm quite convinced that if you had a 1% better solution to the salesman problem than what fedex or ups currently have, they'll pay good money, though :)

I would not be so sure.

What's the point of the theoretically perfect solution when the travel times are so unpredictable? The truck stops are 3-5 minutes apart on average (according to random reddit comment [0]), 1% of that is 3 seconds. Meanwhile a single missed light (say because some other vehicle was driving slow or UPS driver was guided into non-familiar route) can add more than a minute.

So something like a better way to arrange packages in truck, or better traffic preidiction model, would be much more useful than any TSP improvements.

[0] https://www.reddit.com/r/UPS/comments/89zw0h/how_long_does_o...

Re: Solver Performance: 1989 vs. 2024

#74
post #66

Earlier quoted context omitted.

Optimal is overblown for business problems in general. Knowing there’s a mathematically optimal solution, people want it. Even if it’s practically impossible to get. It feels like if you have the optimal, you don’t have to consider trade offs (not usually true). Having a solution within 1% of optimal with ten nines of confidence is usually indistinguishable. Anyone ever notice how these CS problems are rarely famous…

I'm quite convinced that if you had a 1% better solution to the salesman problem than what fedex or ups currently have, they'll pay good money, though :)

Throw on a few more decimal places if you like. The point is that in the physical world, “best” isn’t usually categorically different from “extremely close to best with high probability”.

Re: Solver Performance: 1989 vs. 2024

#75
Thanks for your interest in our article about solver performance.

We've now posted a follow-up pair of articles where we attempt to compile crossword puzzles using a Mixed Integer Linear Program.

Let us know if you have any questions.

https://www.solvermax.com/blog/crossword-milp-model-1

https://www.solvermax.com/blog/crossword-milp-model-2

Re: Solver Performance: 1989 vs. 2024

#77
post #54

Earlier quoted context omitted.

The software improvements are on an order of 1000x more than the hardware improvements. IE: The software matters more. As in, today's programmers know more about this subject.

I'd say that the algorithm matters more. As in, today's mathematicians know more about the subject. I suspect the actual implementation of said algorithms probably achieves a lower % of peak performance than the older ones (though to be fair they are /much/ more complex algorithms).

>I suspect the actual implementation of said algorithms probably achieves a lower % of peak performance than the older ones

In my experience I have found the opposite to be the case. Most old maths libraries are written in FORTRAN (generally an order of magnitude or more slower than a comparable C/C++) and the implementations of standard algorithms are often sub-optimal and naive. I got the same impression when I compared arctangent (Taylor series) implementations in π programs and Minimax in chess (see Bernstein's program for the 704). I would guess that in the worst case they were 100x slower than what those machines could theoretically achieve. The C+inline asm libraries of today might be 2-10x slower at worst and some are even bottlenecked by memory. In this case I doubt the programs discussed in the 1989 paper, which were written in Prolog and FORTRAN, are exceptions to this.

Re: Solver Performance: 1989 vs. 2024

#79
post #73
post #66

Earlier quoted context omitted.

I'm quite convinced that if you had a 1% better solution to the salesman problem than what fedex or ups currently have, they'll pay good money, though :)

I would not be so sure. What's the point of the theoretically perfect solution when the travel times are so unpredictable? The truck stops are 3-5 minutes apart on average (according to random reddit comment [0]), 1% of that is 3 seconds. Meanwhile a single missed light (say because some other vehicle was driving slow or UPS driver was guided into non-familiar route) can add more than a minute. So something like a be…

No individual truck would notice the difference. But averaged over many trucks and many days, it should result in a measurable change in gas spending.

Re: Solver Performance: 1989 vs. 2024

#80
post #33

I would side with their grain of salt until they have actually completed their promise to implement a crossword puzzle solver using integer programming.

We did that:

https://www.solvermax.com/blog/crossword-milp-model-1

https://www.solvermax.com/blog/crossword-milp-model-2

Though note that we're compiling new crosswords, rather than solving existing puzzles.

Post reply on HN