支撑函数
支撑函数(support function)记录集合在每个线性方向上的最大投影值。对非空集合 ,定义 若该方向无上界,函数值为 ;上确界有限也未必由集合中的点达到。方向 是输入,集合内点的内积上界是输出。只在 时,它才直接表示相应有向法线坐标的长度尺度。[1]
取矩形 。对方向 ,两个坐标可以独立选择,故 第一项来自在区间 上最大化 ,第二项来自在 上最大化 。例如 ,由顶点 达到。
上确界与支撑超平面的关系
若 有限且在 达到,,则 是支撑超平面。主例中该直线为 。若方向改为 ,支撑值为四,整条上边都达到它;因此支撑函数是一个数,不自动指定唯一接触点。
变式取开矩形 ,支撑函数仍为相同公式,但方向 的上确界十无法达到,因为需要两个坐标同时取被排除的端点。可用点 逼近十,任一有限 却都严格小于十。这区分了上确界与最大值。
正齐次性与次可加性
对 ,将上确界中的内积整体乘 ,得到 ;另外 。当某方向的值无穷时,把 代入乘法会遇到未定义的 ,所以零方向应单独说明。
对每个 有 ,取上确界得到 结合正齐次性即可推出凸性。等号不总成立:在主例取 、,右边为二,左边 。两个方向各自的最优点不同,不能要求同一点同时实现两个上界。
平移满足 ;线性像满足 。两式都可直接将 或 代回定义。它们说明支撑值可以为负,例如单点集 在方向 上的支撑值为负二,不是普通的非负距离。
支撑函数确定闭凸集合
对任意非空 ,有 。因为线性函数在凸组合上的值是原值的加权平均,不会超过原上确界;取闭包也不改变连续线性函数的上确界。于是支撑函数不能区分一个集合与它的闭凸包,例如两个端点和连接它们的线段具有相同支撑函数。
反过来,非空闭凸集满足 正向包含直接来自上确界定义。若 ,取它在 中的最近点 ,令 。最近点条件给出 对全部 成立,因此 。但 所以外点被其中一个半空间排除,反向包含得证。最近点条件可由比较线段 与 的距离并令 得到;闭性保证最近点存在,凸性保证该线段仍在集合中。
无界集合的有限方向
无界不等于所有非零方向支撑值都无穷。例如射线 的支撑函数在 时为零,在 时为 。它同时记录了沿正方向可无限延伸,以及反方向被原点限制。对凸锥,采用本文正号的对偶锥约定,支撑函数在 上为零,其余方向为无穷;负号正来自“取上界”和“内积非负”两个约定的区别。
参考文献
- ↑ Stephen Boyd、Lieven Vandenberghe,Convex Optimization,3.2.3节的例3.7,以及习题2.26、3.35。