MATH3806 最优化方法 课程主页

课本

  1. Boyd S, Vandenberghe L. Convex Optimization. Cambridge: Cambridge University Press. [PDF]
  2. Stephen Boyd, Lieven Vandenberghe著 王书宁,许鋆,黄晓霖译. 凸优化. 清华大学出版社 [链接]

凸优化的软件

  1. CVXPY (Python)
  2. CVX (Matlab)

考核内容

见Canvas内的课程大纲

课程内容

(一)数学基础

章节 部分 讲义 相关代码
第一章:基本概念 1 例子 PDF Jupyter
  2 最优性条件 PDF
第二章:数学基础 1 凸集 PDF
  2 超平面分离 PDF
  3 凸函数 PDF
  4 凸优化 PDF CVXPY线性规划课内练习
    补充PDF 二次优化几何规划

(二)无约束优化 + 应用问题

章节 部分 讲义 相关代码
第三章:理论和算法 1 下降法 PDF 2D问题
  2 收敛分析 PDF
  3 牛顿法    
第四章:应用问题      

(三)约束优化

章节 部分 讲义 相关代码
第五章:对偶 1    
第六章:等式约束      
第七章:不等式约束      

大作业

本课程的大作业是对于某个具体的问题,使用课程里相关的方法来实现数值求解。最后的结果以一份报告(即小论文)的形式呈现。 可以侧重于一个具体问题的数值优化,也可以侧重于特定方法的数学分析,也可以侧重于不同算法的对比研究。大作业的重点是展现你自己对于该问题的理解以及如何使用数值方法来解决优化问题的思路。

要求:

  • 正文的总页数不少于4整页,但不超过8页(不包含文献与附录等),字体为10pt或者11pt(小四号字体)。如果你想要添加一些细节,可以考虑放到附录里。
  • 正文一般而言包含问题的背景介绍、优化算法的介绍或分析、数值实验等。
  • 写代码来实现计算并绘制图像(若适用);可以使用任何编程语言。
  • 请在报告里注明参考文献。
  • 最后将报告(pdf格式)、代码等打包成一个zip文件,并上传到canvas。
  • 以名字-学号-优化课程大作业.zip为命名格式。
  • 报告的正文里不要放具体的代码,可运行的代码请直接放在zip压缩包里。
  • 报告建议使用latex,或word书写。latex模版可见sjtug

代码部分

建议使用pip3(或conda)来安装如下:

pip3 install jupyterlab matplotlib numpy scipy
pip3 install cvxpy
  • 第1行:可以考虑使用JupyterLab来运行提供的代码。
  • 第2行:安装的cvxpy提供了大量优化的算法。

其他参考资源