一维优化算法数学实验报告

一维优化算法数学实验报告
一维优化算法数学实验报告

数学实验

实验报告

实验名称一维优化算法比较班级2012211122

学号2012210532

姓名朱海潮

一、实验概述:

【问题简述】

有关“三点一维搜索”、“改进的抛物线法”两个优化算法,你可以选择其中一个,也可以将二者统一考虑。

需要你编程实现(注:课件所附程序仅作参考,存在瑕疵),选择适当的算例进行测试,就你所得到的实验结果给出翔实的报告——当然,你可以给出可能的改进性算法及其相应的数值结果。

比方,就“三点一维搜索”算法,可以研究算法与0.618法的区别与联系,可以以幂函数α

x )0(>α的最小化问题作为测试算例,编程实现之,讨论算法的计算效率以及收敛性;特别,你可以尝试调节)1,0(∈p 的取值,观测其对算法性能的影响;你还可以讨论算法中2x 的不同构造方法(抛物线迭代、随机等)对方法的计算效率有大的影响吗?你有不同的改进建议吗?

【实验目的】

1.熟悉使用mathmatic 软件进行计算机模拟的方法,掌握在该环境下的编程办法。

2.掌握三种一维优化算法。

【实验环境】

Wolfram Mathamtic 9.0 二、实验内容:

【算法】

0.618算法步骤:

三点一维搜索步骤:

改进的抛物线算法:

【程序代码】

【实验步骤】

实验讨论两个问题

1.对于

α

x函数,讨论当α取不同值时算法的效率(即迭代次数)。

2.对于三点一维搜索算法,讨论当p取不同值时算法的效率。每次进行100次计算,然后取100次的平均值作为最终结果。

首先编写三种搜索算法的函数,然后通过改变α获得不同α时的结果(α取0到7),并作图。同理,改变p获得不同p时三点一维算法的搜索结果(]1,0[∈

p),并作图。

三.实验总结

【实验结论】

图1 三点一维算法在取不同p值时的迭代次数

如图1所示,在p取0.25左右时,迭代次数最小,此时三点一维算法的效率最好。

图2 三种算法在α取不同值时的迭代次数

如图2所示,在p取0.25时,三点一维搜索算法的波动较小且迭代次数较少;而0.618算法的迭代次数多且波动较大,算法不稳定;改进的抛物线算法在α取不同值时迭代次数改变很大。

综上所述,三点一维算法可以说是最好的算法。

【实验小结】

通过实验,掌握了三种一维搜索算法,并且比较了三种算法的优劣,最后得出了三点一维搜索算法为较好的算法的结论。

如有侵权请联系告知删除,感谢你们的配合!

如有侵权请联系告知删除,感谢你们的配合!

最优化实验报告

最优化方法 课程设计报告班级:________________ 姓名: ______ 学号: __________ 成绩: 2017年 5月 21 日

目录 一、摘要 (1) 二、单纯形算法 (2) 1.1 单纯形算法的基本思路 (2) 1.2 算法流程图 (3) 1.3 用matlab编写源程序 (4) 二、黄金分割法 (7) 2.1 黄金分割法的基本思路 (7) 2.2 算法流程图 (8) 2.3 用matlab编写源程序 (9) 2.4 黄金分割法应用举例 (11) 三、最速下降法 (11) 3.1 最速下降法的基本思路 (11) 3.2 算法流程图 (13) 3.3 用matlab编写源程序 (13) 3.4 最速下降法应用举例 (13) 四、惩罚函数法 (17) 4.1 惩罚函数法的基本思路 (17) 4.2 算法流程图 (18) 4.3 用matlab编写源程序 (18) 4.4 惩罚函数法应用举例 (19) 五、自我总结 (20) 六、参考文献 (20)

一、摘要 运筹学是一门以人机系统的组织、管理为对象,应用数学和计算机等工具来研究各类有限资源的合理规划使用并提供优化决策方案的科学。通过对数据的调查、收集和统计分析,以及具体模型的建立。收集和统计上述拟定之模型所需要的各种基础数据,并最终将数据整理形成分析和解决问题的具体模型。 最优化理论和方法日益受到重视,已经渗透到生产、管理、商业、军事、决策等各个领域,而最优化模型与方法广泛应用于工业、农业、交通运输、商业、国防、建筑、通信、政府机关等各个部门及各个领域。伴随着计算机技术的高速发展,最优化理论与方法的迅速进步为解决实际最优化问题的软件也在飞速发展。其中,MATLAB软件已经成为最优化领域应用最广的软件之一。有了MATLAB 这个强大的计算平台,既可以利用MATLAB优化工具箱(OptimizationToolbox)中的函数,又可以通过算法变成实现相应的最优化计算。 关键词:优化、线性规划、黄金分割法、最速下降法、惩罚函数法

数值分析实验报告176453

实验报告 插值法 数学实验室 数值逼近 算法设计 级 ____________________________ 号 ____________________________ 名 _____________________________ 实验项目名称 实验室 所属课程名称 实验类型 实验日期

实验概述: 【实验目的及要求】 本次实验的目的是熟练《数值分析》第二章“插值法”的相关内容,掌握三种插 多项式插值,三次样条插值,拉格朗日插值,并比较三种插值方法的 优劣。 本次试验要求编写牛顿多项式插值,三次样条插值,拉格朗日插值的程序编码,并 去实现。 【实验原理】 《数值分析》第二章“插值法”的相关内容,包括:牛顿多项式插值,三次样条插值, 拉格朗日 插值的相应算法和相关性质。 【实验环境】(使用的软硬件) 软件: MATLAB 2012a 硬件: 电脑型号:联想 Lenovo 昭阳E46A 笔记本电脑 操作系统: Win dows 8专业版 处理器:In tel ( R Core ( TM i3 CPU M 350 @2.27GHz 2.27GHz 实验内容: 【实验方案设计】 第一步,将书上关于三种插值方法的内容转化成程序语言,用 MATLA B 现; 第二步,分别用牛顿多项式插值,三次样条插值,拉格朗日插值求解不同的问题。 【实验过程】(实验步骤、记录、数据、分析) 实验的主要步骤是:首先分析问题,根据分析设计 MATLA 程序,利用程序算出 问题答案,分析所得答案结果,再得出最后结论。 实验一: 已知函数在下列各点的值为 试用4次牛顿插值多项式 P 4( x )及三次样条函数 S ( x )(自然边界条件)对数据进行插值。 用图给出{( X i , y i ), X i =0.2+0.08i , i=0 , 1, 11, 10 } , P 4 ( x )及 S ( x )。 值方法:牛顿 在MATLAB 件中

最优化方法实验报告(1)

最优化方法实验报告Numerical Linear Algebra And Its Applications 学生所在学院:理学院 学生所在班级:计算数学10-1 学生姓名:甘纯 指导教师:单锐 教务处 2013年5月

实验一 实验名称:熟悉matlab基本功能 实验时间: 2013年05月10日星期三实验成绩: 一、实验目的: 在本次实验中,通过亲临使用MATLAB,对该软件做一全面了解并掌握重点内容。 二、实验内容: 1. 全面了解MATLAB系统 2. 实验常用工具的具体操作和功能 实验二 实验名称:一维搜索方法的MATLAB实现 实验时间: 2013年05月10日星期三实验成绩: 一、实验目的: 通过上机利用Matlab数学软件进行一维搜索,并学会对具体问题进行分析。并且熟悉Matlab软件的实用方法,并且做到学习与使用并存,增加学习的实际动手性,不再让学习局限于书本和纸上,而是利用计算机学习来增加我们的学习兴趣。 二、实验背景: (一)0.618法(黄金分割法),它是一种基于区间收缩的极小点搜索

算法,当用进退法确定搜索区间后,我们只知道极小点包含于搜索区间内,但是具体哪个点,无法得知。 1、算法原理 黄金分割法的思想很直接,既然极小点包含于搜索区间内,那么可以不断的缩小搜索区间,就可以使搜索区间的端点逼近到极小点。 2、算法步骤 用黄金分割法求无约束问题min (),f x x R ∈的基本步骤如下: (1)选定初始区间11[,]a b 及精度0ε>,计算试探点: 11110.382*()a b a λ=+- 11110.618*()a b a μ=+-。 (2)若k k b a ε-<,则停止计算。否则当()()k k f f λμ>时转步骤(3)。 当()()k k f f λμ≤转步骤(4)。 (3)置 11111110.382*()k k k k k k k k k k a b b a b a λλμμ+++++++=??=?? =??=+-?转步骤(5)

实验报告格式范文

实验报告格式范文 实验一撰写可行性研究报告 一、实验目的 1、掌握可行性研究步骤; 2、学习编制可行性研究报告。 二、实验要求 硬件:Intel Pentium 120 或以上级别的CPU,大于16MB的内存。 软件:Win dows 95/98/2000 操作系统,Office 97/2000 软件 学时:2学时 写岀此项实验报告 三、实验内容 1、可行性研究(结构化分析)方法; 2、绘制数据流图,使用Word写实验报告。 四、实验步骤 1 ?引言 1.1 编写目的 可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。 经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。本报告经审核后,交软件经理审查。 1 . 2 项目背景 (1 )待开发的软件产品名称:旅行社机票预定系统。 (2)本项目的提岀者:冯剑。开发者:李翀。用户:旅行社 (3)本软件产品将用于旅行社的机票预定和费用的记录。

1 . 3术语说明 DFD (数据流图):一种描述书记变换的图形工具,是结构化分析方法最普遍采用的表示手段,但数据流图并不是结构化分析模型的全部,数据字典和小说明为数据流图提供了补充,并用以验证图形表示的正确性、一致性和完整性,三者共同构成了被建系统的模型。 1 . 4.系统参考文献 参考文献见附录 2?可行性研究的前提 2.1基本要求 ⑴功能 本软件实现的功能有:为游客提供机票预定服务,提高旅游局的服务质量和服务效率。 对航班数据库的查询和修改,对机票费用记帐数据库的查询和修改,记录旅客信息(姓名、性别、年龄、身份证号、单位、旅行时间、目的地)、航班时间和班次,打印机票和帐单。 (2) 性能 时间:提供的信息必须及时的反映在工作平台上。售票系统的定单必须无差错的存 储在机场的主服务器上。对服务器上的数据必须进行及时正确的刷新。一笔业务在一分钟内完成。空间:运行空间 2M。 (3) 系统的输入和输岀 输入:旅行社定票单。数据完整,详实。 输岀:机票、帐单。简捷,快速,实时。 (4) 处理流程 旅行社将定票信息输入定票系统,系统输岀机票和帐单给旅客。 5 )安全保密要求

数值计算实验报告

(此文档为word格式,下载后您可任意编辑修改!) 2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:宋元台 学号: 成绩:

数值计算方法与算法实验报告 学期: 2014 至 2015 第 1 学期 2014年 12月1日课程名称: 数值计算方法与算法专业:信息与计算科学班级 12级5班 实验编号: 1实验项目Neton插值多项式指导教师:孙峪怀 姓名:宋元台学号:实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页)

1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)* Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. 2.用C语言实现算法的程序代码 #includeMAX_N) { printf("the input n is larger than MAX_N,please redefine the MAX_N.\n"); return 1; } if(n<=0) { printf("please input a number between 1 and %d.\n",MAX_N); return 1; } printf("now input the (x_i,y_i)i=0,...%d\n",n); for(i=0;i<=n;i++) { printf("please input x(%d) y(%d)\n",i,i);

学生科学实验效果最优化的基石实验报告设计

学生科学实验效果最优化的基石实验报告设计 自然科学是以实验为基础的学科。实验是人们研究和认识自然的重要方法。因此,在自然科学的教学中,实验也是重要的教学方法之一。通过实验,不仅可以提供学生对科学现象的感性认识,更可以让学生获得初步的实验技能和观察分析问题的能力。 小学科学实验教学的设计是运用系统论的思想和方法,以学习理论、教学理论为基础,计划和安排实验教学的各个环节、要素,以实现教学效果最优化为目的的活动。通过多年来的实验教学实践与思考,我们可以让学生像科学家那样,亲历科学探究的过程,这有利于充分发挥学生的主体作用,让学生积极主动参与到观察、实验等学习活动中去,亲自感知实验所产生的各种现象和变化,提高自行获取知识的能力,而其中比较重要的一个环节就是学生实验报告的设计与记录。在学生实验的过程中,一份好的实验报告设计,就像是一盏明灯,能给学生指引实验的目标、方向,能提供给学生形成结论的分析数据,进而培养学生科学实验的基本素养,使学生的科学实验效果达到最优化。 一、观察实验报告的填写,有利于学生在实验中观察,进一步培养学生实验的责任心和有序观察能力。 教科版四下《油菜花开了》解剖花的实验中,我设计了如下实验报告,在教学中取得了很好的效果。 《解剖花》实验人

花的名称 实验方法:用镊子把花的各部分,从外向里一层层撕下,整齐排列并贴在相应的名称左边,数一数,填在相应的空格上。 个萼片 个花瓣 个雄蕊 个雌蕊 在班级(1)上课时我没有设计实验报告,就按照书本上的要求,先介绍解剖花的方法、花的结构,然后让学生按照书本要求独立解剖油菜花。在实验过程中,学生非常认真,且相当活跃,但检查结果时,学生雌雄蕊不分,萼片、花瓣不分,桌上、地上掉落的都是花瓣,实验效果之不佳显而易见。 后来,我根据班级(1)出现的情况,设计了如上实验报告,实验的效果就相当出色。在这个实验报告中,我并没有限制学生解剖何种花,但学生可以根据实验要求很清楚地完成解剖的任务。充分体现了以教师为主导、学生为主体的课堂教学思想;而且在实验的过程中,桌上有了这份实验报告,便时刻提醒着学生做实验究竟是何目的,做实验时必须仔细观察什么,做实验的观察步骤是什么。在解剖花的过程中,动作快的同学还可在老师的同意下,多取一两张实验报告单,多解剖几种花,因此既避免了学生在一旁闲着无所事事而打闹的局面,又进一步提高了这些学生的科学素质。至于个别有困难的学生,教师可在巡视的过程中

最优化方法课程实验报告

项目一 一维搜索算法(一) [实验目的] 编写加步探索法、对分法、Newton 法的程序。 [实验准备] 1.掌握一维收搜索中搜索区间的加步探索法的思想及迭代步骤; 2.掌握对分法的思想及迭代步骤; 3.掌握Newton 法的思想及迭代步骤。 [实验容及步骤] 编程解决以下问题: 1.用加步探索法确定一维最优化问题 1 2)(min 30 +-=≥t t t t ? 的搜索区间,要求选取2,1,000===αh t . 加步探索法算法的计算步骤: (1)选取初始点 ]) 0[)(0[max 00t t t ,或,∈?∞+∈,计算 )(00t ??=.给出初始步长0 >h , 加步系数1α>,令0=k 。 (2) 比较目标函数值.令k k k h t t +=+1,计算 )(11++=k k t ??,若k k ??<+1,转(3),否则转(4)。 (3) 加大探索步长.令 k k h h α=+1,同时,令,k t t =,1+=k k t t 1k k =+,转(2)。 (4) 反向探索.若0=k ,转换探索方向,令,k k h h -=1+=k t t ,转(2)。否则,停止迭代,令 11min{}max{}k k a t t b t t ++==,,,。 加步探索法算法的计算框图

程序清单 加步探索法算法程序见附录1 实验结果 运行结果为: 2.用对分法求解 )2()(min +=t t t ?, 已知初始单谷区间]5,3[],[-=b a ,要求按精度3.0=ε,001.0=ε分别计算. 对分法迭代的计算步骤: (1)确定初始搜索区间],[b a ,要求'()0'()0a b ??<>,。 (2) 计算],[b a 的中点)(2 1 b a c +=. (3) 若0)(<'c ?,则c a = ,转(4);若0)(='c ?,则c t =* ,转(5);若0)(>'c ?,则c b = ,转(4). (4) 若ε<-||b a ,则)(2 1* b a t +=,转(5);否则转(2). (5) 打印* t ,结束 对分法的计算框图

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

一维搜索方法的MATLAB 实现 姓名: 班级:信息与计算科学 学号: 实验时间: 2014/6/21 一、实验目的: 通过上机利用Matlab 数学软件进行一维搜索,并学会对具体问题进行分析。并且熟悉Matlab 软件的实用方法,并且做到学习与使用并存,增加学习的实际动手性,不再让学习局限于书本和纸上,而是利用计算机学习来增加我们的学习兴趣。 二、实验背景: 黄金分割法 它是一种基于区间收缩的极小点搜索算法,当用进退法确定搜索区间后,我们只知道极小点包含于搜索区间内,但是具体哪个点,无法得知。 1、算法原理 黄金分割法的思想很直接,既然极小点包含于搜索区间内,那么可以不断 的缩小搜索区间,就可以使搜索区间的端点逼近到极小点。 2、算法步骤 用黄金分割法求无约束问题min (),f x x R ∈的基本步骤如下: (1)选定初始区间11[,]a b 及精度0ε>,计算试探点: 11110.382*()a b a λ=+- 11110.618*()a b a μ=+-。 (2)若k k b a ε-<,则停止计算。否则当()()k k f f λμ>时转步骤(3)。 当 ()()k k f f λμ≤转步骤(4)。 (3) 11111110.382*()k k k k k k k k k k a b b a b a λλμμ+++++++=??=?? =??=+-?转步骤(5)

(4) 转步骤(5) (5)令1k k =+,转步骤(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)

计算方法实验报告格式

计算方法实验报告格式 小组名称: 组长姓名(班号): 小组成员姓名(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一个完整的实验,应包括数据准备、理论基础、实验内容及方法,最终对实验结果进行分析,以达到对理论知识的感性认识,进一步加深对相关算法的理解,数值实验以实验报告形式完成,实验报告格式如下: 一、实验名称 实验者可根据报告形式需要适当写出. 二、实验目的及要求 首先要求做实验者明确,为什么要做某个实验,实验目的是什么,做完该实验应达到什么结果,在实验过程中的注意事项,实验方法对结果的影响也可以以实验目的的形式列出. 三、算法描述(实验原理与基础理论) 数值实验本身就是为了加深对基础理论及方法的理解而设置的,所以要求将实验涉及到的理论基础,算法原理详尽列出. 四、实验内容 实验内容主要包括实验的实施方案、步骤、实验数据准备、实验的算法以及可能用到的仪器设备. 五、程序流程图 画出程序实现过程的流程图,以便更好的对程序执行的过程有清楚的认识,在程序调试过程中更容易发现问题. 六、实验结果 实验结果应包括实验的原始数据、中间结果及实验的最终结果,复杂的结果可以用表格

形式列出,较为简单的结果可以与实验结果分析合并出现. 七、实验结果分析 实验结果分析包括对对算法的理解与分析、改进与建议. 数值实验报告范例 为了更好地做好数值实验并写出规范的数值实验报告,下面给出一简单范例供读者参考. 数值实验报告 小组名称: 小组成员(班号): 按贡献排序情况: 指导教师评语: 小组所得分数: 一、实验名称 误差传播与算法稳定性. 二、实验目的 1.理解数值计算稳定性的概念. 2.了解数值计算方法的必要性. 3.体会数值计算的收敛性与收敛速度. 三、实验内容 计算dx x x I n n ? += 1 10 ,1,2,,10n = . 四、算法描述 由 dx x x I n n ? += 1 10 ,知 dx x x I n n ?+=--101110,则

最优化计算方法课后习题答案----高等教育出版社。施光燕

习题二包括题目:P36页5(1)(4) 5(4)

习题三 包括题目:P61页1(1)(2); 3; 5; 6; 14;15(1) 1(1)(2)的解如下 3题的解如下

5,6题 14题解如下 14. 设22121212()(6)(233)f x x x x x x x =+++---, 求点在(4,6)T -处的牛顿方向。 解:已知 (1) (4,6)T x =-,由题意得 121212212121212(6)2(233)(3)()2(6)2(233)(3)x x x x x x x f x x x x x x x x +++-----?? ?= ?+++-----?? ∴ (1)1344()56g f x -?? =?= ??? 21212122211212122(3)22(3)(3)2(233)()22(3)(3)2(233)22(3)x x x x x x x f x x x x x x x x +--+--------? ??= ? +--------+--?? ∴ (1)2(1)1656()()564G x f x --?? =?= ?-?? (1)1 1/8007/400()7/4001/200G x --?? = ?--?? ∴ (1)(1)11141/100()574/100d G x g -?? =-= ?-?? 15(1)解如下 15. 用DFP 方法求下列问题的极小点 (1)22 121212min 353x x x x x x ++++ 解:取 (0) (1,1)T x =,0H I =时,DFP 法的第一步与最速下降法相同 2112352()156x x f x x x ++???= ?++??, (0)(1,1)T x =,(0) 10()12f x ???= ??? (1)0.07800.2936x -??= ?-??, (1) 1.3760() 1.1516f x ???= ?-?? 以下作第二次迭代 (1)(0) 1 1.07801.2936x x δ-??=-= ?-??, (1)(0) 18.6240()()13.1516f x f x γ-??=?-?= ?-?? 0110 111011101 T T T T H H H H H γγδδδγγγ=+-

最优化方法课程实验报告

. . 项目一 一维搜索算法(一) [实验目的] 编写加步探索法、对分法、Newton 法的程序。 [实验准备] 1.掌握一维收搜索中搜索区间的加步探索法的思想及迭代步骤; 2.掌握对分法的思想及迭代步骤; 3.掌握Newton 法的思想及迭代步骤。 [实验容及步骤] 编程解决以下问题: 1.用加步探索法确定一维最优化问题 1 2)(min 30 +-=≥t t t t ? 的搜索区间,要求选取2,1,000===αh t . 加步探索法算法的计算步骤: (1)选取初始点])0[)(0[max 00t t t ,或,∈?∞+∈,计算)(00 t ??=.给出初始步长0 >h , 加步系数1α>,令0=k 。 (2) 比较目标函数值.令k k k h t t +=+1,计算 )(11++=k k t ??,若k k ??<+1,转(3),否则转(4)。 (3) 加大探索步长.令k k h h α=+1,同时,令,k t t =,1+=k k t t 1k k =+,转(2)。 (4) 反向探索.若0=k ,转换探索方向,令,k k h h -=1+=k t t ,转(2)。否则,停止迭代, 令 11min{}max{}k k a t t b t t ++==,,,。 加步探索法算法的计算框图

. . 程序清单 加步探索法算法程序见附录1 实验结果 运行结果为: 2.用对分法求解 )2()(min +=t t t ?, 已知初始单谷区间]5,3[],[-=b a ,要求按精度3.0=ε,001.0=ε分别计算. 对分法迭代的计算步骤: (1)确定初始搜索区间],[b a ,要求'()0'()0a b ??<>,。 (2) 计算],[b a 的中点)(2 1 b a c += . (3) 若0)(<'c ?,则c a = ,转(4);若0)(='c ?,则c t =* ,转(5);若0)(>'c ?,则c b = ,转(4). (4) 若ε<-||b a ,则)(2 1* b a t +=,转(5);否则转(2).

数值分析实验报告模板

数值分析实验报告模板 篇一:数值分析实验报告(一)(完整) 数值分析实验报告 1 2 3 4 5 篇二:数值分析实验报告 实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。即若x0 偏离所求根较远,Newton法可能发散的结论。并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收

敛,但精度不够。熟悉Matlab语言编程,学习编程要点。体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk) 产生逼近解x*的迭代数列{xk},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 xk?1?xk?rf(xk) 'f(xk) 其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x);

《最优化方法》复习题(含答案)

x zD 天津大学《最优化方法》复习题(含答案) 第一章 概述(包括凸规划) 判断与填空题 arg max f(x)二 arg min 以儿 “ max(x): x D 二 R n 』=-min(x): x D 二 R n ; 设f : D 5 R n > R.若x : R n ,对于一切R n 恒有f(x”)^f(x),则称x”为 设f : D 5 R n >R.若x ” ? D ,存在x ”的某邻域N ;(x”),使得对一切 x ?N .(x)恒有f(x”)::: f (x),则称x”为最优化问题 min f (x)的严格局部最 优解? 给定一个最优化问题,那么它的最优值是一个定值 ? V 非空集合D R n 为凸集当且仅当 D 中任意两点连线段上任一点属于 D . V 非空集合D R n 为凸集当且仅当D 中任意有限个点的凸组合仍属于 D . V 任意两个凸集的并集为凸集? 函数f:D R n >R 为凸集D 上的凸函数当且仅当 -f 为D 上的凹函数? V 设f : D R n >R 为凸集D 上的可微凸函数,X :D ?则对-D ,有 f (x) - f(x )乞 f (x )T (X —X )? 若c(x)是凹函数,则 D={x^R n C(x)启0}是凸集。 V f(x)的算法A 产生的迭代序列,假设算法 A 为下降算法, 则对-k ? 5,1, 2,…匚恒有 ________________ f(x k1)乞 f(x k ) ______________ ? 算法迭代时的终止准则(写出三种) : ___________________________________________________ 凸规划的全体极小点组成的集合是凸集。 V 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

最优化方法(试题+答案)

一、 填空题 1 . 若 ()()??? ? ??+???? ?????? ??=212121 312112)(x x x x x x x f ,则 =?)(x f ,=?)(2x f . 2.设f 连续可微且0)(≠?x f ,若向量d 满足 ,则它是f 在x 处的一个下降方向。 3.向量T ) 3,2,1(关于3阶单位方阵的所有线性无关的共轭向量 有 . 4. 设R R f n →:二次可微,则f 在x 处的牛顿方向为 . 5.举出一个具有二次终止性的无约束二次规划算 法: . 6.以下约束优化问题: )(01)(..)(min 212121 ≥-==+-==x x x g x x x h t s x x f 的K-K-T 条件为: . 7.以下约束优化问题: 1 ..)(min 212 2 21=++=x x t s x x x f 的外点罚函数为(取罚参数为μ) . 二、证明题(7分+8分) 1.设1,2,1,:m i R R g n i =→和m m i R R h n i ,1,:1+=→都是线性函数,证明下 面的约束问题: } ,,1{, 0)(},1{, 0)(..)(min 1112 m m E j x h m I i x g t s x x f j i n k k +=∈==∈≥=∑= 是凸规划问题。

2.设R R f →2 :连续可微,n i R a ∈,R h i ∈,m i ,2,1=,考察如下的约束条件问题: } ,1{,0} 2,1{,0..) (min 11m m E i b x a m I i b x a t s x f i T i i T i +=∈=-=∈≥- 设d 是问题 1 ||||,0,0..)(min ≤∈=∈≥?d E i d a I i d a t s d x f T i T i T 的解,求证:d 是f 在x 处的一个可行方向。 三、计算题(每小题12分) 1.取初始点T x )1,1() 0(=.采用精确线性搜索的最速下降法求解下面的无约束优化问题 (迭代2步): 2 2212)(m in x x x f += 2.采用精确搜索的BFGS 算法求解下面的无约束问题: 212 2212 1)(min x x x x x f -+= 3.用有效集法求解下面的二次规划问题: . 0,001..42)(min 21212 12 221≥≥≥+----+=x x x x t s x x x x x f 4.用可行方向算法(Zoutend ij k算法或Frank Wol fe算法)求解下面的问题(初值设为)0,0() 0(=x ,计算到)2(x 即可): . 0,033..22 1)(min 212112 22121≥≥≤+-+-= x x x x t s x x x x x x f

最优化实验报告

最优化方法 课程设计报告 班级:________________ 姓名: ______ 学号: __________ 成绩: 2017年 5月 21 日 目录 一、摘要 (1)

二、单纯形算法 (2) 1.1 单纯形算法的基本思路 (2) 1.2 算法流程图 (3) 1.3 用matlab编写源程序 (3) 二、黄金分割法 (7) 2.1 黄金分割法的基本思路 (7) 2.2 算法流程图 (8) 2.3 用matlab编写源程序 (9) 2.4 黄金分割法应用举例 (10) 三、最速下降法 (10) 3.1 最速下降法的基本思路 (10) 3.2 算法流程图 (12) 3.3 用matlab编写源程序 (12) 3.4 最速下降法应用举例 (13) 四、惩罚函数法 (16) 4.1 惩罚函数法的基本思路 (16) 4.2 算法流程图 (17) 4.3 用matlab编写源程序 (17) 4.4 惩罚函数法应用举例 (19) 五、自我总结 (19) 六、参考文献 (19)

一、摘要 运筹学是一门以人机系统的组织、管理为对象,应用数学和计算机等工具来研究各类有限资源的合理规划使用并提供优化决策方案的科学。通过对数据的调查、收集和统计分析,以及具体模型的建立。收集和统计上述拟定之模型所需要的各种基础数据,并最终将数据整理形成分析和解决问题的具体模型。 最优化理论和方法日益受到重视,已经渗透到生产、管理、商业、军事、决策等各个领域,而最优化模型与方法广泛应用于工业、农业、交通运输、商业、国防、建筑、通信、政府机关等各个部门及各个领域。伴随着计算机技术的高速发展,最优化理论与方法的迅速进步为解决实际最优化问题的软件也在飞速发展。其中,MATLAB软件已经成为最优化领域应用最广的软件之一。有了MATLAB这个强大的计算平台,既可以利用MATLAB优化工具箱(OptimizationToolbox)中的函数,又可以通过算法变成实现相应的最优化计算。 关键词:优化、线性规划、黄金分割法、最速下降法、惩罚函数 法

数值分析实验报告

实验一 误差分析 实验(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p Λ 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对()中19x 的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a Λ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a Λ 的全部根;而函数 poly(v)b = 的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve = ))20:1((ve poly roots +

遗传算法实验报告

遗传算法实验报告 专业:自动化姓名:张俊峰学号:13351067 摘要:遗传算法,是基于达尔文进化理论发展起来的一种应用广泛、高效的随机搜索与优化方法。本实验利用遗传算法来实现求函数最大值的优化问题,其中的步骤包括初始化群体、个体评价、选择运算、交叉运算、变异运算、终止条件判断。该算法具有覆盖面大、减少进入局部最优解的风险、自主性等特点。此外,遗传算法不是采用确定性原则而是采用概率的变迁规则来指导搜索方向,具有动态自适应的优点。 关键词:串集最优化评估迭代变异 一:实验目的 熟悉和掌握遗传算法的运行机制和求解的基本方法。 遗传算法是一种基于空间搜索的算法,它通过自然选择、遗传、变异等操作以及达尔文的适者生存的理论,模拟自然进化过程来寻找所求问题的答案。其求解过程是个最优化的过程。一般遗传算法的主要步骤如下: (1)随机产生一个确定长度的特征字符串组成的初始种群。。 (2)对该字符春种群迭代地执行下面的步骤a和步骤b,直到满足停止准则为止: a计算种群中每个个体字符串的适应值; b应用复制、交叉和变异等遗传算子产生下一代种群。 (3)把在后代中表现的最好的个体字符串指定为遗传算法的执行结果,即为问题的一 个解。 二:实验要求 已知函数y=f(x 1,x 2 ,x 3 ,x 4 )=1/(x 1 2+x 2 2+x 3 2+x 4 2+1),其中-5≤x 1 ,x 2 ,x 3 ,x 4 ≤5, 用遗传算法求y的最大值。三:实验环境

操作系统:Microsoft Windows 7 软件:Microsoft Visual studio 2010 四:实验原理与步骤 1、遗传算法的思想 生物的进化是以集团为主体的。与此相对应,遗传算法的运算对象是由M个个体所组成的集合,称为群体。与生物一代一代的自然进化过程相类似,遗传算法的运算过程也是一个反复迭代过程,第t代群体极为P(t),进过一代遗传和进化后,得到第t+1代群体,他们也是由多个个体组成的集合,记做P(t+1)。这个群体不断地经过遗传和进化操作,并且每次都按照有优胜劣汰的规则将适应度较高的个体更多地遗传到下一代,这样最终在群体中将会得到一个优良的个体X,它所对应的表现性X将达到或接近于问题的最优解。 2、算法实现步骤 ①、产生初始种群:产生初始种群的方法通常有两种:一种是完全随机的方法产生的,适合于对问题的解无任何先验知识的情况;另一种是将某些先验知识转变为必须满足的一组要求,然后在满足这些要求的解中再随机地选择样本,t=0,随机产生n个个体形成一个初始群体P(t),该群体代表优化问题的一些可能解的集合; ②适应度评价函数:按编码规则,将群体P(t)中的每一个个体的基因码所对应的自变量取值代入目标函数,算出其函数值f,i=1,2,…,n,f越大,表示该个体有较高的适应度,更适合于f所定义的生存环境,适应度f为群体进化提供了依据; ③选择:按一定概率从群体P(t)中选出m个个体,作为双亲用于繁殖后代,产生新的个体加入下一个群体P(t+1)中。此处选用轮盘算法,也就是比例选择算法,个体被选择的概率与其适应度成正比。 ④交叉(重组):对于选中的用于繁殖的每一个个体,选择一种交叉方法,产生新的个体;此处采取生成随机数决定交叉的个体与交叉的位置。 ⑤变异:以一定的概率Pm从群体P(t+1)中随机选择若干个个体,对于选中的个体随机选择某个位置,进行变异; ⑥对产生新一代的群体返回步骤③再进行评价,交叉、变异如此循环往复,使群体中个体的适应度和平均适应度不断提高,直至最优个体的适应度达到某一限值或最优个体的适应度和群体的平均适应度不再提高,则迭代过程收敛,算法结束。 五:实验结果 实验结果的显示取决于判断算法终止的条件,这里可以有两种选择:1、在程序中设定迭代的次数;2在程序中设定适应值。本实验是在程序中实验者输入需要迭代的次数来判断程序终结的。

实验报告的书写格式模版

实验报告的书写格式模版 有关实验报告的书写格式 一、完整实验报告的书写 完整的一份实验报告一般包括以下项目:实验名称: 实验目的: 实验器材: 实验原理: 实验步骤: 实验数据记录(表格)及处理: 实验结论(结果推导): 实验讨论或分析等。 二、实验报告书写方法  1、实验名称:就是这个实验是做什么的。 2、实验目的:一般都写掌握什么方法啊;了解什么啊;知道什么啊;会什么啊;…… 等。 3、实验器材:就是做这个实验需要的所有器材(仪器)。 4、实验原理:就是这个实验是根据什么来做的,一般书上会写,抄一下也就可以啦。 5、实验步骤:就是你做实验的过程,开始操作时,(1)做什么; (2)做什么;(3)做什么;……

6、实验数据记录(表格)及处理:根据实验中涉及以及实验得到的数据,设计表格,将有关数据填在表格相应的位置;数据处理,就是该计算的,按要求计算后填入表格对应位置。 7、实验结论(结果推导):就是做这个实验要得到的结果。 8、分析于讨论:写你的实验结果是否适合真实值?如果有误差要分析产生误差的原因,还有实验的一些比较关键的步骤的注意事项等。 对于初中生或小学生来说,书写的实验报告也可简单一点,有时也可不要分析于讨论,也可不写实验原理等。 三、探究实验书写一般有七个环节 1.提出问题:就是在生活中发现、提出问题。 2.猜想与假设:发现问题,就要弄清楚问题,在没有搞清楚之前总有基本的猜测和设想,这就是猜想与假设。 3.制定计划与设计实验:有了猜想,就有了实验的目的,再根据实验的目的设计实验方案,制定实验计划,包括取得证据的途径和方法,确定收集证据的范围。包括实验的理论依据(实验原理)、实验器材、实验步骤等。 4.进行实验与收集证据:上一步是动脑、思维活动,这一步是手脑并用的实验过程。 5.分析与论证:通过上面的实验,收集到一些数据,观察到一些现象,对其分析,得出事实与假设的关系,通过归纳、概括等方法,得到结论。

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

相关文档
最新文档