最优化理论笔记及期末复习(《数值最优化》——高立)
创始人
2024-04-17 23:53:06
0

目录

  • 一、预备知识
  • 二、无约束最优化方法的基本结构
  • 三、凸集和凸函数
  • 四、负梯度方法和Newton型方法
  • 五、共轭梯度法
  • 六、约束最优化问题的最优性理论
  • 七、罚函数方法
  • 八、期末复习
    • 8.1 知识点复习
    • 8.2 习题复习
    • 8.3 大实验代码
      • 8.3.1实验内容
      • 8.3.2实验目的
      • 8.3.3算法描述
      • 8.3.4程序中的参数设置、终止准则、关键技术(语句)等说明
        • 8.3.5实验代码
          • 8.3.5.1 目标函数
          • 8.3.5.2 计算梯度
          • 8.3.5.3 Armijo准则更新步长
          • 8.3.5.4最速下降法
          • 8.3.5.5 BFGS法
          • 8.3.5.6 FR共轭梯度法
          • 8.3.5.7 主程序
  • 九、总结

一、预备知识

请添加图片描述
请添加图片描述
请添加图片描述

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

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

三、凸集和凸函数

请添加图片描述

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

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

五、共轭梯度法

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

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

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

七、罚函数方法

请添加图片描述
请添加图片描述

八、期末复习

8.1 知识点复习

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

8.2 习题复习

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

8.3 大实验代码

8.3.1实验内容

利用Matlab编程,实现采用简单Armijo非精确线搜索求步长的三种方法:负梯度法、BFGS法及FR共轭梯度法,并求解如下无约束优化问题:
minf(x)=10(x13−x2)2+(x1−1)2min f(x) =10(x_1^3-x_2)^2+(x_1-1)^2minf(x)=10(x13​−x2​)2+(x1​−1)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
8.3.5.4最速下降法
function [x1 fval1 k1]=fd(x0,func,gfunc,eps,kmax)
k1 = 0;
x1 = x0;%设置初始条件
while k1 < kmaxg = feval(gfunc,x1);%计算梯度,x改变时更新梯度if norm(g)
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 k20v=y'*s;H=H+(1+(y'*H*y)/v)*(s*s')/v-(s*y'*H+H*y*s')/v;%采用BFGS方法更新Hendk2=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=0d=-g;endendx3=armijo(func,x3,d,g);%采用Armijo搜索计算当前点,最终找到近似最优解q=g'*g;%更新前的g*gk3=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]'%分别记录【误差,函数值,迭代次数,运行时间】

请添加图片描述

九、总结

本篇文章详细的讲解最优化理论的一些常见方法,有了这些基础的最优化知识,方便我们以后深入学习最优化理论以及人工智能方面的知识。

相关内容

热门资讯

爷爷老了作文 爷爷老了作文爷爷老了作文1有一天爷爷走失了,多亏了110的叔叔把爷爷送回了家。第二天,爸爸、妈妈和姑...
责任心作文 责任心作文(精选50篇)  在学习、工作或生活中,大家都尝试过写作文吧,作文是人们把记忆中所存储的有...
弟弟真调皮作文400字 弟弟真调皮作文400字(精选123篇)  无论是身处学校还是步入社会,大家最不陌生的就是作文了吧,作...
心中的花作文500字 心中的花作文500字3篇  无论是在学校还是在社会中,大家对作文都不陌生吧,作文可分为小学作文、中学...
风的踪迹作文 -作文 风的踪迹作文 -作文随着潇潇雨点,为我们的到来献上一簇美艳的鲜花;明媚的阳光也尾随着洋溢出朝气勃勃的...
曹操的作文 关于曹操的作文6篇  在日复一日的学习、工作或生活中,大家最不陌生的就是作文了吧,作文一定要做到主题...
走入小人国的作文 走入小人国的作文  站在小山丘上,俯瞰着这一片建筑,往东一看,看见荷兰的风车;往西一看,又看见俄罗斯...
熊猫作文300字 熊猫作文300字7篇  在日常的学习、工作、生活中,大家都有写作文的经历,对作文很是熟悉吧,作文是一...
寻宝记作文800字 寻宝记作文800字  无论在学习、工作或是生活中,大家都写过作文,肯定对各类作文都很熟悉吧,作文根据...
中学生校园生活作文600字 【实用】中学生校园生活作文600字四篇  无论在学习、工作或是生活中,许多人都有过写作文的经历,对作...
记事的作文600字 关于记事的作文600字5篇  在日常学习、工作抑或是生活中,大家或多或少都会接触过作文吧,写作文可以...
站在高处850字作文 站在高处850字作文  我畏惧高层建筑,不过还不至于到恐高症的地步。这种畏惧感何时开始,我自己也不得...
“升”和“毫升”的体验作文 “升”和“毫升”的体验作文 “升”和“毫升”的体验今天,老师给我们讲了“升”和“毫升”这两个计量单位...
过生日作文200字 实用的过生日作文200字10篇  在平平淡淡的日常中,大家都接触过作文吧,作文是经过人的思想考虑和语...
小雨作文 小雨作文小雨今天下了一天雨。小雨洒在青草上,洒在房檐上,洒在校园里……溅起朵朵“浪花”,美丽极了。大...
语言的名言警句 关于语言的名言警句汇总  在我们平凡的日常里,大家都接触过比较经典的名言吧,名言是易于留传的结论、建...
我的小传作文500字 我的小传作文500字(通用25篇)  在日复一日的学习、工作或生活中,许多人都写过作文吧,作文可分为...
精彩的一幕700字小学五年级... 精彩的一幕700字小学五年级优秀作文  在平平淡淡的学习、工作、生活中,大家都不可避免地要接触到作文...
描写图书馆的作文 描写图书馆的作文500字(通用37篇)  无论是身处学校还是步入社会,大家对作文都不陌生吧,作文是从...
站直了做人作文650字 站直了做人作文650字  生易,死却难,因为有千千万万个不能死的原因;人,欲做人易,欲站直了做人,却...