最优化问题
Abstract
追求最优目标的数学问题都属于最优化问题。
作为最优化问题,至少有两个要素:第一个是可能的方案;第二个是追求的目标。
经典极值问题
在高数里的微积分中早以涉及到最简单的最优化问题,就是函数极值问题。
可以引申出两种经典最优化的两种类型问题。
无约束极值问题
minf(x1,x2,...,xn) 或 maxf(x1,x2,...,xn)
这里的 f(x1,x2,...,xn) 是定义在 n 维空间上的可微函数。
求极值点方法:从如下的含有 n 个未知数 x1,x2,...,xn 的非线性方程组中解出驻点,然后判定或验证这些驻点是不是极值点:
fx1′(x1,x2,...,xn)=0fx2′(x1,x2,...,xn)=0...fxn′(x1,x2,...,xn)=0
具有等式约束的极值问题
minf(x1,x2,...,xn) 或 maxf(x1,x2,...,xn)满足于 hi(x1,x2,...,xn)=0 j=1,2,...,l(j<n)
求极值点方法:通常采用 Lagrange 乘子法来求解。即把这个问题转换为求 Lagrange 函数的无约束极值问题:
L(x1,x2,...,xn,λ1,λ2,...,λl)=f(x1,x2,...,xn)−j=1∑lλjhj(x1,x2,...,xn)
基本概念
向量表达法
将 (x1,x2,...,xn) 看作是 n 维向量空间 Rn 中一个向量 x 的 n 个分量,即 x=(x1,x2,...,xn)⊤
所以重定义一下最优化问题:
-
无约束极值问题:
minf(x)
-
具有等式约束的极值问题:
minf(x)s.t. h(x)=0其中 h(x)=(h1(x),h2(x),...,hl(x))⊤
一般形式
大部分所要讨论的问题是如下的(静态)最优化问题:
x∈Ωminf(x)s.t. si(x)≥0 i=1,2,...,mhj(x)=0 j=1,2,..,l (l<n)
向量表示法写成:
x∈Ωminf(x)s.t. s(x)≥0h(x)=0其中 s((x))=(s1(x),...,sm(x))⊤
这种问题称为非线性规划,比具有等式约束的极值问题仅多出 m 个不等式约束。但是,所谓经典问题与近代问题的界限也就在这里。
- 一些术语
- 满足所有约束的向量 x 称为容许解或容许点。容许点的集合称为容许集。
- x∗ 称为问题的最优点,而相应的目标函数值 f(x∗) 称为最优值,(x∗,f(x∗)) 称为最优解。
分类
最优化问题⎩⎨⎧静态问题⎩⎨⎧无约束问题{一维问题n维问题约束问题{线性规划非线性规划动态问题
二维问题的图解法
等值线
用平面 L 去截曲面 S 得到的是一个圆,这个圆又一个重要的性质:圆上任何一点的目标函数都等于 f0。像这样的曲线,其上任何一点的目标函数值都等于同一常数,称为目标函数的等值线。
图解法
求解min(x1−2)2+(x2−1)2s.t. x1+x2−5=0
先画出目标函数的等值线,再画出约束曲线。实际上约束曲线是一条直线,这条直线就是容许集。因为最优点是容许集上使得等值线具有最小值的点,由下左图可以看出,约束直线与等值线(圆)的切点正是最优点。利用解析几何的有关方法可求的该点是 xx=(3,2)⊤,它所对应的最优值是 f(x∗)=2。
将无约束问题和约束问题的几何图形合在一起,如下右图所示。
对于二维最优化问题,可以用图解法求解。
等值面
对于三维及以上的空间,使目标函数取同一常数值的点集 {x∣f(x)=γ,γ是常数} 称为等值面。具有一下性质:
- 有不同值的等值面之间不相交。
- 除里极值点所在的等值面以外,不会在区域的内部中断。
- 等值面稠密的地方,目标函数值变化得比较快;稀疏的地方变化得比较慢。
- 在极值点附近,等值面(线)近似地呈现为同心椭球面族。
二次函数
在 n 元目标函数中,除里线性函数,最简单最重要的一类就是二次函数。
f(x1,x2,...,xn)=21i=1∑nj=1∑mqijxixj+i=1∑nbixi+c
f(x)=21x⊤Qx+b⊤x+c其中 Q=⎣⎡q11q21...qn1q12q22...qn2............q1nq2n...qnn⎦⎤, b=⎣⎡b1b2...bn⎦⎤
这里 Q 是对称矩阵(二次型)。
梯度与 Hesse 矩阵
梯度
定义
- 函数 f(x) 在 x0 处可微
f(x0+p)−f(x0)=l⊤p+o(∣∣p∣∣)
- 若 f(x) 在 x0 处可微,则 f(x) 在该点关于各变量的一阶偏导数存在,并且
l=(∂x1∂f(x0),∂x2∂f(x0),...,∂xn∂f(x0))⊤
- 以 f(x) 的 n 个偏导数为分量的向量称为 f(x) 在 x 处的梯度
▽f(x)=(∂x1∂f(x),∂x2∂f(x),...,∂xn∂f(x))⊤
性质
-
过点 x0 的等值面方程为 f(x)=f(x0)或f(x1,x2,...,xn)=γ0 其中 γ0=f(x0)。
-
设 f:Rn→R1 在点 x0 处可微,p 是固定不变的向量,e 是方向 p 上的单位向量,则称极限 ∂p∂f(x0)=limt→0+tf(x0+te)−f(x0) 为函数 f(x) 在点 x0 处沿 p 方向的方向导数。
-
设 f:Rn→R1 在点 x0 处可微,则 ∂p∂f(x0)=▽f(x0)⊤e。其中 e 是 p 方向上的单位向量。
特殊类型函数的梯度
- 若 f(x)=C( 常数 ),则 ▽f(x)=0,即 ▽C=0
- ▽(b⊤x)=b
- ▽(x⊤x)=2x
- 若 Q 是对称方阵,则 ▽(x⊤Qx)=2Qx
Hesse 矩阵
多元函数 f(x) 的一阶导数是它的梯度 ▽f(x),二阶导数是它的 Hesse 矩阵 ▽2f(x)。
▽2f(x)=▽(▽f(x))=⎣⎡∂x12∂2f(x)∂x1∂x2∂2f(x)...∂x1∂xn∂2f(x)∂x2∂x1∂2f(x)∂x22∂2f(x)...∂x2∂xn∂2f(x)............∂xn∂x1∂2f(x)∂xn∂x2∂2f(x)...∂xn2∂2f(x)⎦⎤
-
常用公式:
- ▽c=O,其中 c 是分量全为常数的 n 维向量,O 是 n×n 阶零矩阵。
- ▽x=I,其中 x 是 n 维向量,I 是 n×n 阶单位矩阵。
- ▽(Qx)=Q,其中 Q 是 n×n 阶矩阵。
- 设 φ(t)=f(x0+tp),其中 f:Rn→R1,φ:R⊤→R1,则
φ′(t)=▽f(x0+tp)⊤pφ′′(t)=p⊤▽2f(x0+tp)p
多元函数的 Taylor 展开式
设 f:Rn→R1 具有二阶连续偏导数,则
f(x+p)=f(x)+▽f(x)⊤p+21p⊤▽2f(xˉ)p其中xˉ=x+θp,而0<θ<1
凸集与凸函数
凸集
- 设 x1,x2,...,xl 是 Rn 中的 l 个已知点。若对某点 x∈Rn 存在常数 a1,a2,...,al≥0 且 ∑i=1lai=1 使得 x=∑i=1laixi,则称 x 是 x1,x2,...,xl 的凸组合。若 a1,a2,...,al>0 且 ∑i=1lai=1,则称 x 是 x1,x2,...,xl 的严格凸组合。
- 设集合 C⊆Rn,如果对于任意两点 x1,x2∈C,它们的任意凸组合仍然属于 C,那么称集合 C 为凸集。
- 设集合 α∈Rn 且 α=0,b∈R1,则集合 {x∣α⊤x=b,x∈Rn} 称为 Rn 中的超平面,α 称为这个超平面的法向量。
- 设集合 α∈Rn 且 α=0,b∈R1,则集合 {x∣α⊤x=b,x∈Rn} 称为 Rn 中的半空间。
- 任意一组凸集的交仍然是凸集。
凸函数
- 设 f:C⊆Rn→R1,其中 C 为凸集。若对于任意两点 x1,x2∈C 和任意一对满足 α1+α2=1 的数 α1,α2∈[0,1] 都有 f(α1x1+α2x2)≤α1f(x1)+α2f(x2),则称 f 为定义在凸集 C 上的凸函数(严格小于时为严格凸函数)
- 若函数 f 在凸集 C 上是(严格)凸函数,则称 f 是定义在凸集 C 上的(严格)凸函数。
- 设 f:C⊂Rn→R1,其中 C 为非空凸集。若 f 是凸函数,则对于任意实数 β,水平集 Dβ={x∣f(x)≤β,x∈C} 是凸集。
- 设 f:C⊆Rn→R1,其中 C 是非空凸集,f 是凸函数,则形式为 minf(x) s.t. x∈C 的问题称为凸规划。
- 设 x′ 是凸规划的局部极小点
- 若 f 是凸函数,则 x′ 是全局极小点
- 若 f 是严格凸函数,则 x′ 是唯一全局最小点
- 设 f:C⊆Rn→R1 是可微函数,其中 C 为凸集,则
- f 为凸函数的充要条件是,∀x1,x2∈C 都有 $f(x_2) \ge f(x_1) + ▽f(x1)⊤(x2−x1)
- f 是严格凸函数的充要条件是,∀x1,x2∈C 且 x1=x2 都有 f(x2)>f(x1)+▽f(x1)⊤(x2−x1)
- 设 f:C⊆Rn→R1 是二次可微函数,C 为非空开凸集,则 f 为 C 上凸函数的充要条件是, Hesse 矩阵 ▽2f(x) 在 C 上到处半正定(满足半正定时,则 f 在 C 上为严格凸函数)。
极小点的判定条件
- 设 f:D⊆Rn→R1 具有连续的一阶偏导数。若 x′ 是 f(x) 的局部极小点并且是 D 的内点,则 ▽f(x′)=0
- 设 f:D⊆Rn→R1,x′ 是 D 的哪点。若 ▽f(x′)=0,则 x′ 称为 f(x) 的驻点。
- 设 f:D⊆Rn→R1 具有连续的二阶偏导数,x′ 是 D 的一个内点。若 ▽f(x′)=0 并且 ▽2f(x′) 是正定的,则 x′ 是 f(x) 的严格局部极小点。
下降迭代算法
给定初始点后,如果每迭代一步都使目标函数有所下降,即 f(xk+1)<f(xk),那这种迭代法称为下降法。
在迭代过程中有两个规则需要确定,一个是下降方向 pk 的选取;一个是步长因子 tk 的选取。
算法的基本格式如下:
- 选取初始点 x0,置 k=0
- 按某种规则确定 pk 使得 ▽f(xk)⊤pk<0
- 按某种规则确定 tk 使得 f(xk+tkpk)<f(xk)
- 计算 xk+1=xk+tkpk
- 判定 xk+1 时候满足终止准则,若满足,打印 xk+1 和 f(xk+1),停机;否则置 k=k+1,转 2
最后更新:
2025年5月9日 15:51:31
创建日期:
2023年8月26日 15:00:56