MATH3806 最优化方法 课程主页

本课程围绕最优化理论与方法展开,涵盖数学基础、无约束优化及其应用、约束优化、对偶理论以及非凸优化等核心内容。

考核内容

具体考核内容见 Canvas 内的课程大纲。大作业要求请参考本页下方说明。

教科书与参考资料

  • Boyd S, Vandenberghe L. Convex Optimization. Cambridge Univ. Press. PDF
  • Stephen Boyd 等著 王书宁等译. 凸优化. 清华大学出版社 链接

课程内容

第一章:基本概念

部分 讲义
1 基础 PDF
2 例子 PDF
3 最优性条件 PDF

第二章:数学基础

部分 讲义
1 凸集 PDF
2 超平面分离 PDF
3 凸函数 PDF
4 凸优化 PDF

大作业

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

要求

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

软件与代码

课程相关的软件

代码部分

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

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