ORF 363 / COS 323, F24

Computing and Optimization

Fall 2024, Princeton University (undergraduate course)

(This is the Fall 2024 version of this course. You can also access the Fall 2023Fall 2021Fall 2020 ,  Fall 2019Fall 2018Fall 2017Fall 2016Fall 2015Fall 2014 versions.)

Useful links

Lectures

The notes below summarize most of what I cover during lecture. Please complement them with your own notes.
Some lectures take one class session to cover, some others take two.

  • Lecture 1: Let's play two games! (Optimization, P and NP.)
    [pdf]
     
  • Lecture 2: What you should remember from linear algebra and multivariate calculus.
    [pdf]
     
  • Lecture 3: Unconstrained optimization, least squares, optimality conditions.
    [pdf]
     
  • Lecture 4: Convex optimization I.
    [pdf]
     
  • Lecture 5: Convex optimization II.
    [pdf]
     
  • CVX Demo
    [cvx_examples.m] (MATLAB), [cvxpy_examples.ipynb] (Python)
     
  • Lecture 6: Applications in statistics and machine learning: LASSO + Support vector machines (SVMs)
    [pdf]
     
  • Lecture 7: Root finding and line search. Bisection, Newton, and secant methods.
    [pdf]
     
  • Lecture 8: Gradient descent methods, analysis of steepest descent, convergence and rates of convergence, Lyapunov functions for proving convergence.
    [pdf]
     
  • Lecture 9: Multivariate Newton, quadratic convergence, Armijo stepsize rule, nonlinear least squares and the Gauss-Newton algorithm.
    [pdf]
     
  • Lecture 10: Conjugate direction methods, solving linear systems, Leontief economy.
    [pdf]
     
  • Lecture 11: Linear programming: applications, geometry, and the simplex algorithm.
    [pdf]
     
  • Lecture 12: Duality + robust linear programming.
    [pdf]
     
  • Lecture 13: Semidefinite programming + SDP relaxations for nonconvex optimization.
    [pdf
    Additional slides on applications of sum of squares optimization (optional): [pdf
     
  • Lecture 14: A working knowledge of computational complexity theory for an optimizer.
    [pdf]
     
  • Lecture 15: Limits of computation + course recap.
    [pdf]
     

Problem sets and exams

Solutions are posted on Canvas.

  • Homework 1: Optimizing Cub Club, perfect numbers, and a review of linear algebra and multivariate calculus.
    [pdf]
     
  • Homework 2: Image compression and honoring Sydney McLaughlin, local and global minima, positive semidefinite matrices, copositive matrices.
    [pdf], [mclaughlin.jpg]
     
  • Homework 3: Radiation treatment planning, GPA at Yale vs. Princeton, convex analysis.
    [pdf]
    MATLAB specific data files: [treatment_planning_data.m]
    Python specific data files: [treatment_planning_data.py], [Atumor.csv], [Aother.csv
     
  • Practice Midterms:
    [Fall18], [Fall19], [Fall20], [Fall21], [Fall23]
     
  • Midterm:
    [pdf]
     
  • Homework 4: Support vector machines, predicting the outcome of an election.
    [pdf], [HWSVM], [Hillary_vs_Bernie]
     
  • Homework 5: Theory-application split in a course, approximating the square root, Newton fractals, orbit of the Earth and daily temperature in NYC.
    [pdf], [TemperatureNewYork.csv]
     
  • Homework 6:  New gym for Princeton, Lyapunov functions.
    [pdf], [princetoncampus.jpeg], [Circledraw.m], [plotgrid.m], [plotgrid.py]
     
  • Homework 7: Setting the odds in your favor with SDP, optimal control, nearest correlation matrix.
    [pdf]
     
  • Homework 8: 
     
  • Practice Final Exams (data files on Canvas):
     
  • Final Exam: