Linear and nonlinear programming. - Luenberger David G (2003)