This course is about how to find the best ¬or at least good ¬solutions to large problems frequently arising in business, industrial, or scientific settings. Students learn how to model these problems mathematically, algorithms for finding solutions to them, and the theory behind why the algorithms work. Topics include the simplex method, duality theory, sensitivity analysis, and network models. The focus is on linear models and models with combinatorial structure, but some nonlinear models are considered as well. Optimization software is used frequently.