This second edition introduces several areas and items that were not included in the first edition, as well as several corrections. A brief summary of these changes are given next. Chapter 1 includes a discussion on the diet problem, in addition to that on the staff planning problem, in order to very early on introduce linear programming. Figure 1.1 now has the terminating box ``Implementation'', whereas the original one had an infinite loop! Chapter 3 has been enriched by several new results on separating and supporting hyperplanes, and the associated theory of convex cones and their polar sets. Thanks to this study of separating hyperplanes,Theorem 5.17 on the necessity of the Fritz John conditions now has a complete proof. The end of ...