笔记:常见的无约束求解算法——最速下降法和拟牛顿法

本文深入探讨了无约束优化问题中的两种算法:最速下降法和BFGS算法。最速下降法以其简单易懂和较低存储需求著称,但收敛速度较慢。BFGS算法则因快速收敛速度而受到青睐,但对大规模问题处理时存在挑战。文章通过MATLAB编程实现并展示了这两种算法的应用。
摘要由CSDN通过智能技术生成

前言
本文介绍了无约束问题中常用的两种算法,最速下降法和拟牛顿法(BFGS算法),最后通过matlab编程实现了以上两种算法,并对实际问题进行求解。

  1. 符号定义
    假设有无约束问题 min ⁡ f ( x ) , ( x ∈ R n ) \min f(x), (x \in R^n) minf(x),(xRn)
    记函数f(x)的一阶导数为 ∇ f ( x ) \nabla f(x) f(x),二阶导数为 ∇ 2 f ( x ) \nabla^2 f(x) 2f(x).

一、 最速下降法

  1. 简介
    最速下降法,又叫梯度下降法,是一种求解无约束问题的常用算法,以负梯度方向作为下降方向的算法。

  2. 收敛速度
    求解严格凸二次函数极小化问题时恰好具有线性收敛速度。

  3. 优缺点
    优点:具有存储量少的特点,且算法简单易理解。
    缺点:收敛速度较慢。

  4. 算法步骤
    步1:给定初始点 x ( 0 ) ∈ R n x^{(0)} \in R^n x(0)Rn,精度 ϵ > 0 \epsilon > 0 ϵ>0. 令k=0.
    步2:若 ∣ ∣ ∇ f ( x ( k ) ) ∣ ∣ ≤ ϵ ||\nabla f(x^{(k)})|| \leq \epsilon f(x(k))ϵ,则算法终止. 得解 x ( k ) x^{(k)} x(k). 否则,计算 d ( k ) = − ∇ f ( x ( k ) ) d^{(k)} = -\nabla f(x^{(k)}) d(k)=f(x(k)). 转步3.
    步3:由线性搜索确定步长 α k \alpha_k αk.
    步4:令 x ( k + 1 ) = x ( k ) + α k d ( k ) , k = k + 1. x^{(k+1)} = x^{(k)} + \alpha_kd^{(k)}, k=k+1. x(k+1)=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值