“最优化:建模、算法与理论”,刘浩洋, 户将, 李勇锋,文再文
“Convex optimization”, Stephen Boyd and Lieven Vandenberghe
凸优化 (2019年秋季)
参考材料:
“Introductory Lectures on Convex Optimization. A Basic
Course”, Yu. Nesterov, (2004)
“Numerical Optimization”, Jorge Nocedal and Stephen Wright, Springer
“最优化理论与方法”,袁亚湘,孙文瑜,科学出版社,2003
“Optimization Theory and Methods”, Wenyu Sun, Ya-Xiang Yuan
The Matrix Cookbook, Kaare Brandt Petersen, Michael Syskind Pedersen
课程信息 (大致安排)
Acknowledgement: I would like to thank Prof. Lieven Vandenberghe (UCLA) and Prof. Wotao Yin (UCLA). Most of the slides are motivated or even taken directly from their courses.
第1周,9月22日,课程简介,凸优化问题介绍
lecture notes on introduction
,
lecture notes on convex sets
,
demo: sparse_l1_example.m
第2周,9月29日,凸集的定义和判别
Prof. Lieven Vandenberghe's lecture notes on convex sets
read chapter 2 in the book “Convex optimization”.
第2周,10月1日,国庆节放假
第3周,10月6日,国庆节放假
第4周,10月13日,凸函数的定义和判别
Prof. Lieven Vandenberghe's lecture notes on convex functions
read chapter 3 in the book “Convex optimization”.
第4周,10月15日,数值代数基础,向量,矩阵,范数,子空间,Cholesky分解,QR分解,特征值分解,奇异值分解
Prof. Lieven Vandenberghe's lecture notes on numerical algebra background
numerical algebraic background 请读非线性规划参考材料
demo: demo_linalg.m
Demo: Sparse matrix-dense vector products using intel MKL
BLAS (Basic Linear Algebra Subprograms)
LAPACK (Linear Algebra PACKage)
Intel Math Kernel Library – Documentation
Call LAPACK and BLAS Functions in Matlab
第5周,10月20日,典型的凸优化问题:
lecture notes
read chapter 4 in in the book “Convex optimization”
第6周,10月27日,线性规划,二次锥规划,半定规划简介:
lecture notes
线性规划,二次锥规划,半定规划例子:
lecture notes
凸优化模型语言和算法软件,CVX, SDPT3, Mosek, CPLEX, Gruobi
Prof. Boyd lecture notes on Disciplined convex programming and CVX
read chapter 4 in in the book “Convex optimization”
Introduction on Linear Programming (LP), read Chapter 1 in
“Introduction to Linear Optimization” by Dimitris Bertsimas and John N. Tsitsiklis.
Second-order Cone Programming (SOCP), read section 2 in
“Second-order cone programming”
Semidefinite Programming (SDP), read section 3 in
“SDP-M-J-Todd”
and section 2 in
“SDP-Lieven-Boyd”
The max cut paper by Goemans and Williamson
模型语言:
CVX
,
YALMIP
LP, SOCP, SDP典型算法软件:
SDPT3
,
MOSEK
,
CPLEX
,
GUROBI
NLP 典型算法软件:
Ipopt
,
KNITRO
Decision Tree for Optimization Software
第6周,10月29日,对偶理论, 凸优化最优性条件
Prof. Lieven Vandenberghe's lecture notes on duality
read chapter 5 in in the book “Convex optimization”
Lagrangian function, Lagrangian dual problem, examples
max cut problem: dual of nonconvex problem, SDP relaxation: the dual of the dual
duality using problem reformulation
第7周,11月3日,对偶理论, 凸优化最优性条件
Prof. Lieven Vandenberghe's lecture notes on duality
第8周,11月10日,梯度法和线搜索算法,最速下降法及其复杂度分析,线搜索算法,Barzilar-Borwein 方法
Prof. Lieven Vandenberghe's lecture notes on gradient methods
Complexity analysis: Yu. Nesterov, Introductory Lectures on Convex Optimization. A Basic Course (2004), section 2.1.
Line search: “Numerical Optimization”, Jorge Nocedal and Stephen Wright, chapter 3: 3.1, 3.5
Barzilar-Borwein Method: “Optimization Theory and Methods”, Wenyu Sun, Ya-Xiang Yuan, section 3.1.3
Matlab code on the BB method with nonmonotone line search
第8周,11月12日,梯度法和线搜索算法,最速下降法及其复杂度分析,线搜索算法,Barzilar-Borwein 方法
第9周,11月17日, 次梯度,次梯度算法
Prof. Lieven Vandenberghe's lecture notes on subgradient
Prof. Lieven Vandenberghe's lecture notes on subgradient method
第10周,11月24日, 近似点算子的构造和性质
Prof. Lieven Vandenberghe's lecture notes on proximal mapping
第10周,11月26日, 期中考试
第11周,12月1日,近似点梯度法的构造和分析,条件梯度法, inertial proximal method
Prof. Lieven Vandenberghe's lecture notes on proximal gradient method
“Proximal Algorithms”, N. Parikh and S. Boyd, Foundations and Trends in Optimization, 1(3):123-231, 2014.
条件梯度法参考: 王奇超,文再文,蓝光辉,袁亚湘, 优化算法复杂度分析简介,
(paper)
Peter Ochs, Yunjin Chen, Thomas Brox, and Thomas Pock, iPiano: Inertial Proximal Algorithm for Nonconvex Optimization, SIAM J. IMAGING SCIENCES, Vol. 7, No. 2
第12周,12月8日, Nesterov加速算法和分析
Prof. Lieven Vandenberghe's lecture notes on fast proximal gradient method
Prof. Lieven Vandenberghe's lecture notes on smoothing
王奇超,文再文,蓝光辉,袁亚湘, 优化算法复杂度分析简介,
(paper)
Paul Tseng, Approximation accuracy, gradient methods, and error
bound for structured convex optimization, Math. Program., Ser. B (2010) 125:263–295
参考文献:
Amir Beck, Marc Teboulle, A Fast Iterative Shrinkage-Thresholding Algorithm for Linear Inverse Problems
Weijie Su, Stephen Boyd, E. Candes, A Differential Equation for Modeling Nesterov's Accelerated Gradient Method: Theory and Insights
第12周,12月10日, 对偶分解
Prof. Lieven Vandenberghe's lecture notes on conjugate function
Prof. Lieven Vandenberghe's lecture notes on dual decomposition
第13周,12月15日, 对偶近似点算法, PDHG
Prof. Lieven Vandenberghe's lecture notes on dual proximal gradient method
Lecture notes on PDHG
第14周,12月22日,mirror descent methods,近似点算法,增广拉格朗日函数法
Stephen Boyd John Duchi's lecture notes on mirror descent methods
Prof. Lieven Vandenberghe's lecture notes on proximal point method
第14周,12月24日,Douglas-Rachford splitting, 交替方向乘子法及其变形,交替方向乘子法的构造
Lecture notes on ADMM
Prof. Wotao Yin's lecture notes on ADMM
“Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers”, S. Boyd, N. Parikh, E. Chu, B. Peleato, and J. Eckstein, Foundations and Trends in Machine Learning, 3(1):1–122, 2011
Daniel O'Connor, Lieven Vandenberghey, On the equivalence of the primal-dual hybrid gradient method and
Douglas-Rachford splitting
第15周,12月29日, Block Coordinate Descent Methods
lecture notes on BCD
Jérôme Bolte, Shoham Sabach, Marc Teboulle, Proximal alternating linearized minimization for nonconvex and nonsmooth problems
第16周,1月5日, semi-smooth Newton methods
lecture notes on semi-smooth methods
第16周,1月7日,Barrier functions, Path-following methods
Prof. Lieven Vandenberghe's lecture notes on barrier functions
Prof. Lieven Vandenberghe's lecture notes on path following methods
Prof. Lieven Vandenberghe's lecture notes on primal-dual methods
下面习题选自教材:
“最优化:建模、算法与理论”,刘浩洋, 户将, 李勇锋,文再文
作业一: 习题:2.6, 2.7, 2.8, 2.9, 交作业时间: 10月13日课堂上交(上课前)。
作业二: 习题:3.7, 3.14, 4.3, 4.6, 交作业时间:10月27日课堂上交(上课前)。
作业三: 习题:4.8, 4.9, 4.10, 4.11, 交作业时间: 11月3日课堂上交(上课前)。
作业四: 习题:5.3, 5.6, 5.11, 5.14, 5.17, 交作业时间: 11月10日课堂上交(上课前)。
作业五:
homework5g.pdf
交作业时间:
11月17日: 1, 2
12月1日: 3 (a), (b)
12月15日: 3 (c), (d), (e)
1月5日: 3 (f), (g), (h)
选做题: (i), (j)
作业5提交指南
后继作业文件和上机报告可以包含之前提交的内容
报告和程序等等打包(文件名为 “gl-StudentID-date.zip”)发email给助教 ([email protected])
作业六: 习题:2.13, 2.14, 6.4, 8.4, 交作业时间: 12月10日课堂上交(上课前)。
作业七: 习题: 8.5, 8.7, 8.8, 8.12, 8.13, 交作业时间: 1月5日课堂上交(上课前)。
Reference on matrix calculus and backpropagation:
Stanford: CS224n, Christopher Manning, Gradients by hand (matrix calculus) and algorithmically (the backpropagation algorithm)
Stanford: CS224n: Natural Language Processing with DeepLearning
Kevin Clark, Computing Neural Network Gradients
任选一个课题,任务包括但不限于:实现算法,分析理论性质,在大量测试问题上数值试验。
鼓励提出原创性算法和分析。
2021年1月19日晚12点(不接受晚交报告),书面报告 (包括latex源文件,程序等等打包发email给助教 ([email protected])。
提交的文件请全部打包,文件名为见具体要求文件。
请在书面报告声明:本项目文件的主要内容没有用在其它课程做为课程项目或作业提交。
如果是多人组队,请明确说明每人负责的部分和内容。