frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Linear Programming for Fun and Profit

https://modal.com/blog/resource-solver
62•hmac1282•10mo ago

Comments

ayhanfuat•10mo ago
> X = [x1, ..., Xn]: instances of each type to launch

Is this a continuous variable? Seems discrete to me. I am surprised it is solved by simplex.

Frummy•10mo ago
It's the answer, a vector of integers
ayhanfuat•10mo ago
Simplex cannot give a vector of integers though, unless the constraint matrix is unimodular. Maybe the integrality constraint was relaxed.
cweld510•10mo ago
You're right -- we do relax the integrality constraint, gaining performance at the expense of some precision, and we're generally able to paper over the difference at scheduling time. We've investigated integer linear programming for some use cases, but for solves to run quickly, we have to constrain the inputs significantly.
ayhanfuat•10mo ago
Thanks for the clarification. I guess it wouldn’t matter much if the numbers are large. Initially I thought they were mostly ones and zeros.
stncls•10mo ago
If this is business critical for you, you may want to switch to a faster solver. Glop is very nice, but it would be reasonable to expect a commercial solver (Gurobi, XPress, COpt) to be 60x faster [1]. By the same measure, the best open source solvers (CLP, HiGHS) are 2-3x faster than Glop.

Actually, the commercial solvers are so fast that I would not be surprised if they solved the IP problem as fast as Glop solves the LP. (Yes, the theory says it is impossible, but in practice it happens.) The cost of a commercial solver is 10k to 50k per license.

[1] ... this 60x number has very high variance depending on the type of problem, but it is not taken out of nowhere, it comes from the Mittelmann LP benchmarks https://plato.asu.edu/ftp/lpopt.html There are also benchmarks for other types of problems, including IP, see the whole list here: https://plato.asu.edu/bench.html

petters•10mo ago
If you are able to paper over the fractional numbers and get a usable solution, an integer solver should also be able to find a feasible solution easily. Perhaps not optimal, but better than just solving the LP and rounding
hustwindmaple1•10mo ago
You are basically doing a heurstic. Your solutions are not guaranteed to be optimal. Integer programming is the way to do.
cweld510•10mo ago
Great to see this post here -- really enjoyed writing it! I think it's really cool how an algorithm from an operational research context can play a critical role in a high-availability large-scale cloud service.
sumtechguy•10mo ago
LP is a shockingly good way to optimize a system. If you can put inputs/outputs into the correct form. Had an econ prof that loved these things for doing supply/demand maxima and minimum finding. He didnt outright say it but I think it was his current line of study when I was taking classes from him the 90s. I thought that, as he managed to bring it up in every class he taught.
Onavo•10mo ago
Well, kantorovich did win the Nobel for inventing that.
underanalyzer•10mo ago
Neat article. I do wish it mentioned that there are polynomial time algorithms to solve linear programming problems. According to the Google ortools docs it has the option to use those as well (but not with the GLOP solver). Might be good for when simplex is struggling (https://developers.google.com/optimization/lp/lp_advanced)
stncls•10mo ago
You're right, but it's very subtle and complicated.

In theory, the simplex method is not known to be polynomial-time, and it is likely that indeed it is not. Some variants of the simplex method have been proven to take exponential time in some worst cases (Klee-Minty cubes). What solvers implement could be said to be one such variant ("steepest-edge pricing"), but because solvers have tons of heuristics and engineering, and also because they work in floating-point arithmetic... it's difficult to tell for sure.

In practice, the main alternative is interior-point (aka. barrier) methods which, contrary to the simplex method, are polynomial-time in theory. They are usually (but not always) faster, and their advantage tends to increase for larger instances. The problem is that they are converging numerical algorithms, and with floating-point arithmetic they never quite 100% converge. By contrast, the simplex method is a combinatorial algorithm, and the numerical errors it faces should not accumulate. As a result, good solvers perform "crossover" after interior-point methods, to get a numerically clean optimal solution. Crossover is a combinatorial algorithm, like the simplex method. Unlike the simplex method though, crossover is polynomial-time in theory (strongly so, even). However, here, theory and practice diverge a bit, and crossover implementations are essentially simplified simplex methods. As a result, in my opinion, calling iterior-point + crossover polynomial-time would be a stretch.

Still, for large problems, we can expect iterior-point + crossover to be faster than the simplex method, by a factor 2x to 10x.

There is also first-order methods, which are getting much attention lately. However, in my experience, you should only use that if you are willing to tolerate huge constraint violations in the solution, and wildly suboptimal solutions. Their main use case is when other solvers need too much RAM to solve your instance.

underanalyzer•10mo ago
Very interesting! Thanks for the reply. I wonder if they tried these other solvers and decided they were either too slow b/c their problems were too small or the answers were too inaccurate
Onavo•10mo ago
The most interesting question is how you scrape the prices. The cloudprovider really need to provide an API.

VisiCalc Reconstructed

https://zserge.com/posts/visicalc/
55•ingve•3d ago•15 comments

ArXiv declares independence from Cornell

https://www.science.org/content/article/arxiv-pioneering-preprint-server-declares-independence-co...
605•bookstore-romeo•12h ago•199 comments

The Los Angeles Aqueduct Is Wild

https://practical.engineering/blog/2026/3/17/the-los-angeles-aqueduct-is-wild
119•michaefe•2d ago•57 comments

Parallel Perl – autoparallelizing interpreter with JIT

https://perl.petamem.com/gpw2026/perl-mit-ai-gpw2026.html#/4/1/1
18•bmn__•2d ago•3 comments

Entso-E final report on Iberian 2025 blackout

https://www.entsoe.eu/publications/blackout/28-april-2025-iberian-blackout/
126•Rygian•6h ago•31 comments

The Social Smolnet

https://ploum.net/2026-03-20-social-smolnet.html
50•aebtebeten•4h ago•4 comments

France's aircraft carrier located in real time by Le Monde through fitness app

https://www.lemonde.fr/en/international/article/2026/03/20/stravaleaks-france-s-aircraft-carrier-...
56•MrDresden•4h ago•69 comments

Video Encoding and Decoding with Vulkan Compute Shaders in FFmpeg

https://www.khronos.org/blog/video-encoding-and-decoding-with-vulkan-compute-shaders-in-ffmpeg
92•y1n0•3d ago•33 comments

HP realizes that mandatory 15-minute support call wait times isn't good support

https://arstechnica.com/gadgets/2025/02/misguided-hp-customer-support-approach-included-forced-15...
194•felineflock•3h ago•121 comments

Super Micro Shares Plunge 25% After Co-Founder Charged in $2.5B Smuggling Plot

https://www.forbes.com/sites/tylerroush/2026/03/20/super-micro-shares-plunge-25-after-co-founder-...
98•pera•2h ago•33 comments

Flash-KMeans: Fast and Memory-Efficient Exact K-Means

https://arxiv.org/abs/2603.09229
127•matt_d•3d ago•8 comments

Regex Blaster

https://mdp.github.io/regex-blaster/
75•mdp•2d ago•31 comments

Just Put It on a Map

https://progressandpoverty.substack.com/p/just-put-it-on-a-map
86•surprisetalk•4d ago•38 comments

Oregon school cell phone ban: 'Engaged students, joyful teachers'

https://portlandtribune.com/2026/03/18/oregon-school-cell-phone-ban-engaged-students-joyful-teach...
150•nxobject•1h ago•105 comments

The Soul of a Pedicab Driver

https://www.sheldonbrown.com/pedicab.html
99•haritha-j•7h ago•28 comments

Having Kids (2019)

https://paulgraham.com/kids.html
79•Anon84•2h ago•115 comments

Exploring 8 Shaft Weaving

https://slab.org/2026/03/11/exploring-8-shaft-weaving/
23•surprisetalk•4h ago•1 comments

90% of crypto's Illinois primary spending failed to achieve its objective

https://www.mollywhite.net/micro/entry/202603172318
15•speckx•29m ago•5 comments

Chuck Norris dies at age 86

https://www.bbc.com/news/live/cwynpwydp0xt
9•embit•1h ago•2 comments

Drawvg Filter for FFmpeg

https://ayosec.github.io/ffmpeg-drawvg/
150•nolta•3d ago•25 comments

Full Disclosure: A Third (and Fourth) Azure Sign-In Log Bypass Found

https://trustedsec.com/blog/full-disclosure-a-third-and-fourth-azure-sign-in-log-bypass-found
249•nyxgeek•15h ago•77 comments

Drugwars for the TI-82/83/83 Calculators (2011)

https://gist.github.com/mattmanning/1002653/b7a1e88479a10eaae3bd5298b8b2c86e16fb4404
235•robotnikman•16h ago•69 comments

Delve – Fake Compliance as a Service

https://deepdelver.substack.com/p/delve-fake-compliance-as-a-service
61•freddykruger•21h ago•19 comments

Java is fast, code might not be

https://jvogel.me/posts/2026/java-is-fast-your-code-might-not-be/
97•siegers•3h ago•92 comments

Show HN: Sonar – A tiny CLI to see and kill whatever's running on localhost

https://github.com/RasKrebs/sonar
82•raskrebs•7h ago•44 comments

Building a Reader for the Smallest Hard Drive

https://www.willwhang.dev/Reading-MK4001MTD/
82•voctor•4d ago•25 comments

Chuck Norris has died

https://variety.com/2026/film/news/chuck-norris-dead-walker-texas-ranger-dies-1236694953/
442•mp3il•2h ago•254 comments

How the Turner twins are mythbusting modern technical apparel

https://www.carryology.com/insights/how-the-turner-twins-are-mythbusting-modern-gear/
308•greedo•2d ago•160 comments

Push events into a running session with channels

https://code.claude.com/docs/en/channels
377•jasonjmcghee•16h ago•226 comments

Google details new 24-hour process to sideload unverified Android apps

https://arstechnica.com/gadgets/2026/03/google-details-new-24-hour-process-to-sideload-unverified...
1086•0xedb•23h ago•1142 comments