最优化方法(黄金分割与进退法)实验报告 - 范文中心

最优化方法(黄金分割与进退法)实验报告

02/02

一维搜索方法的MATLAB 实现

姓名: 班级:信息与计算科学 学号: 实验时间: 2014/6/21 一、实验目的:

通过上机利用Matlab 数学软件进行一维搜索,并学会对具体问题进行分析。并且熟悉Matlab 软件的实用方法,并且做到学习与使用并存,增加学习的实际动手性,不再让学习局限于书本和纸上,而是利用计算机学习来增加我们的学习兴趣。

二、实验背景: 黄金分割法

它是一种基于区间收缩的极小点搜索算法,当用进退法确定搜索区间后,我们只知道极小点包含于搜索区间内,但是具体哪个点,无法得知。

1、算法原理

黄金分割法的思想很直接,既然极小点包含于搜索区间内,那么可以不断

的缩小搜索区间,就可以使搜索区间的端点逼近到极小点。

2、算法步骤

用黄金分割法求无约束问题min f (x ), x ∈R 的基本步骤如下: (1)选定初始区间[a 1, b 1]及精度ε>0,计算试探点:

λ1=a 1+0.382*(b 1-a 1)

f λ>f (μk )(2)若b k -a k

f (λk )≤f (μk )转步骤(4)。 (3) ⎧a k +1=λk ⎪b =b ⎪k +1k ⎨

⎪λk +1=μk ⎪⎩μk +1=a k +1+0.382*(b k +1-a k +1) 转步骤(5)

μ1=a 1+0.618*(b 1-a 1) 。

(4)

转步骤(5)

(5)令k =k +1,转步骤(2)。

算法的MATLAB 实现

function xmin=golden(f,a,b,e) k=0;

x1=a+0.382*(b-a); x2=a+0.618*(b-a); while b-a>e f1=subs(f,x1); f2=subs(f,x2); if f1>f2 a=x1; x1=x2; f1=f2;

x2=a+0.618*(b-a); else b=x2; x2=x1; f2=f1;

x1=a+0.382*(b-a); end k=k+1; end

xmin=(a+b)/2; fmin=subs(f,xmin)

最优化方法上机实验

fprintf('k=\n'); disp(k);

3、实验结果(总结/方案)

黄金分割法求解极值实例。用黄金分割法求解下面函数的最小值:

f (t ) ==t 4-t 2-2t +5, 其中t ∈[-10, 10]

进退法

1. 算法原理

进退法是用来确定搜索区间(包含极小值点的区间)的算法,其理论依据是:f (x ) 为单谷函数(只有一个极值点),且[a , b ]为其极小值点的一个搜索区间,对于任意x 1, x 2∈[a , b ],如果f (x 1)f (x 2),则[x 1, b ]为极小值的搜索区间。

因此,在给定初始点x 0,及初始搜索步长h 的情况下,首先以初始步长向前搜索一步,计算f (x 0+h )。

(1) 如果f (x 0)

则可知搜索区间为[x , x 0+h ],其中x 待求,为确定x ,后退一步计算

f (x 0-λh ) ,λ为缩小系数,且0

f (x 0-λ*h ) >f (x 0),从而确定搜索区间[x 0-λ*h , x 0+h ]。 (2) 如果f (x 0)>f (x 0+h )

则可知搜索区间为[x 0, x ],其中x 待求,为确定x ,前进一步计算f (x 0+λh ) ,

λ为放大系数,且λ>1,知道找到合适的λ*,使得f (x 0+h )

2. 算法步骤

用进退法求一维无约束问题min f (x ), x ∈R 的搜索区间(包含极小值点的区间)的基本算法步骤如下:

(1) 给定初始点x (0),初始步长h 0,令h =h 0,x (1)=x (0),k =0; (2) 令x (4)=x (1)+h ,置k =k +1;

(3) 若f (x (4))

(4) 令x (2)=x (1), x (1)=x (4),f (x (2))=f (x (1)),f (x (1))=f (x (4)),令h =2h ,

转步骤(2);

(5) 若k =1,则转步骤(6)否则转步骤(7);

(6) 令h =-h ,x (2)=x (4),f (x (2))=f (x (4)),转步骤(2);

(7) 令x (3)=x (2), x (2)=x (1), x (1)=x (4),停止计算,极小值点包含于区间

[x (1), x (3)]或[x (3), x (1)]

3. 算法的MATLAB 实现

function [A,B]=minJT(f,x0,h0,eps) %目标函数:f; %初始点:x0; %初始步长:h0; %精度:eps;

%目标函数取包含极值的区间的左端点:A; %目标函数取包含极值的区间的右端点:B; format long; if nargin==3; eps=1.0e-6; end

x1=x0; k=0; h=h0; while 1

x4=x1+h;%试探步 k=k+1;

f4=subs(f,findsym(f),x4); f1=subs(f,findsym(f),x1); if f4

h=2*h;%加大步长 else if k==1

h=-h;%反向搜索 x2=x4; f2=f4; else x3=x2; x2=x1; x1=x4; break; end end end

A=min(x1,x3); B=x1+x3-A; format short; 例:

取初始点为0,步长为0.1,用进退法求函数f (t ) =(t 2-1) 2+(t -1) 2+3=t 4-t 2-2t +5的

极值区间。

最优化方法上机实验


相关内容

  • [中学语文单元模块教学研究与探索]课题总结报告
    <中学语文单元模块教学研究与探索>课题总结报告 吴雅琴 执笔 一 .导言 本课题于1999年被批准为校级课题后,语文组全体同仁即以积极的姿态投入到研究中去,我们根据学生的年龄特点,按照教材的不同文体,在初高中各个年级开展实验研究 ...
  • 生物医学图像处理实验指导书 20**年
    实验一 直方图Matlab 运算及C 之间转换 一.实验目的 1. 熟悉利用Matlab 进行图像处理的基本操作,了解图像数据的存储形式及进行图像处理编程的步骤方法. 2. 巩固图像处理编程的步骤格式,理解图像直方图的原理,掌握图像直方图的 ...
  • 资料员个人工作总结
    总结是前一个过程结束与又一个过程开始的连接,随着时间消失,又到了一个新的年岁交替,2010年即将过去,又要写总结啦!总结一年来工作中的经验.教训,有利于在以后的工作中扬长避短,更好的做好技术工作,下面分几个方面对一年来的工作进行总结: 一. ...
  • 国有企业财务风险管理分析
    [摘 要]以关于国有企业财务的风险管理为题目展开相关讨论.首先对其进行了简要概述,主要从其价值与重要性方面切入,并且对其风险管理中存在的一些问题进行说明,在分析原因的基础上,提出了一些具体的解决措施. [关键词]国有企业:财务:风险管理 [ ...
  • 密度的测量实验教案
    密度的测量实验教案 所用教材<物理>第1册 出版社:北京师范大学出版社 教学目标 1.学会托盘天平和量筒的使用. 2.理解实验原理密度定义式ρ=m/V,并学会测量密度的实际方法. 3.学会设计实验步骤,并且按照实验步骤进行实验. ...
  • 加法器实验报告
    实验三 加法器的设计与仿真 一.实验目的 熟悉quartus ⅱ仿真软件的基本操作,用逻辑图和vhdl 语言设计加法器并验证. 二.实验内容 1.熟悉quartus ⅱ软件的基本操作,了解各种设计输入方法(原理图设计.文本设计. 波形设计) ...
  • 恒隆集团人员素质测评系统设计方案
    恒隆集团人员素质测评系统设计方案 一.前言 人员素质测评,就是指测评主体从特定的人力资源管理目的出发,运用各种测量技术,收集受测人在主要活动领域中的表征信息,对人的素质进行全面系统的评价,以求对人有客观.全面.深入地了解,从而为人力资源开发 ...
  • 煤制气废水处理研究进展报告
    煤制气废水处理研究进展报告 目录 1 煤制气废水的来源和水质特征 . ..................................................................................... ...
  • 地质信息技术
    第六章 地质信息技术 前 言 当前,在加拿大.澳大利亚等西方主要矿业大国,矿业软件是矿山生产过程中必不可少的重要工具,特别是在地质数据分析.提高矿山生产与管理效率等方面发挥了巨大作用.当前国外比较著名的商业矿业软件有Surpac .Micr ...
  • 20**年烟台市政府工作报告
    2013年烟台市政府工作报告 发布日期:2014-02-17 信息来源: 字体:[大中小] ---2014年1月9日在烟台市第十六届人民代表大会第三次会议上 ----------------------------------------- ...