Optimization resources at CU Boulder
Because optimization-related topics span different departments, this website is an attempt to unify information about what is available at CU for students and researchers.
The information here is updated by different faculty, and may not be complete
Classes in optimization
APPM 4120/5120 Introduction to Operations Research
taught yearly by the Applied Math department or the Math department (under MATH 4120/5120)
Taught by Yu-Jui Huang (Applied Math) in Spring 2017, ..., Spring 2021
APPM 5630 Advanced Convex Optimization
Previously taught Spr '17, Fall '18, and Spr '21 by Stephen Becker (Applied Math)
Usually taught every 2nd year (in spring of odd years: spring '21, spring '23, ...)
Previously listed as APPM 4720/5720 "Special topics: advanced convex optimization"
Follows part of Boyd & Vandenberghe, then focuses on 1st order methods, more convex analysis, SGD, Fenchel-Rockafellar duality, and other topics
github website with a syllabus from the Spring '21 class
CSCI 5254 Convex Optimization and Its Applications
Taught yearly by Lijun Chen (Computer Science)
Follows Boyd & Vandenberghe's book Convex Optimization
CSCI 5654 Linear and Integer Programming
previously taught by Sriram Sankaranarayanan (Computer Science) in Fall 2016
Previously titled: "CSCI 5654 Linear Programming" (taught by Sankaranarayanan in Fall’09,’11,’13)
CSCI 5676 Numerical Methods for Unconstrained Optimization
Taught Fall '19 by Xiao-Chuan Cai (Computer Science)
Text: Jorge Nocedal and Stephen J. Wright, Numerical Optimization, 2nd edition, 2006, Springer.
Old name: High-Performance Scientific Computing 1
Appears to have replaced the old optimization sequence in computer science taught by Richard Byrd:
CSCI 5606 Principles of Numerical Computation (last taught 2012?)
CSCI 6676 Numerical Methods for Unconstrained Optimization (last taught 2012?)
CSCI 6676 (no longer taught it seems -- used to be taught by Richard Byrd (Computer Science))
ECEN 5008 Special Topics: Coordinated Control of Multi-agent Systems
Taught by Emiliano Dall'Anese (Electrical, Computer, and Energy Engineering), 2018 (?)
The course covers: distributed averaging and consensus methods on graphs; fixed-point theory and parallel computation of fixed points; basics of convex optimization; parallel and distributed computation methods for unconstrained and constrained convex problems.
ECEN 5478 Online Convex Optimization and Learning
Taught by Emiliano Dall'Anese (Electrical, Computer, and Energy Engineering) in Fall '21
Taught by Dall'Anese in Fall '20 also, under the name ECEN 5008 Special topics: Online Convex Optimization
The course covers:
Basics of convex optimization; online learning, time-varying optimization, online first-order methods, learning problems over networks, zeroth-order methods, Gaussian processes, distributed methods for online convex optimization.
ECEN 5358 Optimization and Optimal Control
Taught by John Hauser (Electrical, Computer, and Energy Engineering) , Spr '20
The course covers: nonlinear system trajectories and regulation, function space operators and derivatives, optimality conditions, barrier functionals, and Newton's method in function space.
MCEN 4125/5125 Optimal Design
Taught by Shalom D. Ruben (Mechanical Engineering), Spr '20
The focus is on formulating engineering applications as optimization problems (primarily Linear Programming but will introduce Non-Linear) that can then be solved using known solvers. Some of these applications will include minimum cost mechanical design, wind farm power maximization, minimum energy control, operations research, classification via support-vector machine, and more.
MCEN 4228/5228 Automated Mechanical Design Synthesis
Taught by Rob MacCurdy (Mechanical Engineering), Spr
Pose mechanical design as a multi-objective optimization problem. Introduce optimization methods, focused on multi-objective Pareto-optimal methods (gradient methods, simulated annealing, genetic algorithms). Discuss the impact of specific design representations; introduce generative representations. Introduce geometric representations and coupling to additive manufacturing to realize complex designs.
OPIM 8820 Large-Scale Optimization
Faculty with research related to optimization
Stephen Becker (Assistant Professor, Applied Math department)
Emiliano Dall'Anese (Assistant Professor, Electrical, Computer, and Energy Engineering)
Robert MacCurdy (Assistant Professor, Mechanical Engineering)
Others (just not listed here yet!)
Related links at CU
Machine learning courses at CU, curated by Mike Mozer
Robotics, Controls and Dynamical Systems (RCDS) seminar series