Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Seriously? It's not about me. It's about that book. For my remarks, you will have to look at them and not at me.

I nailed them on their description that the simplex algorithm was like Gaussian elimination for systems of linear inequalities.

No, The simplex algorithm is selecting elementary row operations to improve the value of the objective function.

Gaussian elimination also uses elementary row operations, but that is about the end of the direct connection. In particular, how Gaussian elimination selects elementary row operations is quite different from how simplex selects them.

For more detail, I explained the role of artificial variables where we just 'glue on' an identity matrix. So, since we just glue on an identity matrix, we never, directly in simplex, go through anything like Gaussian elimination to GET an identity matrix. Yes, at times, for numerical reasons, one should 'reinvert' the basis in simplex, and here Gaussian elimination, etc., might be used, but such 'reinversion' is not really simplex.

The authors mentioned Gaussian elimination when they should have mentioned elementary row operations. Next, what is special about simplex is improving the objective function, not working with linear inequalities. Indeed, simplex doesn't work with linear inequalities; instead, we just use 'slack' and 'surplus' variables to get a system of linear equalities (with non-negative variables) before simplex even gets the problem.

The authors were being sloppy. I called them out on it. It was appropriate that I do so.

If you believe that my remarks about simplex are in error, then by all means make your claims.

But the issue is not me; it's the book.



I nailed them on their description that the simplex algorithm was like Gaussian elimination for systems of linear inequalities.

I found your additional input on the topic helpful, but I'm having trouble picking out more helpful insights about LP from all the other unrelated discussion.


The core of the simplex algorithm, and the key to its considerable power, is a cute application of elementary row operations selected to improve the value of the objective function. That's the 'algebraic' part. There is a cute, and significant, geometric part: The collection of feasible solutions is an intersection of finitely many closed half spaces and, thus, is closed and convex. The set has finitely many extreme points. At each iteration, the simplex algorithm starts at an extreme point. The elementary row operation causes the algorithm to try to move along an edge that improves the value of the objective function. In case of 'degeneracy', the algorithm can execute algebraically but stand still geometrically, but there are techniques to do the right things in this case.

So, the core really isn't Gaussian elimination for systems of linear inequalities.

For more, LP and the simplex algorithm are surprisingly powerful: Part of the reason is, for a huge range of optimization problems, taking a local linear approximation and then attacking that with simplex is often the best technique known. There are also surprising connections with combinatorial optimization and some classic NP-complete problems. What LP and simplex do on networks is also surprising and powerful; e.g., there simplex takes on a special form based on spanning trees.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: