引言
在当今机器人技术迅速发展的背景下,优化问题求解成为了该领域的关键技能之一。本系列旨在帮助读者掌握解决一般非凸、光滑、非光滑、有约束、无约束以及具有特殊结构的凸问题和非凸问题的方法。
一、参考书籍推荐
- 《最优化:建模、算法与理论》 北大的文再文团队编著,中文版,提供了很多算法的理论和具体流程,适合入门。
- 《数值优化》(Numerical Optimization) 关注程序中的浮点数表示引发的稳健性数值问题,提供工程实践技巧,使算法转化到程序时更加鲁棒。
- 《凸优化教程》(Lectures on Convex Optimization) 聚焦凸优化理论,从光滑到非光滑到结构优化,思路清晰。
- 《现代凸优化分析、算法和工程应用教程》(LECTURES ON MODERN CONVEX OPTIMIZATION ANALYSIS, ALGORITHMS, AND ENGINEERING APPLICATIONS) 针对锥优化,对锥规划及多项式时间复杂度的内敛算法有整体分析和应用。
建议重点阅读第一、二、三本书。
二、数值优化的定义与组成
数值优化通过数学模型和算法找到使机器人系统性能最优的参数值,通常涉及最小化目标函数。
2.1 数值优化组成部分
数学优化一般由以下几个部分组成: $$ \min f(x) \ \text{s.t.} \quad g(x) \leq 0 \ \quad \quad h(x) = 0 $$
(1) 优化变量
$x = (x_1, \cdots, x_n) \in R^n$,称为优化变量。它是 n 维向量。
(2) 目标函数
$f: R^n \rightarrow R$,评价 $x$ 是否更优。值是越小越好。
(3) 不等式约束
g: R^n \rightarrow R^{m_g}$。例如 $g(x) = (x_1 - 1)^2 + x_2^2 - 1 \leq 0$ 描述的是以 $(1, 0)$ 为圆心,1 为半径的圆形区域。
(4) 等式约束
$h: R^n \rightarrow R^{m_h}$。例如在三维空间的曲面上寻找 $x$,曲面可以用等式 $h$ 表述,如 $x_1^2 + x_2^2 + x_3^2 = 0$。
定义最优值 $x^*$,要满足所有约束。所有满足约束的 $x$ 称作 可行解。最优解是可行解中具有最低目标函数值的解的集合。
2.2 数值优化前提假设
在机器人数值优化中,假设目标函数满足以下两点:
- 假设 1:目标函数具有下界,即 $f(x) \geq \alpha$。
- 假设 2:目标函数具有有界子级集,即当 $f(x) \leq \beta$ 时,$x$ 有界。
对于有约束优化的情况,定义 $\tilde{f}(x)$ 为满足约束时为 $f(x)$,不满足时为 $+\infty$。则 $\tilde{f}(x)$ 作为目标函数是有下界且具有有界子级集。
在本系列的所有情况中,都会假设无约束优化里的目标函数必须得满足这两个假设条件。存在下界且具有有界子级集。


