klamike
That is, if you assume there is no dual degeneracy :) https://lpviz.net/?s=AsEABN_FCIDiCQC_ixGg4BQAAMCLEYCS9AEAZAA
LP finds applications in tons of downstream fields, though the typical real-world problem has thousands to millions of variables (whereas lpviz is limited to 2) and constraints. Courses typically focus on how to model real-world problems as LP, instead of diving into how the solvers work. lpviz tries to fill that gap, so you can develop some intuition for how the different algorithms work.
There's tons of great videos/lectures introducing LP, this two-minute one is pretty good: https://www.youtube.com/watch?v=7ZjmPATPVzI
https://9b7c882e-lpviz.michael-4e4.workers.dev/?s=AtUAHIDTDg...
Show HN: lpviz – Interactive linear programming visualization in the browser
https://github.com/lpviz/lpvizVisualize linear programming solvers - Simplex, Interior Point, PDHG, and Central Path - in the browser. Drag the objective/vertices/constraints around and watch the solver trajectory respond in real time. Enter 3D mode to view solver metadata (like centrality for IPM or KKT residual for PDHG) on the z-axis. Always happy to get feedback and feature requests, one...
It's by no means polished, but it can be pretty fun to play around with, visualizing how the iterates of different LP algorithms (described in sections 11, 12 of the book) react to changes in the feasible region/objective, by just dragging the vertices/constraints around.
If you go to https://lpviz.net/?demo it will draw a polytope for you, and click around the interface to show off some of the features. I'm constantly chipping away at it in my free time, I welcome any feedback and suggestions!
lpviz is like Desmos, but for linear programming - I've implemented a few LP solvers in Typescript and hooked them up to a canvas so you can draw a feasible region, set an objective direction, and see how the algorithms work. And it all runs locally, in the browser!
If you go to https://lpviz.net/?demo it should show you a short tour of the features/how to use it.
It's by no means complete but I figured there may be some fellow optimization enthusiasts here who might be interested to take a look :) Super open to feedback, feature requests, comments!
For a 2-min intro to LP, I recommend https://www.youtube.com/watch?v=7ZjmPATPVzI