At the end of this course the students will be able to formulate a real-world problem as a mathematical programming model. Understand the theoretical workings of the simplex method for linear programming and perform iterations of it by hand. Understand the relationship between a linear program and its dual, including strong duality and complementary slackness. Perform sensitivity analysis to determine the direction and magnitude of change of a model's optimal solution as the data change. Solve specialized linear programming problems like the transportation and assignment problems. Understand the applications of basic methods for integer programming Model a dynamic system as a queuing model and compute important performance measures.