**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:** Thursday, 3:30 pm - 4:30 pm

**Make-up lecture classroom** Max W and Maileen Brown Family Hall (BHEE) 234

**Make-up lecture time** Wednesday, 4:30 pm - 5:45 pm

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. Special focus will be given to using the APIs of modern computational software including CPLEX, Gurobi, Mosek, Pytorch with implementations in Python. 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.

Date |
Topic |
Slides |
Homework |
Handouts and Links | Video |
---|---|---|---|---|---|

Tue Jan 9 | Introduction to Course | slides ipad | HW1 | Pyomo Tutorial | video |

Thu Jan 11 | Convex sets, functions | slides ipad | video | ||

Tue Jan 16 | Unconstrained optimization | slides ipad | HW2 | video | |

Thu Jan 18 | Linear Programming Applications | slides ipad | video | ||

Tue Jan 23 | Polyhedron Theory | slides ipad | HW3 | video | |

Thu Jan 25 | Simplex Algorithm | slides ipad | video | ||

Tue Jan 30 | Linear Programming Duality | slides ipad | HW4 | video | |

Thu Feb 1 | Conic Programming | slides ipad | Mittelmann benchmark | video | |

Tue Feb 6 | Langrangian Dual and Optimality Conditions | slides ipad | HW5 | video | |

Thu Feb 8 | Nonlinear Programming Algorithms | slides ipad | video | ||

Tue Feb 13 | Modeling of Discrete and Continuous Decisions | slides ipad | HW6 | video | |

Thu Feb 16 | Formulating Mixed-Integer Linear Programming Models | slides ipad | practice exam 1 | video | |

Tue Feb 20 | Mixed-Integer Linear Programming Applications | slides ipad | HW7 | video | |

Thu Feb 22 | Branch and Bound | slides ipad | |||

Tue Feb 27 | Cutting Planes | slides ipad | |||

Thu Feb 29 | Midterm Review | practice exam solution | video | ||

Thu Mar 7 | Nonconvex Optimization Applications | slides ipad | HW8 | video | |

Tue Mar 19 | Convex Relaxations | slides ipad | video | ||

Thu Mar 21 | Branch and Reduce | slides ipad | HW9 | video | |

Tue Mar 26 | Decomposition Algorithms for MINLP | slides ipad | video | ||

Thu Mar 28 | Stochastic Programming and Benders Decomposition | slides ipad | HW10 | video | |

Tue Apr 2 | Column Generation and Dantzig Wolfe Decomposition | slides ipad | video | ||

Thu Apr 4 | Course Project | slides ipad | video | ||

Tue Apr 9 | Lagrangian Relaxation and Decomposition | slides ipad | HW 11 | video | |

Thu Apr 11 | Augmented Lagrangian and ADMM | slides ipad | video | ||

Tue Apr 16 | Bilevel Optimization | slides ipad | practice exam 2 | video | |

Thu Apr 18 | MIP Solvers | slides | HW 12 | video | |

Tue Apr 23 | Project Consulting | ||||

Thu Apr 25 | Final Review | ipad | video |

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

- Grossmann, I. E. (2021). Advanced optimization for process systems engineering. Cambridge University Press.
- Wolsey, L. A. (2020). Integer programming. John Wiley & Sons.
- Bertsimas, D., & Tsitsiklis, J. N. (1997). Introduction to linear optimization. Belmont, MA: Athena scientific.
- Ben-Tal, A., & Nemirovski, A. (2001). Lectures on modern convex optimization: analysis, algorithms, and engineering applications. Society for industrial and applied mathematics.
- Conforti, M., Cornuéjols, G., Zambelli, G (2014). Integer programming. Graduate Texts in Mathematics
- Boyd, S. P., & Vandenberghe, L. (2004). Convex optimization. Cambridge university press.
- 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.
- Horst, R., & Tuy, H. (2013). Global optimization: Deterministic approaches. Springer Science & Business Media.

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.
- Pytorch PyTorch is a machine learning framework based on the Torch library, used for applications such as computer vision and natural language processing, originally developed by Meta AI and now part of the Linux Foundation umbrella.

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

- YouTube videos review of linear algebra and calculus by 3Blue1Brown
- Linear algebra review videos by Zico Kolter
- General mathematical review: Appendix A of Boyd and Vandenberghe (2004)

- Convex optimization by Ryan Tibshirani
- Convex analysis by Dimitri Bertsekas
- Linear programming by Santanu Dey
- Integer programming by Ted Ralphs
- Linear and convex optimization classes by Arkadi Nemirovski