本书介绍了凸优化中的主要复杂性定理及其相应的算法。从黑箱优化的基本理论出发,内容材料是朝着结构优化和随机优化的新进展。我们对黑箱优化的介绍,深受Nesterov的开创性著作和Nemirovski讲稿的影响,包括对切割平面方法的分析,以及(加速)梯度下降方案。我们还特别关注非欧几里德的情况(相关算法包括Frank Wolfe、镜像下降和对偶平均法),并讨论它们在机器中的相关性学习。我们慢慢的介绍了FISTA(优化一个光滑项和一个简单的非光滑项的和)、鞍点镜像代理(Nemirovski平滑替代Nesterov的光滑)和一个对内点方法的简明描述。在随机优化中,我们讨论了随机梯度下降、小批量、随机坐标下降和次线性算法。我们还简单地讨论了组合问题的凸松弛和随机性对取整(四舍五入)解的使用,以及基于随机游动的方法。