An introduction to the theory and algorithms of linear and nonlinear programming with an emphasis on modern computational considerations. The simplex method and its variants, duality theory and sensitivity analysis. Large-scale linear programming. Optimality conditions for unconstrained nonlinear optimization. Newton's method, line searches, trust regions and convergence rates. Constrained problems, feasible-point methods, penalty and barrier methods, interior-point methods.