实验14数值最优化方法 1、实验目的 (L)掌握数值优化中的直接法,包括黄金分割搜索法、Fibonacci搜索法和抛 物线搜索法的MATLAB实现: 2②)通过算例加深对数值优化算法收敛阶的理解。 2、实验内容 如果已知x)在ab]上是(下)单峰的,则有可能找到该区间的一个子区间, fx)在该子区间上取得极小值。选择两个内点c0,黄金分割法0.618法)的选代步骤 1)取d=a+0.618(b-a,2=f(d),转向2)。 2)取c=a+0.382(b-a,f1=f(c),转向3)。 3)若1b-a2,则取a=c,c=d,1=2,转向5)。 5)取d=a+0.618(b-a,2=fd),转向3)。 使用MATLAB实现黄金分割搜索法和Fibonacci搜索法的自定义函数,要求 能够输出迭代次数
实验 14 数值最优化方法 1、实验目的 (1) 掌握数值优化中的直接法,包括黄金分割搜索法、Fibonacci 搜索法和抛 物线搜索法的 MATLAB 实现; (2) 通过算例加深对数值优化算法收敛阶的理解。 2、实验内容 如果已知 f(x)在[a,b]上是(下)单峰的,则有可能找到该区间的一个子区间, f(x)在该子区间上取得极小值。选择两个内点 cf(d),则从左侧压缩,使用子区间[c,b] 设函数 f (x) 在闭区间 [a, b] 上是(下)单峰函数,即在 (a, b) 内 f (x) 有 唯一的极小点 p,在 p 的左边 f (x) 严格单调下降,在 p 的右边 f (x)严格单调上 升。那么对于(a, b)内任意两点 c<d,如果 f (c)< f (d),则 p ∈[a, d];否则 p ∈ [c, b]。 给定下单峰区间 [a, b] 及控制误差 ε>0, 黄金分割法(0.618 法)的迭代步骤: 1)取 d = a + 0.618 (b - a), f2 = f (d), 转向 2)。 2)取 c = a + 0.382 (b - a), f1 = f (c), 转向 3)。 3)若 | b–a |<ε , 则取 p = (a + b )/2, 停. 否则转向 4)。 4)若 f1<f2 , 则取 b = d , d = c, f2 = f1 , 转向 2)。 若 f1= f2 , 则取 a = c, b = d, 转向 1)。 若 f1>f2 , 则取 a = c, c= d, f1 = f2 , 转向 5)。 5)取 d = a + 0.618 (b - a), f2= f (d), 转向 3)。 使用 MATLAB 实现黄金分割搜索法和 Fibonacci 搜索法的自定义函数,要求 能够输出迭代次数
3、实验习题 1)使用编写的黄金分割搜索法和Fibonacci搜索法求单峰函数x=x3-5x2+23在 1,5]上的最小值,输出迭代次数,对比效率和误差。 2)编程实现抛物线搜索法,并求解实验内容中的最优化问题,列表比较三种算 法的收敛速度和计算精度。 3)Rosenbrock函数的表达式为:f(x,2)F100×2-x2+(1-xP。 (I)画出Rosenbrock函数的三维网格图、等高线图和三维等高线图。 (2)调用Matlab的fminunc函数,分别使用BFGS方法、DFP方法和最速 下降法求解该函数在[1,1]上的最小值点,画图演示最小值点的搜索过 程。 (3)调用Matlab的fminsearch函数求解该函数在l,]止的最小值点。 (4)调用Matlab的Isqnonlin函数,使用Levenberg--Marquardt方法求解该 函数在[1,1]上的最小值点,画图演示最小值点的搜索过程。 (5)列表比较(24)的计算结果和效率,包括送代步数和对目标函数的调 用次数
3、实验习题 1) 使用编写的黄金分割搜索法和 Fibonacci 搜索法求单峰函数 f(x)=x 3 -5x 2+23 在 [1,5]上的最小值,输出迭代次数,对比效率和误差。 2)编程实现抛物线搜索法,并求解实验内容中的最优化问题,列表比较三种算 法的收敛速度和计算精度。 3)Rosenbrock 函数的表达式为:f (x1, x2)=100×(x2-x1 2 ) 2+(1-x1) 2。 (1) 画出 Rosenbrock 函数的三维网格图、等高线图和三维等高线图。 (2) 调用 Matlab 的 fminunc 函数,分别使用 BFGS 方法、DFP 方法和最速 下降法求解该函数在[-1,1]上的最小值点,画图演示最小值点的搜索过 程。 (3) 调用 Matlab 的 fminsearch 函数求解该函数在[-1,1]上的最小值点。 (4) 调用 Matlab 的 lsqnonlin 函数,使用 Levenberg-Marquardt 方法求解该 函数在[-1,1]上的最小值点,画图演示最小值点的搜索过程。 (5) 列表比较(2)-(4)的计算结果和效率,包括迭代步数和对目标函数的调 用次数