无约束最优化问题的一般结构与规划方法
- 无约束问题与最优解
- 最优性条件
- 一维线性搜索
- 精确线性搜索
- 直接搜索法
- 非精确一维搜索法
- 下降算法的收敛性与收敛速度
- 无约束规划
- 最速下降法
- Newton法
- Newton-最速下降混合算法
- 阻尼Newton法
- 拟Newton法
- 共轭梯度法
无约束问题与最优解
考虑如下最优化问题:
\min_{x\in\mathbb{R}^{n}}f(x) 无约束最优化问题的解由局部解和全局解两种,而实际上可行的往往只有局部解(或严格局部解)。如不加说明我们讨论的都是局部解。
局部解定义
设 x∗∈Rnx∗∈Rnx^{*}\in\mathbb{R}^{n} ,若存在 x∗x∗x^{*} 的 δ(δ>0)δ(δ>0)\delta(\delta>0) 邻域
N_{\delta}(x^{*})=\{x | \|x-x^{*}\|使得
f(x)\geq f(x^{*}),\forall x\in N_{\delta}(x^{*})则称 x∗x∗x^{*} 为 f(x)f(x)f(x) 的局部解;若
f(x)> f(x^{*}),\forall x\in N_{\delta}(x^{*})则称 x∗x∗x^{*} 为 f(x)f(x)f(x) 的严格局部解。
最优性条件
一阶必要条件
设 f(x)f(x)f(x) 一阶连续可微,若 x∗x∗x^{*} 是一个局部解,则:∇f(x∗)=0∇f(x∗)=0\nabla f(x^{*})=0 。即 x∗x∗x^{*} 在任何方向上的方向导数均为零,该点所处的切平面是水平的。
二阶必要条件
设 f(x)f(x)f(x) 二阶连续可微,若 x∗x∗x^{*} 是一个局部解,则:
\nabla f(x^{*})=0, \nabla^{2}f(x^{*})\text{ 为半正定}即在局部解 x∗x∗x^{*} 处二阶方向导数非负。满足 ∇f(x∗)=0∇f(x∗)=0\nabla f(x^{*})=0 的点 x∗x∗x^{*} 被称为函数 fff 的平稳点或驻点,不是极小点也不是极大点的平稳点被称为函数的鞍点。
二阶充分条件
设 f(x)" role="presentation">f(x)f(x)f(x) 二阶连续可微,且
\nabla f(x^{*})=0, \nabla^{2}f(x^{*})\text{ 为正定}则 x∗x∗x^{*} 是无约束问题的一个严格局部解。
凸充分性定理
若 f:Rn→Rf:Rn→Rf:\mathbb{R}^{n}\to\mathbb{R} 是凸函数,且 f(x)f(x)f(x) 的一阶连续可微的,则 x∗x∗x^{*} 是全局解得充分必要条件是 ∇f(x∗)=0∇f(x∗)=0\nabla f(x^{*})=0 。
一维线性搜索
求解最优化问题的关键是构造一个点列 {xk}{xk}\{x^{k}\} 使其满足
\lim_{k\to\infty}f(x^{k})=f(x^{*})=\min_{x\in\mathbb{R}}f(x),\quad \lim_{k\to\infty}x^{k}=x^{*} 称 x∗x∗x^{*} 为问题的解, 称 {xk}{xk}\{x^{k}\} 为 极小化点列,其构造方法一般采用逐步构造法:
x^{k+1}=x^{k}+\alpha_{k}d^{k},\quad k=0,1,2,\dots 称 dkdkd^{k} 为 搜索方向, akaka_{k} 为 步长。一维搜索问题即讨论如何确定步长的问题,下面简要介绍几种搜索方法,及其特色,但对算法本身不予详细介绍。
精确线性搜索
如果有 αkαk\alpha_{k} 使得
\phi(\alpha_{k})=\min_{\alpha\geq 0}\{\phi(\alpha) = f(x^{k}+\alpha d^{k})\} 则称该搜索为精确线性搜索,称 αkαk\alpha_{k} 为最优步长。该方法有重要理论价值,但除了 f(x)f(x)f(x) 是二次函数的特殊情况外,确定精确极小点是很困难的。
直接搜索法
首先介绍两个概念。
搜索区间
设 α∗α∗\alpha^{*} 是 ϕ(α)ϕ(α)\phi(\alpha) 的极小点,若存在区间 [a,b][a,b][a,b]使得 α∗∈[a.b]α∗∈[a.b]\alpha^{*}\in[a.b],则称 [a,b][a,b][a,b]为 ϕ(α)ϕ(α)\phi(\alpha) 的搜索区间。确定搜索区间可采用进退法。从一点出发确定函数值“高-低-高”的4点,一个方向不成功就退回来反方向寻找。
单峰函数
设函数 ϕ(α)ϕ(α)\phi(\alpha) 在区间 [a,b][a,b][a,b] 内存在极小点 α∗∈(a.b)α∗∈(a.b)\alpha^{*}\in(a.b),如果对于任意 α1,α2α1,α2\alpha_{1},\alpha_{2} 满足:
- 当 α1<α2≤α∗α1<α2≤α∗\alpha_{1}时,有 ϕ(α1)>ϕ(α2)ϕ(α1)>ϕ(α2)\phi(\alpha_{1})>\phi(\alpha_{2});
- 当 α∗≤α1<α2α∗≤α1<α2\alpha^{*}\leq\alpha_{1}时,有 ϕ(α1)<ϕ(α2)ϕ(α1)<ϕ(α2)\phi(\alpha_{1});
则 ϕ(α)ϕ(α)\phi(\alpha) 在区间 [a,b][a,b][a,b] 上是单峰函数。
假设 f(x)f(x)f(x) 在得到的搜索区间上是单峰函数,我们可以通过 0.618法直接搜索近似最优步长。0.618法的基本思想是通过取试探点进行函数值比较,使得包含极小点的搜索区间不断减小,每次迭代极小区间的收缩比为0.618,即以线性速度收敛的极小点附近。
非精确一维搜索法
0.618法的计算量比较大,我们可 适当放松对 αkαk\alpha_{k} 的要求,使目标函数在迭代的每一步都充分下降即可。非精确一维搜索的基本思想是求 μμ\mu 使得 ϕ(μ)<ϕ(0)ϕ(μ)<ϕ(0)\phi(\mu) ,但不希望 μμ\mu 值过大否则会引起点列的大幅度摆动,也不希望 μμ\mu 值过小,否则会使得点列在未达到 x∗x∗x^{*} 之前没有进展。常见的方法包括:Goldstein方法、Armijo方法和Wolfe-Powell方法。
下降算法的收敛性与收敛速度
下降算法的一般迭代格式如下:
- 给定初始点 x1x1x^{1}, k:=1k:=1k:=1;
- 确定局部下降方向 dkdkd^{k} 使得
∇f(xk)Tdk<0∇f(xk)Tdk<0
\nabla f(x^{k})^{T}d^{k}
- 确定步长 αkαk\alpha_{k}使得
f(xk+αkdk)<f(xk)f(xk+αkdk)<f(xk)
f(x^{k}+\alpha_{k}d^{k})
- 令 xk+1=xk+αkdkxk+1=xk+αkdkx^{k+1}=x^{k}+\alpha_{k}d^{k} ;
- 若 ∇f(xk+1)=0∇f(xk+1)=0\nabla f(x^{k+1})=0则停,否则令 k:=k+1k:=k+1k:=k+1,转步骤1。
若上述算法可行,须解决下述问题:
- 如何确定搜索方向?
- 如何进行一维搜索确定每一步步长?
- 如果确定当前点的终止准则?
问题2已在上一小节讨论过,另外两个问题见下文。下降算法产生极小化序列 {xk}{xk}\{x^{k}\},对应的目标函数序列 {f(xk)}{f(xk)}\{f(x^{k})\} 是单调递减的。所谓收敛,是指序列{xk}{xk}\{x^{k}\}或它的一个子列满足 limk→∞xk=x∗limk→∞xk=x∗\lim_{k\to\infty}x^{k}=x^{*} 。通常获得这样的结果很难。若对于某些算法来说,只有当初始点靠近极小点 x∗x∗x^{*} 时,才能保证序列{xk}{xk}\{x^{k}\}收敛到极小点,则称这类算法为局部收敛。反之,若对于任意初始点产生的序列收敛到极小点,这类算法则被称为全局收敛。
为了使极小化序列能够收敛到一个平稳点,通常要求目标函数能够“充分”下降。由 f(x)f(x)f(x) 的一阶Taylor展开式:
f(x^{k}+\alpha_{k}d^{k})=f(x^{k})+\alpha_{k}\nabla f(x^{k})^{T}d^{k}+o(\|\alpha_{k}d^{k}\|) 可知,当 dkdkd^{k} 与 ∇f(xk)∇f(xk)\nabla f(x^{k}) 接近于正交时, f(x)f(x)f(x) 下降很少,因此要求其二者之间的夹角远离正交方向,即存在 u¯>0u¯>0\bar{u}>0 使得:
\theta_{k}\leq \frac{\pi}{2}-\bar{u}, \forall k其中
\cos\theta_{k}=\frac{-\nabla f(x^{k})^{T}d^{k}}{\|\nabla f(x^{k})\|\|d^{k}\|}
设序列 {xk}{xk}\{x^{k}\}收敛到 x∗x∗x^{*},若极限
\lim_{k\to\infty}\frac{\|x^{k+1}-x^{*}\|}{\|x^{k}-x^{*}\|}=\beta存在,则当 0<β<10<β<10 时,称 {xk}{xk}\{x^{k}\} 线性收敛;当 β=0β=0\beta=0时,称 {xk}{xk}\{x^{k}\} 超线性收敛;当 β=1β=1\beta =1时,称 {xk}{xk}\{x^{k}\} 次线性收敛。若存在某个 p≥1p≥1p\geq 1,有
\lim_{k\to\infty}\frac{\|x^{k+1}-x^{*}\|}{\|x^{k}-x^{*}\|^{p}}=\beta\leq+\infty则称 {xk}{xk}\{x^{k}\}为 ppp 阶收敛。当 p>1" role="presentation">p>1p>1p>1时,ppp 阶收敛必为超线性收敛,反之不一定成立。最优化算法中通常考虑线性收敛、超线性收敛和二阶收敛。
无约束规划
假设我们要考虑的无约束规划问题为:
\min_{x\in\mathbb{R}^{n}}f(x),\quad f\in \mathbb{C}^{1}其中 C1C1\mathbb{C}^{1} 表示一阶连续可微函数的全体。下面介绍三种规划方法,仅简述其规划思想与执行步骤,不做具体推导。
最速下降法
根据Taylor级数展开,当 f(x)f(x)f(x) 在某点 xkxkx^{k} 处连续可微,且 ∇f(xk)≠0∇f(xk)≠0\nabla f(x^{k})\neq 0 时,我们可得:
f(x^{k}+ad^{k})=f(x^{k})+a\nabla f(x^{k})^{T}d^{k}+o(\|ad^{k}\|)其中 a>0a>0a>0,dkdkd^{k} 是一个确定的方向向量。若向量 dkdkd^{k} 满足∇f(xk)dk<0∇f(xk)dk<0\nabla f(x^{k})d^{k},则 dkdkd^{k} 是函数 f(x)f(x)f(x) 在 xkxkx^{k} 处的下降方向。进一步改写上式:
f(x^{k}+ad^{k})=f(x^{k})-a(-\nabla f(x^{k})^{T}d^{k})+o(\|ad^{k}\|)可见若 −∇f(xk)Tdk−∇f(xk)Tdk-\nabla f(x^{k})^{T}d^{k} 越大,则下降幅度越大。由
-\nabla f(x^{k})^{T}d^{k}=\|-\nabla f(x^{k})^{T}\|\|d^{k}\|\cos\theta_{k} 可知取 θk=0θk=0\theta_{k}=0 时,也就是 dk=−∇f(xk)dk=−∇f(xk)d^{k}=-\nabla f(x^{k}) 时达到最大值。因此在 xkxkx^{k} 点处的搜索方向应取 dk=−∇f(xk)dk=−∇f(xk)d^{k}=-\nabla f(x^{k}) 。
步骤:
- 选定初始点 x1x1x^{1} 和精度要求 ϵ>1ϵ>1\epsilon >1 ,取 k=1k=1k=1。
- 若 ∥∇f(xk)∥<ϵ‖∇f(xk)‖<ϵ\|\nabla f(x^{k})\|,则停止,取 x∗=xkx∗=xkx^{*}=x^{k} ;否则令 dk=−∇f(xk)dk=−∇f(xk)d^{k}=-\nabla f(x^{k}) 。
- 在 xkxkx^{k} 处沿方向 dkdkd^{k} 做线性搜索,得 xk+1=xk+akdkxk+1=xk+akdkx^{k+1} = x^{k}+a_{k}d^{k},k=k+1k=k+1k=k+1,转步骤2。
在第3步,采用精确线性搜索,即:
a_{k}=\arg\min f(x^{k}+ad^{k}),可得:
\left.\frac{\mathrm{d}f(x^{k}+ad^{k})}{\mathrm{d}a}\right|_{a=a_{k}}=(d^{k})^{T}\nabla f(x^{k+1})=0可见 dkdkd^{k} 与 dk+1dk+1d^{k+1} 正交。
Newton法
Newton法利用二次近似多项式的极值点求法给出原函数极值点的求法。本节考虑 f(x)f(x)f(x) 二次可微的情形。
利用Taylor展开,考虑在 xkxkx^{k} 点处的二次近似多项式:
f(x)\approx f(x^{k})+\nabla f(x^{k})^{T}(x-x^{k})+\frac{1}{2}(x-x_{k})^{T}\nabla^{2}f(x^{k})(x-x^{k})令其导数为零,得到:
\nabla f(x^{k})+\nabla^{2}f(x^{k})(x-x^{k})=0当 ∇2f(xk)∇2f(xk)\nabla^{2}f(x^{k})(Hesse矩阵)非奇异时:
x=x^{k}-[\nabla^{2}f(x^{k})]^{-1}\nabla f(x^{k})上式称为 Newton 迭代公式,方便起见,我们将上式改写为
x^{k+1}=x^{k}+d^{k}其中 dkdkd^{k} 是线性方程组
\nabla^{2}f(x^{k})d=-\nabla f(x^{k})的解向量。
步骤:
- 选定初始点 x1x1x^{1} 和精度要求 ϵ>0ϵ>0\epsilon >0 ,取 k=1k=1k=1。
- 若 ∥∇f(xk)∥<ϵ‖∇f(xk)‖<ϵ\|\nabla f(x^{k})\|,则停止,取 x∗=xkx∗=xkx^{*}=x^{k} ;否则求解线性方程组:∇2f(xk)d=−∇f(xk)∇2f(xk)d=−∇f(xk)\nabla^{2}f(x^{k})d=-\nabla f(x^{k}) 得到 dkdkd^{k}。
- 置 xk+1=xk+dk,k=k+1xk+1=xk+dk,k=k+1x^{k+1}=x^{k}+d^{k},\quad k=k+1。转到步骤2。
Newton 法求解无约束优化问题会出现以下情况:
- 收敛到极小点;
- 收敛到鞍点;
- Hesse矩阵奇异,无法继续计算。
其优点是收敛速度快,但是每一步不能保证目标函数值总是下降的。使用Newton法时我们已经假设了初始点足够接近极小点,然而实际上我们并不知道极小点在什么地方,因此一般不直接使用。修正的Newton法有多种,这里只介绍两种方法。
Newton-最速下降混合算法
当 Hessian 矩阵正定时,采用 Newton 法得到的搜索方向搜索;当 Hessian 矩阵非正定时,采用负梯度方向搜索。
步骤:
- 选定初始点 x1x1x^{1} 和精度要求 ϵ>0ϵ>0\epsilon >0 ,取 k=1k=1k=1。
- 若 ∥∇f(xk)∥<ϵ‖∇f(xk)‖<ϵ\|\nabla f(x^{k})\|,则停止,取 x∗=xkx∗=xkx^{*}=x^{k} ;否则求解线性方程组:∇2f(xk)d=−∇f(xk)∇2f(xk)d=−∇f(xk)\nabla^{2}f(x^{k})d=-\nabla f(x^{k}) 得到 dkdkd^{k}。
- 若 dkdkd^{k} 有解,即 Hessian 矩阵为正定阵,且满足 ∇f(xk)dk<0∇f(xk)dk<0\nabla f(x^{k})d^{k},转下一步;否则,取 dk=−∇f(xk)dk=−∇f(xk)d^{k}=-\nabla f(x^{k}),转下一步。
- 置 xk+1=xk+dk,k=k+1xk+1=xk+dk,k=k+1x^{k+1}=x^{k}+d^{k},\quad k=k+1。转到步骤2。
阻尼Newton法
将非正定的 Hessian 矩阵通过加入阻尼因子编程 Hessian 矩阵,即选取参数 μkμk\mu^{k} 使得矩阵 Ak=∇2f(xk)+μkIAk=∇2f(xk)+μkIA^{k}=\nabla^{2}f(x^{k})+\mu^{k}I 正定。步骤与上一算法类似,只是步骤2有所不同,此处从略。
拟Newton法
拟Newton法用来解决Newton法中潜在的Hessian矩阵不正定、Hessian矩阵计算量过大的问题。其基本思想是不直接计算Hessian矩阵,而是通过逼近的方法寻找近似矩阵。近似矩阵的找法很多,如利用秩1矩阵和秩2矩阵近似。此处暂时不做详细推导,敬请期待。
共轭梯度法
共轭梯度法用来求解正定二次规划问题,它具有如下性质:
- 搜素方向是下降方向;
- 不必计算Hesse矩阵,只计算函数值和梯度;
- 具有二次终止性。
这里不具体推导共轭梯度法的收敛原理,仅介绍其思想。设目标函数为
f(x)=\frac{1}{2}x^{T}x+r^{T}x+\delta 其中 x=(x1,x2,…,xn)T,r=(r1,r2,…,rn)T∈Rn,δ∈Rnx=(x1,x2,…,xn)T,r=(r1,r2,…,rn)T∈Rn,δ∈Rnx=(x_{1},x_{2},\dots,x^{n})^{T}, r=(r_{1},r_{2},\dots,r_{n})^{T}\in\mathbb{R}^{n},\delta\in\mathbb{R}^{n}。设 q1,q2,…,qkq1,q2,…,qkq^{1}, q^{2},\dots,q^{k} 是 k(k≤n)k(k≤n)k (k\leq n) 个两两正交的非零向量,从任意初始点出发,一次沿 q1,q2,…,qkq1,q2,…,qkq^{1}, q^{2},\dots,q^{k} 作精确一维搜索,得到 x2,x3,…,xk+1x2,x3,…,xk+1x^{2}, x^{3},\dots,x^{k+1} 则 xk+1xk+1x^{k+1} 是 f(x)f(x)f(x) 在仿射集
\bar{X}^{k}=\{x=x^{1}+\sum_{i=1}^{k}\hat{\alpha}_{i}q^{i} | \hat{\alpha}_{i}\in\mathbb{R}, i=1,2,\dots,k\}上的唯一极小点。当 k=nk=nk=n 时,xk+1xk+1x^{k+1} 是 f(x)f(x)f(x) 在整个空间上的唯一极小点。
考虑一般正定二次函数:
f(x)=\frac{1}{2}x^{T}Gx+r^{T}x+\delta 其中 GGG 是正定矩阵。d1,d2,…,dk" role="presentation">d1,d2,…,dkd1,d2,…,dkd^{1}, d^{2}, \dots, d^{k} 是 GGG 的 k(k≤n)" role="presentation">k(k≤n)k(k≤n)k (k\leq n) 个非零共轭方向,从任意初始点 x1x1x^{1} 出发,一次沿 di≠0(i=1,2,…,k)di≠0(i=1,2,…,k)d^{i}\neq 0 (i=1,2,\dots,k) 作一维精确搜索,得到 x2,x3,…,xk+1x2,x3,…,xk+1x^{2}, x^{3},\dots,x^{k+1} 则 xk+1xk+1x^{k+1} 是 f(x)f(x)f(x) 在仿射集
X^{k}=\{ x=x^{1}+\sum_{i=1}^{k}\alpha_{i}d^{i} | \alpha_{i}\in\mathbb{R}, i=1,2,\dots,k \} 上的唯一极小点。当 k=nk=nk=n 时,xk+1xk+1x^{k+1} 是 f(x)f(x)f(x) 在整个空间上的唯一极小点。且此时:
\langle \nabla f(x^{k+1}), d^{i}\rangle=0, i=1,2,\dots,k 上述结论被称为扩展子空间定理。
步骤:
- 选定初始点 x1x1x^{1} 和精度要求 ϵ>1ϵ>1\epsilon >1 ,取 k=1k=1k=1。
- 若 ∥∇f(xk)∥<ϵ‖∇f(xk)‖<ϵ\|\nabla f(x^{k})\|,则停止,取 x∗=xkx∗=xkx^{*}=x^{k} ;否则,置:
dk=−∇f(xk)+βk−1dk−1dk=−∇f(xk)+βk−1dk−1
d^{k}=-\nabla f(x^{k})+\beta_{k-1}d^{k-1}其中(Pulak-Ribiere-Polyak(PRP)公式)
βk−1=⎧⎩⎨⎪⎪0,∥∇f(xk)∥2∥∇f(xk−1)∥2,k=1k>1βk−1={0,k=1‖∇f(xk)‖2‖∇f(xk−1)‖2,k>1\beta_{k-1}=\left\{\begin{aligned} &0,\quad &k=1\\ &\frac{\|\nabla f(x^{k})\|^{2}}{\|\nabla f(x^{k-1})\|^{2}},\quad &k>1 \end{aligned}\right. 或(Fletcher-Reeves(FR)公式)
βk−1=⎧⎩⎨⎪⎪0,∇f(xk)T(∇f(xk)−∇f(xk−1))∇f(xk−1)T∇f(xk−1),k=1k>1βk−1={0,k=1∇f(xk)T(∇f(xk)−∇f(xk−1))∇f(xk−1)T∇f(xk−1),k>1\beta_{k-1}=\left\{\begin{aligned} &0,\quad &k=1\\ &\frac{\nabla f(x^{k})^{T}(\nabla f(x^{k})-\nabla f(x^{k-1}))}{\nabla f(x^{k-1})^{T}\nabla f(x^{k-1})},\quad &k>1 \end{aligned}\right.
- 一维搜索,求解一维问题:
minϕ(α)=f(xk+αd)minϕ(α)=f(xk+αd)
\min\phi(\alpha)=f(x^{k}+\alpha d)得到 αα\alpha,置
xk+1=xk+αkdkxk+1=xk+αkdkx^{k+1}=x^{k}+\alpha_{k}d^{k}
- k=k+1k=k+1k=k+1 ,转到步骤2。
虽然共轭梯度法是根据二次函数导出的,但仍旧适用于一些可微函数。这里需要解决一个问题:共轭梯度法产生的搜索方向是否为下降方向?
定理:设 f(x)f(x)f(x) 具有连续的一阶偏导数,并假设一维搜索是精确的,考虑用共轭梯度法求解无约束问题 minf(x),x∈Rnminf(x),x∈Rn\min f(x), x\in\mathbb{R}^{n}。若 ∇f(xk)≠0∇f(xk)≠0\nabla f(x^{k})\neq 0,则搜索方向 dkdkd^{k} 是 xkxkx^{k} 处的下降方向。
定理:若一维搜索是精确的,则共轭梯度法具有二次终止性。
对于正定二次函数,共轭梯度法至多 nn<script type="math/tex" id="MathJax-Element-220">n</script> 步终止,否则说明目标函数不是正定二次函数,或者说目标函数没有进入一个正定二次函数的区域。
如果你想继续学习凸优化相关知识,请参考下一篇:约束规划问题与凸二次规划
无约束最优化问题的一般结构与规划方法相关推荐
- 机器学习之求解无约束最优化问题方法(手推公式版)
文章目录 前言 1. 基础知识 1.1 方向导数 1.2 梯度 1.3 方向导数与梯度的关系 1.4 泰勒展开公式 1.5 Jacobian矩阵与Hessian矩阵 1.6 正定矩阵 2. 梯度下降法 ...
- 梯度下降【无约束最优化问题】
目录 前言 1.无约束最优化 2.梯度下降 3.梯度下降公式 4.学习率 5.全局最优化 6.梯度下降步骤 7.代码模拟梯度下降 7.1 构建函数和导函数 7.2 函数可视化 7.3 求函数的最小值 ...
- 利用 MATLAB 编程实现共轭梯度法求解无约束最优化问题
本文章包含以下内容 1.FR 共轭梯度法的算法流程图: 2.MATLAB 编写 FR 共轭梯度法求解无约束优化问题的函数,要求采用 黄金分割法精确一维搜索,用数值微分法计算梯度(函数式 M 文件,精度 ...
- 利用 MATLAB 编程实现最速下降法求解无约束最优化问题
本文章包含以下内容 1.画出最速下降法的算法流程图: 2.MATLAB 编写用数值微分法的梯度计算函数(函数式 M 文件): 3.MATLAB 编写最速下降法求解无约束优化问题的函数,要求采用黄金分割 ...
- 把有约束最优化问题转化为无约束最优化问题之罚函数法
与拉格朗日乘数法比较理解 惩罚因子是一个充分大的确定的数,而拉格朗日乘子是个不确定的参数,在求最小值时确定
- 牛顿法求解无约束最优化问题
记泰勒公式 舍去高阶项 在导数为0时候取得极值,令,以上式子可以变形为 继续整理可以得到 通过观察上式,我们可以发现,当给出一个初始点a的时候,我们可以通过泰勒公式用a点的一阶导数与二阶导数还有a的值 ...
- 机器人中的数值优化(三)—— 无约束最优化方法基础、线搜索准则
本系列文章主要是我在学习<数值优化>过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程<机器人中的数值优化>和高立编著的<数值最优化方法>等,本系列文 ...
- 无人驾驶汽车系统入门——基于Frenet优化轨迹的无人车动作规划方法
作者简介:申泽邦(Adam Shan),兰州大学在读硕士研究生,主攻无人驾驶,深度学习: 动作规划动作在无人车规划模块的最底层,它负责根据当前配置和目标配置生成一序列的动作.本文介绍一种基于Frene ...
- 计算智能课程设计(遗传算法求解无约束单目标优化问题)
写在前面 前天写完了基于传递闭包的模糊聚类,今天准备写"遗传算法求解无约束单目标优化问题".昨天和npy玩了一下午,去齐白石艺术学院看了画展,一起在最高处看了夕阳,并在落日前接吻. ...
最新文章
- 打造属于自己的underscore系列 ( 一 )
- 常用Linux基础命令
- 【数字图像处理】五.MFC图像点运算之灰度线性变化、灰度非线性变化、阈值化和均衡化处理详解
- 洛谷T172098 子串-substr
- 人工智能在线特征系统中的数据存取技术
- 【Python】PyMuPDF模块将PDF转换为图片
- ES6中 Map 数据结构
- Visual Studio提示——DebuggerDisplay
- 无需代码绘制出的热力图,0基础小白也能3分钟上手
- 数据结构与算法之顺序队列
- 程序员面试金典——5.5整数转化
- IBM面试题试解(关于50条狗、50个人、病狗)
- IOS 学习笔记(2) 视图UINavigationController
- HDF5 library version mismatched error
- springCloud之Feign rpc调用
- autocomplete触发事件_如何防止onSelect事件在DevBridge jQuery Autocomplete中触发两次
- 计算机磁盘检查,使用磁盘检查工具进行硬盘诊断
- 免费小说阅读小程序,仿番茄小说源码;微信小说小程序源码
- c语言课程设计成型代码,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
- CAD的那些装逼技巧!
热门文章
- 运筹学动态规划逆序解法,对于一个动态规划问题,应用顺序解法或者逆序解法可能会得出不同的最优解。...
- java大数据培训,如何选择适合自己的培训机构?
- Linux操作系统常用命令整理
- html设置抽奖概率,求一个可挑概率的html5抽奖 圆盘的
- pdo连接mysql 注入_使用PDO查询mysql避免SQL注入
- 堆排序(最小堆为例)
- 外卖系统注意功能源码
- 2.1 人工智能项目开发与规划
- openwrt怎么做ap_树莓派 + OpenWrt 实现 BT 下载机
- Atiitt 可视化 报表 图表之道 attilax著 Atiitt 可视化的艺术 attilax著 v2 s51.docx Atitit.可视化与报表原理与概论 1. 、什么是可视化(这一