数值优化(Numerical Optimization)(1)

数值优化(Numerical Optimization)(1)

数值优化(Numerical Optimization)(1) 养生的控制人 浙江大学 控制科学与工程博士在读

优化基础

Overview

一般优化问题可以描述为

数值优化(Numerical Optimization)(1)

其中, 数值优化(Numerical Optimization)(1) 为已知待优化的目标函数, 数值优化(Numerical Optimization)(1) 为等式约束, 数值优化(Numerical Optimization)(1) 为不等式约束。这里只考虑最小化问题(求目标函数的最小值),最大化问题等价于最小化负目标函数。

优化命题可以按照不同准则进行分类,比如:

  1. 约束和无约束:如果 数值优化(Numerical Optimization)(1) ,则这是一个无约束问题;
  2. 线性和非线性规划:如果 数值优化(Numerical Optimization)(1) 和 数值优化(Numerical Optimization)(1) 都是 数值优化(Numerical Optimization)(1) 的线性函数则该优化问题为线性规划问题,否则为非线性规划问题。

优化问题“解”的理论性质

  • 全局最优解、弱局部最优解、严格局部最优解、孤立局部最优解的定义:对于优化问题的解 数值优化(Numerical Optimization)(1) ,它属于

全局最优:对于任意的 数值优化(Numerical Optimization)(1) ,有 数值优化(Numerical Optimization)(1)

弱局部最优:对于任意 数值优化(Numerical Optimization)(1) 属于 数值优化(Numerical Optimization)(1) 的领域 数值优化(Numerical Optimization)(1) ,有 数值优化(Numerical Optimization)(1)

严格局部最优:对于任意 数值优化(Numerical Optimization)(1) 属于 数值优化(Numerical Optimization)(1) 的领域 数值优化(Numerical Optimization)(1) ,有 数值优化(Numerical Optimization)(1)

孤立局部最优:在 数值优化(Numerical Optimization)(1) 的领域 数值优化(Numerical Optimization)(1) 内,不存在其他最优解。

  • 泰勒定理

假设 数值优化(Numerical Optimization)(1) 连续可微,令 数值优化(Numerical Optimization)(1) ,对于 数值优化(Numerical Optimization)(1) 有

数值优化(Numerical Optimization)(1)

如果 数值优化(Numerical Optimization)(1) 是二次连续可微的,有

数值优化(Numerical Optimization)(1)

且对于 数值优化(Numerical Optimization)(1) 有

数值优化(Numerical Optimization)(1)

  • 必要条件

一阶必要条件:假设 数值优化(Numerical Optimization)(1) 连续可微,如果 数值优化(Numerical Optimization)(1) 是 数值优化(Numerical Optimization)(1) 的最优解,则 数值优化(Numerical Optimization)(1) ;

二阶必要条件:假设 数值优化(Numerical Optimization)(1) 二次连续可微,如果 数值优化(Numerical Optimization)(1) 是 数值优化(Numerical Optimization)(1) 的最优解,则 数值优化(Numerical Optimization)(1) 且 数值优化(Numerical Optimization)(1) (矩阵正半定)。

  • 二阶充分条件

假设 数值优化(Numerical Optimization)(1) 是连续的, 数值优化(Numerical Optimization)(1) ,则 数值优化(Numerical Optimization)(1) 为严格局部最优解。

  • 凸性和局部最优

当 数值优化(Numerical Optimization)(1) 是凸函数时局部最优就是全局最优。此外,如果 数值优化(Numerical Optimization)(1) 可微则任意驻点为全局最优解。

算法概述

通常优化算法从一个初始点 数值优化(Numerical Optimization)(1) 开始局部搜索目标函数的下降方向,从而得到迭代解 数值优化(Numerical Optimization)(1) ,当满足停止一定条件时停止迭代。

算法通常会对函数 数值优化(Numerical Optimization)(1) 在 数值优化(Numerical Optimization)(1) 处进行局部模型近似

数值优化(Numerical Optimization)(1)

Hessian 矩阵 数值优化(Numerical Optimization)(1) 的不同选择对应不同的方法:

  1. 数值优化(Numerical Optimization)(1) 为最速下降法;
  2. 令 数值优化(Numerical Optimization)(1) 为二阶导数 数值优化(Numerical Optimization)(1) 的正定近似,对应的是牛顿法;
  3. 对 Hessian 矩阵进行迭代近似,对应拟牛顿法;
  4. 共轭梯度法更新 数值优化(Numerical Optimization)(1) 的过程不需要显式计算 数值优化(Numerical Optimization)(1) 。

基本定义和结论

  • Q-收敛

数值优化(Numerical Optimization)(1) 为Q-线性收敛:存在 数值优化(Numerical Optimization)(1) ,对于充分大的 数值优化(Numerical Optimization)(1) 有

数值优化(Numerical Optimization)(1)

数值优化(Numerical Optimization)(1) 为Q-超线性收敛:

数值优化(Numerical Optimization)(1)

数值优化(Numerical Optimization)(1) 为Q-二次收敛:存在 数值优化(Numerical Optimization)(1) 有

数值优化(Numerical Optimization)(1)

  • R-收敛

数值优化(Numerical Optimization)(1) 为R-线性收敛:如果存在 数值优化(Numerical Optimization)(1) 为 Q-线性收敛,且满足 数值优化(Numerical Optimization)(1) ;

数值优化(Numerical Optimization)(1) 为R-超线性收敛:如果存在 数值优化(Numerical Optimization)(1) 为 Q-超线性收敛,且满足 数值优化(Numerical Optimization)(1) ;

数值优化(Numerical Optimization)(1) 为R-二次收敛:如果存在 数值优化(Numerical Optimization)(1) 为 Q-二次收敛,且满足 数值优化(Numerical Optimization)(1) 。

  • Sherman-Morrison-Woodbury

如果 数值优化(Numerical Optimization)(1) 和 数值优化(Numerical Optimization)(1) 非奇异且满足 数值优化(Numerical Optimization)(1) ,则

数值优化(Numerical Optimization)(1)

线搜法

步长

下降方向的定义:如果 数值优化(Numerical Optimization)(1) 则 数值优化(Numerical Optimization)(1) 为下降方向。

问题:寻找 数值优化(Numerical Optimization)(1) 其中 数值优化(Numerical Optimization)(1) ,精确求解步长过于复杂,通常采取不精确求解的方法,即寻找一个能够减小目标函数 数值优化(Numerical Optimization)(1) 的次优解。

Wolfe 条件

  • Armijo 条件、曲率条件、Wolfe 条件、强 Wolfe 条件

固定 数值优化(Numerical Optimization)(1) 和 数值优化(Numerical Optimization)(1) 且 数值优化(Numerical Optimization)(1) 为下降方向,令 数值优化(Numerical Optimization)(1) 且 数值优化(Numerical Optimization)(1) ,固定 数值优化(Numerical Optimization)(1)

数值优化(Numerical Optimization)(1) 满足 Armijo 条件: 数值优化(Numerical Optimization)(1) (相当于确定 数值优化(Numerical Optimization)(1) 取值的右边界)

数值优化(Numerical Optimization)(1) 满足曲率条件: 数值优化(Numerical Optimization)(1) (相当于确定 数值优化(Numerical Optimization)(1) 取值的左边界)

数值优化(Numerical Optimization)(1) 满足强曲率条件: 数值优化(Numerical Optimization)(1) (导数小于固定值相当于步长靠近驻点)

Wolfe 条件等于 Armijo 条件加上曲率条件,强 Wolfe 条件等于 Armijo 条件加上强曲率条件。

  • Armijo 条件保证了下一次迭代的目标函数是下降的,即 数值优化(Numerical Optimization)(1)
  • 曲率条件

如果 数值优化(Numerical Optimization)(1) 则 数值优化(Numerical Optimization)(1) 在 数值优化(Numerical Optimization)(1) 处仍然是下降的,因此我们可以取一个大于 数值优化(Numerical Optimization)(1) 的步长;

如果 数值优化(Numerical Optimization)(1) 则可能已经接近最小值使得 数值优化(Numerical Optimization)(1) ,或者意味着 数值优化(Numerical Optimization)(1) 超过了最优解。

强条件保证了 数值优化(Numerical Optimization)(1) 的选择靠近 数值优化(Numerical Optimization)(1) 。

  • 存在满足 Wolfe 条件和强 Wolfe 条件的步长选择区间

假设 数值优化(Numerical Optimization)(1) 是连续可微的, 数值优化(Numerical Optimization)(1) 为在 数值优化(Numerical Optimization)(1) 处的下降方向且 数值优化(Numerical Optimization)(1) 沿着射线 数值优化(Numerical Optimization)(1) 存在一个区间满足 Wolfe 和 强 Wolfe 条件。

Goldstein 条件

  • Goldstein 条件

取 数值优化(Numerical Optimization)(1) ,Goldstein 条件:

数值优化(Numerical Optimization)(1)

  • 存在满足 Goldstein 条件的步长选择区间

假设 数值优化(Numerical Optimization)(1) 连续可微, 数值优化(Numerical Optimization)(1) 为 数值优化(Numerical Optimization)(1) 处的下降方向,函数沿着射线 数值优化(Numerical Optimization)(1) 则存在一个区间满足 Goldstein 条件。

回溯(backstracking)法

  • 回溯法定义:令 数值优化(Numerical Optimization)(1) 直到 数值优化(Numerical Optimization)(1) 满足 Armijo条件
  • 存在满足回溯法的步长

假设 数值优化(Numerical Optimization)(1) 连续可微, 数值优化(Numerical Optimization)(1) 为 数值优化(Numerical Optimization)(1) 处的下降方向,存在一个由回溯法得到的步长满足 Armijo 条件。

步长的选择算法

注:这里不考虑使用 Wolfe 条件或 Goldstein 条件的算法。

  • 回溯算法

输入:减小速率 数值优化(Numerical Optimization)(1) ,初始估计 数值优化(Numerical Optimization)(1) ,参数 数值优化(Numerical Optimization)(1) ,函数 数值优化(Numerical Optimization)(1) ,令 数值优化(Numerical Optimization)(1)

循环:当 数值优化(Numerical Optimization)(1) 时,令 数值优化(Numerical Optimization)(1)

输出: 数值优化(Numerical Optimization)(1)

  • 内插算法

本质思想是通过多项式(二次、三次)来拟合 数值优化(Numerical Optimization)(1) ,求得拟合函数的最优解作为迭代估计值。

输入:可行搜索区间 数值优化(Numerical Optimization)(1) ,初始估计 数值优化(Numerical Optimization)(1) ,函数 数值优化(Numerical Optimization)(1) ,令 数值优化(Numerical Optimization)(1)

循环: 当 数值优化(Numerical Optimization)(1) ,令 数值优化(Numerical Optimization)(1) ,显式计算拟合函数 数值优化(Numerical Optimization)(1) 最小时对应的解并存为 数值优化(Numerical Optimization)(1)

返回: 数值优化(Numerical Optimization)(1)

全局收敛及 Zoutendjik

全局收敛、Zoutendjik 条件

算法 数值优化(Numerical Optimization)(1) 全局收敛的定义: 数值优化(Numerical Optimization)(1) ,即 数值优化(Numerical Optimization)(1) 收敛到 stationary 点

假设算法 数值优化(Numerical Optimization)(1) 产生搜索方向 数值优化(Numerical Optimization)(1) 满足 数值优化(Numerical Optimization)(1) , 数值优化(Numerical Optimization)(1) 为梯度 数值优化(Numerical Optimization)(1) 和 数值优化(Numerical Optimization)(1) 之间的夹角,Zoutendjik 条件为

数值优化(Numerical Optimization)(1)

Zoutendjik 条件和角度边界意味着全局收敛

假设 数值优化(Numerical Optimization)(1) 产生序列 数值优化(Numerical Optimization)(1) ,存在 数值优化(Numerical Optimization)(1) , 数值优化(Numerical Optimization)(1) 。如果算法 数值优化(Numerical Optimization)(1) 满足 Zoutendjik 条件则算法是全局收敛的。

Wolfe 条件线搜索满足 Zoutendjik 条件

假设目标函数 数值优化(Numerical Optimization)(1) 满足

  1. 有下界
  2. 给定初始点 数值优化(Numerical Optimization)(1) ,存在一个开集 数值优化(Numerical Optimization)(1) 为 数值优化(Numerical Optimization)(1)
  3. 数值优化(Numerical Optimization)(1) 在开集上连续可微
  4. 数值优化(Numerical Optimization)(1) 在开集上 Lipschitz 连续

且算法 数值优化(Numerical Optimization)(1) 产生 数值优化(Numerical Optimization)(1) 使得

  1. 数值优化(Numerical Optimization)(1) 是一个下降方向( 数值优化(Numerical Optimization)(1) )
  2. 数值优化(Numerical Optimization)(1) 满足 Wolfe 条件

则 数值优化(Numerical Optimization)(1) 满足 Zoutendjik 条件。

Goldstein 条件线搜索满足 Zoutendjik 条件(和上述定理一样,除了 wolfe 条件改为 Goldstein 条件)

回溯法线搜索满足 Zoutendjik 条件(和上述定理一样,除了步长条件改为: 数值优化(Numerical Optimization)(1) 从 数值优化(Numerical Optimization)(1) 回溯)

发布于 08-27
上一篇:[转] Webpack 插件 — SplitChunksPlugin


下一篇:2017Convex optimization_ Algorithms and complexity阅读笔记