最优化理论笔记及期末复习(《数值最优化》——高立)

这篇具有很好参考价值的文章主要介绍了最优化理论笔记及期末复习(《数值最优化》——高立)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、预备知识

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

二、无约束最优化方法的基本结构

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

三、凸集和凸函数

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

四、负梯度方法和Newton型方法

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

五、共轭梯度法

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

六、约束最优化问题的最优性理论

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

七、罚函数方法

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

八、期末复习

8.1 知识点复习

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

8.2 习题复习

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

8.3 大实验代码

8.3.1实验内容

利用Matlab编程,实现采用简单Armijo非精确线搜索求步长的三种方法:负梯度法、BFGS法及FR共轭梯度法,并求解如下无约束优化问题:
m i n f ( x ) = 10 ( x 1 3 − x 2 ) 2 + ( x 1 − 1 ) 2 min f(x) =10(x_1^3-x_2)^2+(x_1-1)^2 minf(x)=10(x13x2)2+(x11)2
通过实验过程进一步理解三种方法的原理和步骤,并对实验结果进行分析比较。

8.3.2实验目的

掌握无约束最优化算法的基本架构,并能熟练使用Matlab软件实现一些基本实用的算法并进行数值试验分析。

8.3.3算法描述

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

8.3.4程序中的参数设置、终止准则、关键技术(语句)等说明

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化
数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

8.3.5实验代码
8.3.5.1 目标函数
%%计算函数值
function f=func(X)
f=10.*(X(1).^3-X(2)).^2+(X(1)-1).^2;
end
8.3.5.2 计算梯度
%计算梯度值
function g=grd(X)
%计算梯度表达式
% syms x1 x2;
% f=10*(x1^3-x2)^2+(x1-1)^2;
% diff(f,x1)
% diff(f,x2)
% ans = 2*x1 - 60*x1^2*(- x1^3 + x2) - 2
% ans = - 20*x1^3 + 20*x2
g=[2*X(1) - 60*X(1).^2*(- X(1).^3 + X(2)) - 2;- 20*X(1).^3 + 20*X(2)];
end
8.3.5.3 Armijo准则更新步长
function x=armijo(func,xk,dk,gk)
m=0;max_m=1000;
rho=0.001;alpha=1;belta=0.618;
gd=gk'*dk;
fk=feval(func,xk);%初始化条件
while m<max_m
    x=xk+alpha*dk;%试探点
    f=feval(func,x);%试探点的函数值
    if f<=fk+alpha*rho*gd%终止条件
        break;
    end
    alpha=alpha*belta;%修改alpha的值
    m=m+1;
end
8.3.5.4最速下降法
function [x1 fval1 k1]=fd(x0,func,gfunc,eps,kmax)
k1 = 0;
x1 = x0;%设置初始条件
while k1 < kmax
    g = feval(gfunc,x1);%计算梯度,x改变时更新梯度
    if norm(g)<eps%迭代终止条件
        break;
    end
    d=-g;%更新方向
    x1=armijo(func,x1,d,g);%采用Armijo搜索计算当前点x,最终找到近似最优解
    k1=k1+1;
end
fval1=feval(func,x1);%计算目标函数值
8.3.5.5 BFGS法
function [x2,fval2,k2]=bfgs(x0,func,grd,H0,eps,kmax)
k2=0;
H=H0;
x2=x0;
g=feval(grd,x2);%设置初始条件
while k2<kmax
    if norm(g)<eps%终止条件
        break;
    end
    d=-H*g;%更新方向
    x_=x2;%原来的x
    x2=armijo(func,x2,d,g);%更新后的x
    g_=g;%原来的g
    g=feval(grd, x2);%更新后的梯度
    s=x2-x_;
    y=g-g_;
    if s'*y>0
        v=y'*s;
        H=H+(1+(y'*H*y)/v)*(s*s')/v-(s*y'*H+H*y*s')/v;
        %采用BFGS方法更新H
    end
    k2=k2+1;
end
fval2=feval(func,x2);%计算目标函数值

8.3.5.6 FR共轭梯度法
function [x3,fval3,k3]=FR(x0,func,gfunc,eps,kmax)
n=9;k3=0;x3=x0;%设置初始条件
while k3<kmax
    g=feval(gfunc,x3);%更新g
    m=g'*g;%更新后的g*g
    if norm(g)<eps%终止条件
        break;
    end
    if mod(k3,n)==0%n步重新开始策略
        d=-g;
    else
        belta=m/q;%belta的计算
        d=-g+belta*d;%更新d的值
        if g'*d>=0
            d=-g;
        end
    end
    x3=armijo(func,x3,d,g);%采用Armijo搜索计算当前点,最终找到近似最优解
    q=g'*g;%更新前的g*g
    k3=k3+1;
end
fval3=feval(func,x3);%计算目标函数值
8.3.5.7 主程序
clear;clc
x0=unifrnd(-5,5,2,1);%产生满足[-5, 5]均匀分布的初始点
%x0=[3.4913;-1.0777];%[-5,5]均匀分布产生的初始点
...x0=[0.2753;-0.1224];x0=[0.1232;1.1167];x0=[-1.1955;0.6782];x0=[-3.7301;4.1338];x0=[1.3236;-4.0246];
...x0=[2.9221;4.3399];x0=[4.5949;1.7874];x0=[1.5574;2.5774];x0=[-4.6429;2.4313];x0=[3.4913;-1.0777]
eps=1.e-8;%设置精度1.e-4,1.e-5;1.e-6;1.e-7;1.e-8;
kmax=100000;%设置迭代上限
H0=eye(2);%H初始为一个2×2的单位矩阵
%%采用Armijo搜索的负梯度法程序
tic
[x1,fval1,k1]=fd(x0,'func','grd',eps,kmax);
t1=toc;
%%采用Armijo搜索的BFGS法程序
tic
[x2,fval2,k2]=bfgs(x0,'func','grd',H0,eps,kmax)
t2=toc;
%%采用Armijo搜索的FR共轭梯度法程序
tic
[x3,fval3,k3]=FR(x0,'func','grd',eps,kmax);
t3=toc;

SSE1=sqrt(sum((x1-[1;1]).^2,1));%负梯度法下近似解与精确解的2范数下的误差
SSE2=sqrt(sum((x2-[1;1]).^2,1));%BFGS法下近似解与精确解的2范数下的误差
SSE3=sqrt(sum((x3-[1;1]).^2,1));%FR共轭梯度法下近似解与精确解的2范数下的误差
A=[SSE1 fval1 k1 t1;SSE2 fval2 k2 t2;SSE3 fval3 k3 t3]'%分别记录【误差,函数值,迭代次数,运行时间】

数值最优化方法高立答案,最优化理论,数学笔记,人工智能,算法,数值最优化

九、总结

本篇文章详细的讲解最优化理论的一些常见方法,有了这些基础的最优化知识,方便我们以后深入学习最优化理论以及人工智能方面的知识。文章来源地址https://www.toymoban.com/news/detail-783422.html

到了这里,关于最优化理论笔记及期末复习(《数值最优化》——高立)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习笔记之最优化理论与方法(十)无约束优化问题——共轭梯度法背景介绍

    本节将介绍 共轭梯度法 ,并重点介绍共轭方向法的逻辑与几何意义。 关于 最小化 二次目标函数: min ⁡ f ( x ) = min ⁡ 1 2 x T Q x + C T x begin{aligned}min f(x) = min frac{1}{2} x^T mathcal Q x + mathcal C^T xend{aligned} min f ( x ) = min 2 1 ​ x T Q x + C T x ​ ,其中 Q ∈ R n × n ; Q ≻ 0 mathcal Q

    2024年02月09日
    浏览(35)
  • 机器学习笔记之最优化理论与方法(二)凸集的简单认识(上)

    本节将介绍关于 凸集 的基本信息,包括 概念 、 基本性质 以及常见凸集。 在 最优化问题 范畴中, 凸优化问题 是一类常见的、并且 性质优秀 的优化问题。一些情况下可以通过 凸优化问题 来解决 非凸优化问题 。 而 凸集合与凸函数 决定了该优化问题是 凸优化问题 。具体

    2024年02月10日
    浏览(28)
  • 最优化:建模、算法与理论(最优性理论2

    考虑优化问题 min ⁡ x ∈ R n 1 2 ∣ ∣ x − y ∣ ∣ 2 2 , s . t . A x = b min_{x{in}R^n}frac{1}{2}||x-y||_2^2,\\\\ s.t.{quad}Ax=b x ∈ R n min ​ 2 1 ​ ∣∣ x − y ∣ ∣ 2 2 ​ , s . t . A x = b 其中 A ∈ R m × n , b ∈ R m , y ∈ R n A{in}R^{m times n},b{in}R^m,y{in}R^n A ∈ R m × n , b ∈ R m , y ∈ R n 为给定的矩阵

    2024年02月07日
    浏览(35)
  • 最优化:建模、算法与理论(优化建模)

    目前在学习 最优化:建模、算法与理论这本书,来此记录一下,顺便做一些笔记,在其中我也会加一些自己的理解,尽量写的不会那么的条条框框(当然最基础的还是要有) 本章将从常用的建模技巧开始,接着介绍统计学、信号处理、图像处理以及机器学习中常见的优化模

    2024年02月10日
    浏览(155)
  • 最优化:建模、算法与理论(优化建模——2)

    聚类分析是 统计学中的一个基本问题,其在机器学习,数据挖掘,模式识别和图像分析中有着重要应用。聚类不同于分类,在聚类问题中我们仅仅知道数据点本身,而不知道每个数据点具体的标签。聚类分析的任务就是将一些无标签的数据点按照某种相似度来进行归类,进而

    2024年02月09日
    浏览(38)
  • 最优化:建模、算法与理论(典型优化问题

    4.1.1 基本形式和应用背景 再次说明一下,其实这本书很多的内容之前肯定大家都学过,但是我觉得这本书和我们之前学的东西的出发角度不一样,他更偏向数学,也多一个角度让我们去理解 线性规划问题的一般形式如下: min ⁡ x ∈ R n c T x s . t . A x = b G x ≤ e (4.1.1) min_{x{

    2024年02月09日
    浏览(196)
  • (最优化理论与方法)第一章最优化简介-第二节:最优化典型实例之稀疏优化和低秩矩阵恢复

    考虑下面线性方程组的求解问题,其中 x ∈ R n , b ∈ R m xin R^{n},bin R^{m} x ∈ R n , b ∈ R m ,矩阵 A ∈ R m × n Ain R^{m×n} A ∈ R m × n ,且向量 b b b 的维数远小于向量 x x x 的维数,也即 m m m n n n A x = b Ax=b A x = b 在相关问题中,当我们建立这样的模型后,常常希望 解出向量

    2024年02月08日
    浏览(31)
  • 【最优化理论】牛顿法+Matlab代码实现

    牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。 多数方程不存在求根公式,因此求精确根非常困难,甚至不可解,从而寻找方程的近似根就显得特别重要。方法使用

    2023年04月09日
    浏览(35)
  • 最优化理论-线性规划的标准形

    目录 一、引言 二、线性规划的标准形 1. 线性规划的定义 2. 线性规划的标准形 3. 线性规划的约束条件 三、线性规划的求解方法 1. 单纯形法 2. 内点法 3. 割平面法 四、线性规划的应用 1. 生产计划 2. 运输问题 3. 投资组合问题 五、总结 最优化理论是数学中的一个重要分支,它

    2024年02月07日
    浏览(29)
  • MATLAB 之 非线性方程数值求解、最优化问题求解和常微分方程初值问题的数值求解

    非线性方程的求根方法很多,常用的有牛顿迭代法,但该方法需要求原方程的导数,而在实际运算中这一条件有时 是不能满足的,所以又出现了弦截法、二分法等其他方法。 在 MATLAB 中,非线性方程的求解和最优化问题往往需要调用最优化工具箱来解决。优化工具箱提供了一

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包