My rethinking of how to present mathematical programming begins with the conviction that you cannot do justice to the topic by teaching only linear programming and the simplex method. First of all, the overwhelming majority of optimization problems actually encountered in engineering and management practice cannot be modeled straightforwardly as linear programs. They involve discrete, nonlinear, and multiobjective elements that have to be confronted. Perhaps more importantly, OR practice has evolved to the point where integer, nonlinear, and multiobjective optimization models are dealt with every day. I was surprised myself, in researching the OR applications literature for this book, that accounts of discrete optimization significantly outnumber those using linear programming alone.
Goal programs are everywhere.
If students have never seen anything but classic LP, they will inevitably conclude OR is too narrow to deal with the complexities of real planning and design tasks. Focusing heavily on the simplex algorithm also introduces a more subtle roadblock to learning. Regardless of whether simplex is taught as a combinatorial search for the right basic set or as a sequence of linear equation manipulations, decades of refinement on simplex development have almost totally obscured its relation to all the other tools of mathematical programming. A student who has learned only the simplex now carries away little insight around which to build any understanding of the wider field. Even the newer interior point algorithms for linear programming seem completely foreign.