CHE 597: Computational Optimization, Spring 2025

Instructor: Can Li
Email: canli@purdue.edu
Classroom: Hampton Hall of Civil Engineering, Room 2102
Time: Tuesday and Thursday, 4:30 pm - 5:45 pm
Office: Forney Hall of Chemical Engineering, Room G027A
Office Hours: Wednesday, 5 pm - 6 pm
Make-up lecture classroom Max W and Maileen Brown Family Hall (BHEE) 236
Make-up lecture time Monday, Wednesday, 4:30 pm - 5:45 pm

Course Description:

This is a graduate-level introductory course to mathematical optimization. We will cover the theory and algorithms of linear programming, mixed-integer linear/nonlinear programming, conic programming, global optimization of nonconvex problems, and decomposition algorithms for mixed-integer programs. We will motivate the algorithms using modern applications in chemical engineering, transportation, energy systems, machine learning, and control.

The course lectures will be 30% proofs, 50% algorithms and computation, and 20% modeling and applications in engineering. The homework will keep a similar portion. However, we will not have proofs in the exams since this is a class targeted at engineering students.

Previous Offerings:

Previous offerings of the courses can be found below.

Syllabus

Date
Topic
Slides
Homework
Handouts and Links Video
Tue Jan 14 Introduction to Course slides ipad HW1 Pyomo Tutorial video
Tue Jan 21 Linear Algebra and Calculus Review slides ipad     video
Wed Jan 22 Convex sets, functions slides ipad     video

This class will not exactly follow any textbook. But we may cover some of the content in the following textbooks.

  1. Grossmann, I. E. (2021). Advanced optimization for process systems engineering. Cambridge University Press.
  2. Wolsey, L. A. (2020). Integer programming. John Wiley & Sons.
  3. Bertsimas, D., & Tsitsiklis, J. N. (1997). Introduction to linear optimization. Belmont, MA: Athena scientific.
  4. Ben-Tal, A., & Nemirovski, A. (2001). Lectures on modern convex optimization: analysis, algorithms, and engineering applications. Society for industrial and applied mathematics.
  5. Conforti, M., Cornuéjols, G., Zambelli, G (2014). Integer programming. Graduate Texts in Mathematics
  6. Boyd, S. P., & Vandenberghe, L. (2004). Convex optimization. Cambridge university press.
  7. Tawarmalani, M., & Sahinidis, N. V. (2013). Convexification and global optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and applications (Vol. 65). Springer Science & Business Media.
  8. Horst, R., & Tuy, H. (2013). Global optimization: Deterministic approaches. Springer Science & Business Media.

Software

We will use the following software

  • Pyomo is a collection of Python software packages for formulating optimization models. Tutorial: ND Pyomo Cookbook
  • Gurobi and Cplex are both high-performance mathematical programming solver for linear programming, mixed integer programming, and quadratic programming.
  • Mosek is a software package for the solution of linear, mixed-integer linear, quadratic, mixed-integer quadratic, quadratically constraint, conic and convex nonlinear mathematical optimization problems.

Prerequisite

Some familiarity with linear algebra, calculus, and programming in python is required.

Last Updated Example