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•9mo ago

Comments

ayhanfuat•9mo 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•9mo ago
It's the answer, a vector of integers
ayhanfuat•9mo ago
Simplex cannot give a vector of integers though, unless the constraint matrix is unimodular. Maybe the integrality constraint was relaxed.
cweld510•9mo 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•9mo 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•9mo 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•9mo 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•9mo ago
You are basically doing a heurstic. Your solutions are not guaranteed to be optimal. Integer programming is the way to do.
cweld510•9mo 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•9mo 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•9mo ago
Well, kantorovich did win the Nobel for inventing that.
underanalyzer•9mo 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•9mo 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•9mo 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•9mo ago
The most interesting question is how you scrape the prices. The cloudprovider really need to provide an API.

We do not think Anthropic should be designated as a supply chain risk

https://twitter.com/OpenAI/status/2027846016423321831
254•golfer•4h ago•106 comments

The Windows 95 user interface: A case study in usability engineering (1996)

https://dl.acm.org/doi/fullHtml/10.1145/238386.238611
138•ksec•4h ago•77 comments

Microgpt

http://karpathy.github.io/2026/02/12/microgpt/
13•tambourine_man•41m ago•2 comments

Obsidian Sync now has a headless client

https://help.obsidian.md/sync/headless
391•adilmoujahid•9h ago•140 comments

The happiest I've ever been

https://ben-mini.com/2026/the-happiest-ive-ever-been
330•bewal416•2d ago•150 comments

Show HN: Xmloxide – an agent made rust replacement for libxml2

https://github.com/jonwiggins/xmloxide
24•jawiggins•2h ago•14 comments

Block the “Upgrade to Tahoe” Alerts

https://robservatory.com/block-the-upgrade-to-tahoe-alerts-and-system-settings-indicator/
139•todsacerdoti•7h ago•60 comments

Addressing Antigravity Bans and Reinstating Access

https://github.com/google-gemini/gemini-cli/discussions/20632
201•RyanShook•12h ago•171 comments

H-Bomb: A Frank Lloyd Wright Typographic Mystery

https://www.inconspicuous.info/p/h-bomb-a-frank-lloyd-wright-typographic
7•mrngm•2d ago•3 comments

Woxi: Wolfram Mathematica Reimplementation in Rust

https://github.com/ad-si/Woxi
249•adamnemecek•3d ago•104 comments

Building a Minimal Transformer for 10-digit Addition

https://alexlitzenberger.com/blog/post.html?post=/building_a_minimal_transformer_for_10_digit_add...
36•kelseyfrog•4h ago•6 comments

Verified Spec-Driven Development (VSDD)

https://gist.github.com/dollspace-gay/d8d3bc3ecf4188df049d7a4726bb2a00
146•todsacerdoti•9h ago•70 comments

Qwen3.5 122B and 35B models offer Sonnet 4.5 performance on local computers

https://venturebeat.com/technology/alibabas-new-open-source-qwen3-5-medium-models-offer-sonnet-4-...
223•lostmsu•6h ago•143 comments

Deterministic Programming with LLMs

https://www.mcherm.com/deterministic-programming-with-llms.html
18•todsacerdoti•3d ago•8 comments

Werner Herzog Between Fact and Fiction

https://www.thenation.com/article/culture/werner-herzog-future-truth/
65•Hooke•1d ago•14 comments

Show HN: Now I Get It – Translate scientific papers into interactive webpages

https://nowigetit.us
186•jbdamask•12h ago•99 comments

New evidence that Cantor plagiarized Dedekind?

https://www.quantamagazine.org/the-man-who-stole-infinity-20260225/
110•rbanffy•3d ago•69 comments

The whole thing was a scam

https://garymarcus.substack.com/p/the-whole-thing-was-scam
616•guilamu•9h ago•168 comments

MCP server that reduces Claude Code context consumption by 98%

https://mksg.lu/blog/context-mode
235•mksglu•16h ago•56 comments

747s and Coding Agents

https://carlkolon.com/2026/02/27/engineering-747-coding-agents/
128•cckolon•1d ago•58 comments

The archivist preserving decaying floppy disks

https://www.popsci.com/technology/floppy-disk-archivist-project/
46•Brajeshwar•3d ago•4 comments

Just two days of oatmeal cut bad cholesterol by 10%

https://www.sciencedaily.com/releases/2026/02/260225081217.htm
10•gradus_ad•36m ago•3 comments

Running a One Trillion-Parameter LLM Locally on AMD Ryzen AI Max+ Cluster

https://www.amd.com/en/developer/resources/technical-articles/2026/how-to-run-a-one-trillion-para...
10•mindcrime•55m ago•2 comments

Our Agreement with the Department of War

https://openai.com/index/our-agreement-with-the-department-of-war
217•surprisetalk•5h ago•194 comments

Ghosts'n Goblins – “Worse danger is ahead”

https://superchartisland.com/ghostsn-goblins/
64•elvis70•3d ago•24 comments

From Noise to Image – interactive guide to diffusion

https://lighthousesoftware.co.uk/projects/from-noise-to-image/
107•simedw•2d ago•15 comments

The Eternal Promise: A History of Attempts to Eliminate Programmers

https://www.ivanturkovic.com/2026/01/22/history-software-simplification-cobol-ai-hype/
234•dinvlad•3d ago•165 comments

Unsloth Dynamic 2.0 GGUFs

https://unsloth.ai/docs/basics/unsloth-dynamic-2.0-ggufs
198•tosh•17h ago•53 comments

What I learned while trying to build a production-ready nearest neighbor system

https://github.com/thatipamula-jashwanth/smart-knn
18•Jashwanth01•3d ago•10 comments

The United States and Israel have launched a major attack on Iran

https://www.cnn.com/2026/02/28/middleeast/israel-attack-iran-intl-hnk
1054•lavp•19h ago•2288 comments