机械优化设计设计优化方法原理及优缺点

加载中,请稍候...
加载中,请稍候...
机械优化设计方法(第4版)
促销信息:
商品评分:
配&送&至:
服  务:
温馨提示:
赠  品:
促销信息:
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
机械优化设计方法(第4版)
商品名称:机械优化设计方法(第4版)
商品编号:
上架时间: 09:39:30
商品毛重:400.00g
商品产地:
类型:机械零件及传动装置
如果您发现商品信息不准确,
书名:机械优化设计方法(第4版)
原价:42元
作者:陈立周俞必强
出版社:冶金工业
出版日期:
开本:16开
商品重量:0.4kg
陈立周、俞必强主编的这本《机械优化设计方法(第4版)》试图把机械工程设计实践中应用的最优化技术和计算机技术结合起来融为一体,介绍有关机械优化设计的最主要的理论和方法,以及这门新兴技术科学现状与发展方面的一些知识。本书内容包括优化设计的基本术语、数学模型、基本概念和理论,无约束优化计算方法,约束优化计算方法,现代优化计算方法,多目标问题优化设计方法,多学科问题优化设计方法,离散问题优化设计方法,随机问题优化设计方法,模糊问题优化设计方法,稳健问题优化设计方法等。
&&&& 陈立周、俞必强主编的这本《机械优化设计方法(第4版)》是在前3版的基础上,根据优化设计理论与技术的发展并结合课堂教学经验,系统地介绍了机械优化设计的基本原理与方法,较为全面地介绍各种优化设计方法及其应用,包括无约束问题和约束问题等常用优化设计方法,模拟退火算法、遗传算法和蚁群算法等现代优化设计方法,复杂系统的多学科设计优化原理与方法以及工程应用中的多目标问题、离散问题、随机问题、模糊问题和稳健问题等优化设计方法。&&&& 《机械优化设计方法(第4版)》可作为机械工程专业研究生教学用书,亦可作为相近工科专业的教学参考书。在使用本书时,各校可根据安排的教学时数和学生情况选用内容,对于40左右学时的,建议选用前8章内容,后面几章可以作为选讲内容。&&&&&&&
1 绪论 1.1 引言 1.2 设计过程 1.2.1 设计过程及其特点 1.2.2 概念设计与参数设计 1.2.3 设计中几种常用的决策方法 1.2.4 最优化在设计中的作用 1.3 优化设计问题的分类及其一般实施步骤 1.3.1 分类 1.3.2 一般实施步骤 1.4 优化设计学科中的一些常见术语 1.5 机械优化设计的发展与趋势2 优化设计的基本术语和数学模型 2.1 引言 2.2 优化设计的基本术语 2.2.1 设计变量 2.2.2 目标函数 2.2.3 设计约束 2.3 优化设计的数学模型及其分类 2.3.1 数学模型的格式 2.3.2 数学模型的精确形式 2.3.3 数学模型的分类 2.4 优化设计模型的几何解释 2.5 优化计算方法概述 习题3 优化设计的某些基本概念和理论 3.1 目标函数与约束函数的某些基本性质 3.1.1 函数的等值面(或线) 3.1.2 函数的最速下降方向 3.1.3 函数的局部近似函数和平方函数 3.1.4 函数的凸性 3.1.5 函数的单调性 3.2 约束集合及其性质 3.2.1 约束集合和可行域 3.2.2 起作用约束和松弛约束 3.2.3 冗余约束 3.2.4 可行方向 3.3 约束最优解及其最优性条件 3.3.1 约束最优解 3.3.2 局部最优点和全局最优点 3.3.3 无约束最优解的最优性条件 3.3.4 约束最优解的最优性条件 3.4 优化问题的数值计算方法及收敛条件 3.4.1 数值计算的迭代法 3.4.2 无约束优化迭代计算的终止准则 3.4.3 约束优化迭代计算的终止准则 习题4 无约束优化计算方法 4.1 引言 4.2 单变量优化计算方法 4.2.1 搜索区间的确定 4.2.2 黄金分割法 4.2.3 二次插值法 4.3 多变量优化计算的非梯度方法 4.3.1 坐标轮换法 4.3.2 Powell法 4.3.3 单纯形法 4.4 多变量优化计算的梯度方法 4.4.1 梯度法 4.4.2 共轭梯度法 4.4.3 牛顿法和修正牛顿法 4.4.4 变尺度法 习题5 约束优化计算方法 5.1 引言 5.2 随机方向搜索法 5.2.1 基本原理 5.2.2 随机搜索方向向量的确定 5.2.3 可行初始点的产生方法 5.2.4 算法步骤 5.3 复合形法 5.3.1 基本原理 5.3.2 初始复合形的构成 5.3.3 复合形法的基本运算 5.3.4 算法步骤 5.4 惩罚函数法 5.4.1 基本概念 5.4.2 内点惩罚函数法 5.4.3 外点惩罚函数法 5.4.4 混合惩罚函数法 5.5 约束优化计算其他方法概述 5.5.1 可行方向法和梯度投影法 5.5.2 约束变尺度法 5.5.3 广义简约梯度法 习题6 现代优化计算方法 6.1 引言 6.2 计算复杂性和启发式算法的概念 6.2.1 计算复杂性的基本概念 6.2.2 启发式优化算法 6.3 模拟退火优化算法 6.3.1 基本思想 6.3.2 算法的基本步骤 6.3.3 算法实现的几个技术问题 6.3.4 模拟退火算法的改进 6.4 遗传优化算法 6.4.1 基本思想 6.4.2 算法的基本步骤 6.4.3 算法实现的几个技术问题 6.4.4 遗传算法的改进 6.5 蚁群算法 6.5.1 基本原理 6.5.2 蚁群算法的构造和基本步骤 6.5.3 函数问题的蚁群算法 6.5.4 蚁群算法的改进 6.6 混合优化算法 6.6.1 引言 6.6.2 遗传模拟退火优化算法 6.6.3 模拟退火单纯形优化算法 习题7 优化设计实践中的某些问题 7.1 引言 7.2 优化设计的建模 7.2.1 建模的方法论和步骤 7.2.2 减少数学模型规模的措施 7.2.3 模型函数 7.2.4 建模中数表和图线的程序化 7.3 数学模型的尺度变换 7.3.1 设计变量的标度 7.3.2 目标函数的尺度变换 7.3.3 约束函数的归一化 7.4 优化计算方法和精度的选择 7.4.1 优化计算方法的选择 7.4.2 收敛精度的选择 7.5 优化计算结果的分析 7.5.1 计算结果分析 7.5.2 计算结果的灵敏度分析 习题8 多目标问题优化设计方法 8.1 引言 8.2 基本概念和定义 8.3 多目标问题的最优化决策方法 8.3.1 协调曲线法 8.3.2 统一目标函数法 8.3.3 加权因子的确定 8.3.4 功效系数法 8.4 多属性问题的选择决策方法 8.4.1 决策矩阵 8.4.2 权值的确定方法 8.4.3 决策方法 8.4.4 模糊综合评判法 习题9 多学科问题优化设计方法 9.1 引言 9.2 多学科设计优化的基本思想 9.2.1 总体思想 9.2.2 基本特点 9.3 多学科设计优化的基本方法 9.3.1 系统分解和分析方法 9.3.2 敏度分析 9.3.3 建模方法 9.3.4 设计优化策略与优化算法 9.3.5 集成平台界面 9.4 多学科变量耦合优化方法 9.4.1 总体思路 9.4.2 子系统间的耦合关系 9.4.3 系统级协调策略 9.4.4 系统优化模型 9.4.5 多学科变量耦合优化方法工作流程 9.5 多学科目标兼容优化方法 9.5.1 总体思路 9.5.2 系统之间的变量 9.5.3 兼容约束与兼容目标函数 9.5.4 多学科目标兼容优化方法工作流程 习题10 离散问题优化设计方法 10.1 引言 10.2 离散问题优化设计的基本概念 10.2.1 离散变量与离散空间 10.2.2 连续变量的离散化 10.2.3 离散问题优化设计的数学模型 10.3 离散问题的最优解及最优性条件 10.3.1 离散单位邻域和坐标邻域 10.3.2 离散变量问题的最优解 10.3.3 离散最优解的最优性条件 10.3.4 离散问题优化计算方法概述 10.4 离散变量自适应随机搜索算法 10.4.1 基本原理 10.4.2 设计点样本产生的基本方程 10.4.3 随机移步查点技术 10.4.4 算法构造原理及步骤 10.5 离散变量组合形算法 10.5.1 初始离散组合形的产生 10.5.2 离散一维搜索 10.5.3 约束条件的处理 10.5.4 算法的辅助功能和终止准则 10.5.5 算法的基本步骤 10.6 离散惩罚函数算法 10.6.1 基本原理 10.6.2 关于惩罚因子和离散惩罚函数指数的选择 10.6.3 伪最优和校正 10.6.4 算法的基本步骤 习题11 随机问题优化设计方法 11.1 引言 11.2 含有随机因素问题的优化设计数学模型 11.2.1 随机模型的基本要素 11.2.2 随机问题优化设计数学模型及其最优解 11.3 随机模型的分析方法 11.3.1 概率分析的主要方法及其特点 11.3.2 均值和方差的近似计算方法 11.3.3 随机模拟计算方法 11.4 随机问题的优化计算方法 11.4.1 一次二阶矩法 11.4.2 随机模拟搜索算法 11.4.3 随机拟次梯度算法 习题12 模糊问题优化设计方法 12.1 引言 12.2 含有模糊因素问题的优化设计数学模型 12.2.1 模糊模型的基本要素 12.2.2 模糊问题优化设计数学模型及其最优解 12.3 模糊问题优化设计模型的确定型解法 12.3.1 清晰目标函数在模糊约束时的解法 12.3.2 模糊目标和模糊约束时的解法 12.3.3 清晰等价解法 12.4 模糊模拟搜索解法 12.4.1 模糊模拟技术 12.4.2 基于模糊模拟的遗传算法 12.5 多目标模糊优化设计方法 习题13 稳健问题优化设计方法 13.1 引言 13.2 产品质量的稳健性与稳健设计 13.2.1 产品的质量问题 13.2.2 产品的质量特性与评价指标 13.2.3 稳健性特征量与稳健设计 13.3 稳健优化设计的基本原理 13.3.1 设计变量与参数的变差和容差 13.3.2 技术特性值的变差和容差 13.3.3 稳健问题优化设计的基本数学模型 13.4 基于容差模型的稳健优化设计 13.4.1 容差分析原理 13.4.2 稳健优化设计的容差模型 13.4.3 容差模型稳健优化设计的近似解法 13.5 基于随机模型的稳健优化设计 13.5.1 随机模型稳健优化设计的几项准则 13.5.2 稳健优化设计的随机模型 13.5.3 优化计算方法及基本步骤 习题参考文献
本产品质保期为:
服务承诺:
注:因厂家会在没有任何提前通知的情况下更改产品包装、产地或者一些附件,本司不能确保客户收到的货物与商城图片、产地、附件说明完全一致。只能确保为原厂正货!并且保证与当时市场上同样主流新品一致。若本商城没有及时更新,请大家谅解!
权利声明:京东上的所有商品信息、客户评价、商品咨询、网友讨论等内容,是京东重要的经营资源,未经许可,禁止非法转载使用。
注:本站商品信息均来自于合作方,其真实性、准确性和合法性由信息拥有者(合作方)负责。本站不提供任何保证,并不承担任何法律责任。
正在加载中,请稍候...
温馨提示:因厂家更改产品包装、产地或者更换随机附件等没有任何提前通知,且每位咨询者购买情况、提问时间等不同,为此以下回复仅对提问者3天内有效,其他网友仅供参考!若由此给您带来不便请多多谅解,谢谢!
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
浏览了该商品的用户还浏览了
正在加载中,请稍候...
浏览了该商品的用户最终购买了
正在加载中,请稍候...
机械、仪表工业排行榜
购买了该商品的用户还购买了
正在加载中,请稍候...
浏览了该商品的用户还浏览了
正在加载中,请稍候...
根据浏览猜你喜欢
正在加载中,请稍候...
正在加载中,请稍候...如果您希望收到每月一期的热门CAD使用技巧,请订阅我们的电子邮件。
2013年2期&&
卧式停止器结构优化设计与仿真分析
目前机械行业内停止器种类样式繁多,其主要作用是应用于自动化生产线上控制托盘的行-止,保证线体的自动化运行。成熟的停止器设计应该具有阻尼最优化;确保停止器在空载或满载情况下都具有最佳阻尼。无论其实际负载多少,夹具都能被柔和地缓冲,并且回复力不对其造成任何损坏。循环时间最短;要求传送系统具有自适应性和多用性,在每个机械装置,连续重载需要一个安全可靠的操纵,且只能通过调整最优阻尼才能满足。以及制造质量最优;速度可调;机械性能稳定;位置稳定性好;价格低廉等优点,目前国外停止器的发展水平已经很成熟,而国内由于机械行业起步晚,对此类小型的结构没足够的重视,发展相对滞后。但想要提高整个设备的自动化程度,对停止器的性能提升是很有必要的。常用的停止器分为立式和卧式两种。研究对象是卧式停止器;和立式停止器的缓冲机构安装在缸径上,结构简单小巧相比卧式停止器缓冲结构设计相对复杂,动力组件相对小巧廉价。此类停止器,通过复杂的结构避免了立式停止器作用力和缸体的直接冲击,且气缸受力较小,工作稳定可靠,寿命长。设计思路来源于中小型线体上运动托盘的阻挡和放行的控制,设计目标是,在自动控制的情况下,平稳而高效的使托盘止于工位处,迅速无阻碍的放行托盘至下一工位。
2 卧式停止器结构设计
2.1 卧式停止器工作原理
卧式停止器共有两个动作:(1)阻止零件移动,使零件由运动状态到静止于设定的工位处;(2)放行零件,使零件由静止状态越过原工位到下一工位。两个动作之间的切换由汽缸的运动来实现。卧式停止器的工作原理结构示意图,如图1所示。
如图1所示,构件1为原动件,转动副O12处于水平右端时,(即汽缸处于最大收缩状态)运动机构整体向下移动,箭头所指位置处于最低,此时放行零件。当运动副O12处于水平左端时,(即汽缸处于最大伸出状态)运动机构整体向上抬起,箭头所指位置处于最高,此时阻挡零件。
图1 卧式停止器结构示意图
注:O12为构件1和构件2之间的转动副;O06为安装座与构件5之间的转动副;O57为构件5与构件7之间的转动副。
2.2 卧式停止器作用力计算及框架尺寸确定
由于卧式停止器只在汽缸顶起机构用来阻止零件通过时才受到力的作用,所以在考虑结构设计时应以此为主要设计目标。考虑到构件6(缓冲器)在整个机构顶起状态时受力方向应与缓冲力在一条线上,缓冲器处于大致水平位置。此时独立分析构件7,发现构件7受到方向一致的水平力F和F67作用,如图2所示。若要使构件7保持平衡,F57必须也要在水平方向上,且作用力方向相反,为保证F57对整个机构不产生多余的弯矩,从而简化设计和方便力的计算和零部件的校核分析,所以设计转动副O57和O05在抬起状态时处于同一水平线(即作用力F57过O05)。满足上述要求后,结合单个构件受力平衡原则和尽量避免弯矩产生原则,局部修改原理结构示意图,阻止零件通过时的结构示意图,如图2所示。主要构件的受力分析。
图2 卧式停止器阻挡状态示意图及应力分析
注:F67构件6对构件7的作用力;氏构件7对构件6的作用力;F05安装座对构件5的作用力。
规定L1=30mm,L3=45mm(汽缸行程),为了使结构保持紧凑,但力又不过于集中,令L2=15mm。为方便求出所有力值,设F=2000N。
由杠杆原理可得:
F67=-F76=F×L1/L2=4000N
F79=-F57=(F+F67)=6000N
如图2所示,在停止零件状态下,构件5处于静止状态,所以M=0。
F45×L3+F76×L2=M=0
由构件5合力为0可得出:
F05={F452+(F75+F76)2}1/2=2450N
3 仿真分析与结构尺寸的确定
由以上介绍可知,阻止托盘前进的作用力,通过滚轮直接作用在构件7上,所以有必要以构件7为首要分析对象,首先根据结构需求先设计出大致外形,在根据所受力仿真分析确定具体结构尺寸,外形设计,如图3所示。
图3 构件7外形结构及尺寸
构件7中间做出一个半月型槽的目的是放置扭簧(槽宽定为6mm),用于保持构件7与构件6始终点面接触。下面应用SolidWorks
simulation软件对构件7做受力分析,通过分析主要确定构件7的结构尺寸,并完善外形。
首先根据停止器结构受力情况,材料选择,添加约束及载荷如下:
材料:普通碳钢。
约束:约束位置在中间孔位置,考虑此处受力方向与载荷力F方向相反,故只选择沿载荷反方向的半个圆柱面作为约束位置。
载荷:按照结构受力分析结果,添加两个载荷,大小分别为F=2000N,F67=4000N,方向如图4所示。
图4 构件7网格划分、应力图
孔(轴)径的确定:因暂无尺寸,无法计算轴所承受的弯矩,因此无法计算出对应作用力的轴颈,故先根据以往设计经验分别令孔的尺寸为:R1=3mm(上端孔),R2=4mm。当构件7的尺寸校核完毕,确定其外形尺寸及夹板间的距离后,再反向计算出轴所承受的弯矩,从而计算出一个新的孔(轴)径值。若结果相符或略小于设定值,则无需再次校核构件7,反之,重新设定孔径,再次校核构件7。
分析结果显示,图上最大应力大于屈服应力,不能满足使用要求,因此需要增加尺寸参数,并修改局部结构,修改原则是使最大应力在(1~1.5)倍的屈服力范围内。
修改方案如下:增大部分的倒角半径;点接触处出现应力集中,采用局部热处理;构件7背侧下端,厚度增加。若修改结果还不理想,可适当增加上端外圆半径和整体厚度,扩大整体结构尺寸。
修改后结构图及应力分析结果,如图5所示。
图5 修改后的构件7应力分布图
由图5可以看出,绝大部分区域,其应力值在5e+7N/m2以下,远小于普通碳钢的屈服力22e+7N/m2,两处应力相对集中的区域最大的应力值为20e+7N/m2,小于屈服力,而局部位移对结构功能的实现不造成影响,故不考虑位移分布。所以结构满足要求,可以定尺寸,并结合这个尺寸确定两个夹板间的距离。
4 具体构件外形设计与建模
基于以上卧式停止器的工作原理示意图进行具体结构设计。原理示意图中,构件1,2,3,4组合效果等价于汽缸,构件6为缓冲器,构件7为长形块,只需在中间添加一个孔与构件5配合形成转动副O57,顶端添加滚轮即可。构件5的设计最为复杂,构件5同时与两个转动副O57和O05,一个滚轮轮相连接,其结构设计,如图6所示。
图6 构件5结构设计图
两个夹板(材料为冷板)的厚度为4mm,缓冲器按缓冲力与缓冲行程选择型号,固定在方块铸铁中,两夹板之间的距离根据构件7的尺寸和缓冲器直径而定。在满足使用要求的情况下,尽量选择小型号缓冲器,保持结构紧凑。
图7 滚子O45结构设计图
左端轴可与构件7形成孔轴转动副,右端轴与两夹板之间形成转动副,右端轴通过两侧螺纹固定于安装座。两夹板下侧面设计成凸轮曲面,曲面的设计应在汽缸45mm行程过程中保证结构顶起高度差在(10~15)mm范围内,用于控制托盘的放行和阻挡。作用在该曲面上的滚子O45(连接构件4和构件5)设计,如图7所示。
图7中两端的滚子分别与两个夹板接触,单个厚度设为5mm,略大于夹板厚度,中间的滚子滚动于安装座上,综合上述重要结构部件的设计,设计出总装配体图,如图8所示。
图8 机械系统构成框图
图8中整体结构设计成对称式,如此设计可使作用力减半,方便缓冲器布局,也避免了结构过长而狭窄的不雅造型。其中扭簧和衬套的作用是保证汽缸稳定的顶起整个机构。卧式停止器处于的两个工作状态,如图9所示。
图9 放行通过、阻止通过
根据起初设计的结构受力分析结果,结合以上构件7的分析方法,考虑尺寸链之间的衔接,可依次确定其它构件的关键位置尺寸。在满足使用要求的前提下,优化局部尺寸,美化外形,尽量的使结构紧凑,小巧。
根据机械原理相关知识的学习,首先设计出了卧式停止器的工作原理结构图,并根据功能要求,考虑结构设计的合理性和可行性,优化了结构原理图。
之后根据优化后的原理图,设计出具体的结构样本,并根据原理图中的受力分析结果,运用分析软件对构件进行受力分析,修改并优化构件使其满足使用要求。最优化理论与方法实验指导书(数学必看) - 天刹的主页
《最优化理论与方法》
实&验&指&导&书
&&&&&&&&&&&&&&&&&&&&&
华北电力大学(北京)
二&零零七&年&&四&月
&&&&&&&&&&&&&&&&&&前&&&&&言
1. 实验总体目标
最优化是从所有可能的方案中选择最合理的一种以达到最优的目标的学科。达到最有目标的方案是最优方案,搜寻最有方案的方法是最优化方法,这种方法的数学理论就是最优化理论。最优化理论和方法主要讨论三方面的内容:
第一, 决策问题的最佳选择之特性;
第二, 构造寻求最优解的计算方法;
第三, 研究这些计算方法的理论性质及其实际计算表现。
最优化问题广泛见于经济计划、工程设计、生产管理、交通运输和国防等重要领域。最优化问题的解决,往往意味着在相同的条件下将获得最优的方案,得到最高的经济效益。因此,最优化方法的应用常常可以带来直接的效益,最优化理论和方法已经受到&政府、科研机构和产业部门的高度重视。作为一门应用性很强的学科,最优化理论和方法是在不断的应用中发展起来的。对于这一学科知识的掌握离不开对具体问题的分析,需要亲自动手去实际尝试。因此,我们特别设计系列实验,帮助学习者对最优化理论与方法的学习。实验总体目标包括以下四个方面:
第一, 帮助学生深入理解最优化理论和方法的基本概念,了解最优化问题的特点及其求解过程,形成优化分析的思维;
第二, 帮助学生理解和掌握常用的最优化方法及其计算分析方法,学会对算法进行定性和定量分析。
第三, 培养学生发现问题、提出问题、并应用所学知识解决问题的能力.
第四, 培养学生的实验精神,锻炼学生结合专业知识,设计数学实验,并借助计算机进行仿真分析的科研能力。
⒉&适用专业
本实验指导书适用于应用数学、运筹学、计算数学、信息与计算、自动化、系统集成与分析以及管理科学与工程等相关专业高年级本科生,也可供相关专业研究生、同等学历自学或研究人员参考。
⒊&先修课程
先期必修课程:高等数学、线性代数、计算机基础、C语言与程序设计、Matlab(或SPSS、SASS、Maple、mathematic等。最好先期必修或选修数值分析、运筹学、计算方法和数学建模以及数据库系统等课程,对相关学科的内容有一定的了解。
⒋&实验课时分配
实验项目 学时
实验一&&直线搜索中搜索区间的确定、对分法和黄金分割法 1+1
实验二&&直线搜索的Newton法、抛物线插值法及其与其他直线搜索算法的对比分析 1+1
实验三&&无约束最优化的最速下降法与Newton法 1+1
实验四&&无约束最优化的共轭方向法与共轭梯度法 1+1
实验五&&无约束最优化的变尺度法:SR1和BFP 1+1
实验六&&无约束最优化方法的对比与分析 1+1
实验七&&无约束最优化的直接方法:单纯形替换法和步长加速法 1+1
实验八&&无约束最优化的直接方法:方向加速法 1+1
实验九&&最小二乘问题及其求解的Gauss-Newton法 1+1
实验十&&最小二乘问题的阻尼最小二乘法 1+1
实验十一&&约束问题优化的容许方向法和投影梯度法 1+1
实验十二&&约束问题优化的惩罚函数法:外部惩罚函数法和内部惩罚函数法 1+1
⒌&实验环境(对实验室、机房、服务器、打印机、投影机、网络设备等配置及数量要求)
要求有独立的实验机房,实验用计算机20台以上,计算机已经安装Matlab等专业软件,可以联网。试验机房最好能够有投影设备或黑板,和一台打印机。
⒍&实验总体要求
&&实验的总体要求包括:
1.&&要求学生能够画出教材中所给算法的框图,并在计算机上编程实现或者学会使用相应的软件程序包.
2.&掌握具体实例的建模与数学表示方法,掌握数据的输入与使用方法.
3.&应用算法对实例进行计算分析,掌握算法的特点和性能,能够对计算结果进行解释说明。
⒎&本实验的重点、难点及教学方法建议
正文为宋体,五号字
目&&&&&&&录
实验一&&直线搜索的搜索区间确定、对分法和Newton切线法 ……………... 3
实验二&&直线搜索的黄金分割法、抛物线插值法及其与其他直线搜索算法的对比分析 ……………... 7
实验三&&无约束最优化的最速下降法与Newton法 ……………... 8
实验四&&无约束最优化的共轭方向法与共轭梯度法 ……………... 11
实验五&&无约束最优化的变尺度法:SR1和DFP方法 ……………... 15
实验六&&无约束最优化方法的对比与分析 ……………...
实验七&&无约束最优化的直接方法:单纯形替换法和步长加速法 ……………...
实验八&&无约束最优化的直接方法:方向加速法 ……………...
实验九&&最小二乘问题及其求解的Gauss-Newton法 ……………...
实验十&&最小二乘问题的阻尼最小二乘法 ……………...
实验十一&&约束问题优化的容许方向法和投影梯度法 ……………...
实验十二&&约束问题优化的惩罚函数法:外部惩罚函数法和内部惩罚函数法 ……………...
实验一&直线搜索的搜索区间确定、对分法和黄金分割法
一、实验目的?
帮助学习者理解直线搜索的概念和过程,体会单峰函数的性质,掌握直线搜索中搜索区间的确定方法,验证搜索步长的选择对搜索区间确定的影响规律。掌握直线搜索的二分法和黄金分割法,并借助实例分析理解这两种算法的特点和性能。
二、实验类型(含验证型、设计型或综合型)
本实验是一个集验证、设计于一体的综合性实验,要求学生根据教材中所给的算法画出流程图,并设计程序实现或者学会使用相关的数学软件,借助实验验证搜索步长的选择对搜索区间确定的影响规律,体会二分法和黄金分割切线法这两种直线搜索算法的特点,并比较它们的性能。
三、实验仪器
实验所用仪器主要是计算机,要求已经安装Matlab&6.0或者Lindo,&Mathematic等数学软件,C或者Visual&C等程序开发软件以及&Office或者其他系列的办公软件。
四、实验原理
所谓直线搜索,又称一维搜索或线性搜索,指的是一类用于单变量函数的最优化方法。这些方法不仅对于解决一维最优化问题本身具有实际意义,同时还是解决多维问题的重要支柱。许多解决多维问题的最优化方法都要用到直线搜索。
1&&直线搜索极小点搜索基础原理
最优化理论与方法在讨论直线搜索问题时,一般都假定目标函数为单峰函数(定义见教材P47,&定义1)。事实上,任何一个一般的单变量函数在其最小点附近总是可以近似为一个单峰函数。在对单峰函数这类典型的单变量函数,进行直线搜索寻求最优解时,首先需要确定一个搜索的范围,即搜索区间(P38定义2),然后利用单峰函数的一个很有用的性质,把搜索区间不断缩小,从而求到目标函数的极小点。该性质可表述为:
定理&48页性质
2&直线搜索中确定搜索区间的进退法的基本原理与算法
在实际计算时,搜索区间的确定有很多种方法,进退法是最为常用一种。它所依据的原理可表述为一个寻求目标函数取值的一个“高、低、高”序列的过程,即首先从选定的初始点&出发,以一定步长&向前搜索一步,比较目标函数在&这两点的取值。这时,如下的两种情况必然有一种且只可能有一种发生:
A:&如果新点的取值比初始点取值小,即&,说明前进的方向可能是使目标函数取值下降的方向,是我们所期望的正确的搜索方向。此时,就将搜索步长加大为原来的两倍,向前继续探索,然后比较得到的最新点&与前一点&的目标函数值。这时也有两种情况:
a若&,则&形成一个“高低高”序列,&就是一个包含目标函数极小点的搜索区间。但是,这时区间长度可能有些大,可以采取比较&和&与&的中间点&的函数值的方法将区间减少三分之一。若&,则取&;否则,取&,作为搜索区间。
b若&,则说明前进的方向是使目标函数取值下降的方向的可能性进一步加大,可以再次将搜索步长加大为原来的两倍,沿着这一方向继续向前探索,直到出现形如&的“高低高”序列,得到搜索区间&,然后采用情形a中比较中间点与后两点中点的方式,将区间宽度减少三分之一,得到最终的搜索区间。
B&如果新点的取值比初始点取值不小即&,说明前进的方向可能不是使目标函数取值下降的方向,因而不是我们期望的正确的搜索方向。此时,退回一步,进行反方向探索,比较&这两点的目标函数值。此时,仍有两种情况:
c如果&,则&,和&三点的目标函数取值情况是&,恰好形成一个“高低高”序列,&可作为搜索区间。
d如果&,这说明这一次前进的方向可能是使目标函数值下降的正确方向,像A中所描述的那样加大步长向前探索,直到出现形如
的“高低高”序列,得到搜索区间&,然后采用情形a中比较中间点与后两点中点的方式,将区间宽度减少三分之一,得到最终的搜索区间。
依据上述原理,我们可给出直线搜索中确定搜索区间的“进退法”如下:
算法1&(确定搜索区间的“进退法”)(参见教材P49)
3&对分法的基本原理与算法
对分法,又称二分法,是直线搜索中最常用的算法之一。对分法假设目标函数具有连续的一阶导数,并且已经求出其显式表达式,搜索区间[a,b]已经确定。根据无约束最优化问题的最优性条件(P33定理1和定理2)可知,目标函数的极小点一定是驻点。因此,对于单变量函数&,若&是目标函数&的极小点,那么它一定是&的驻点,即&成立。因此,单变量函数求极小点的问题可以转化为求驻点的问题,即解方程&的问题。
我们知道,如果&是&的驻点,即&,则在&两侧必然有一侧导函数取值大于零,另一侧取值小于零。我们不妨设在确定的搜索区间的左端点a处导函数取值小于零,右端点处导函数取值大于零,即&。由导函数的连续性,在其中间必然有一点使得导函数取值为零,这一点就是我们要搜寻的极小点。对分法的主要思想是,通过计算区间的中间点及目标函数导函数在该点的取值,如果该值大于零,说明极小点(等于零的点)应该在左侧小区间;如果该值小于零,说明极小点(等于零的点)应该在右侧小区间。这样每计算一次中间点,都可以减少一般的搜索区间,最终搜索到极小点。
算法2&对分法&&&(见教材P54-55)
4&黄金分割法基本原理与算法(见教材P57-60)
五、实验内容和要求
1. 给定目标函数&,分别以初始点&,以初始步长&,确定一个搜索区间。
2. 给定目标函数&,分别以初始点&,以初始步长&确定的搜索区间上,用对分法求目标函数极小点。要求终止限取为&。
3. 给定目标函数&,分别以初始点&,以初始步长&确定的搜索区间上,用黄金分割法求其极小点。要求终止限取为&。
1. 编程实现确定搜索区间的进退法,并借助实例进行检验分析,记录算法的计算结果、迭代次数和运行时间,体会初始点与步长选择,对搜索区间确定过程的影响。
2. 编程实现对分法,并结合实例检验算法,体会其计算过程。
3. 编程实现黄金分割法,并结合实例检验算法,记录算法的计算结果、迭代次数和运行时间,体会其计算过程。
4. 分析上述两种方法的计算过程及结果,领会算法的特点,注意其适用范围与区别。
5. 完成实验报告,写出自己的体会,记录存在的疑问和产生的想法。
六、注意事项
注意搜索区间确定的方法,及其迭代次数、算法运行时间的记录,体会步长对结果的影响,不同算法的特点和适用范围。
七、思考题
能够采用黄金分割法的思想,进行对分搜索?如果可以,请给出算法,并就上面的实例进行计算分析,与黄金分割法以及对分法做比较。
实验二&Newton切线法和抛物线插值法
一、实验目的?
掌握直线搜索的Newton切线法和抛物线插值法,借助实例分析理解这两种算法的特点和性能,并将结果与前次实验的结果进行比较分析。
二、实验类型(含验证型、设计型或综合型)
本实验是一个集验证、设计于一体的综合性实验,要求学生根据教材中所给的算法画出流程图,并设计程序实现或者学会使用相关的数学软件,借助实验验证搜索步长的选择对搜索区间确定的影响规律,体会Newton切线法和抛物线插值这两种直线搜索算法的特点,并比较它们的性能。
三、实验仪器
实验所用仪器主要是计算机,要求已经安装Matlab&6.0或者Lindo,&Mathematic等数学软件,C或者Visual&C等程序开发软件以及&Office或者其他系列的办公软件。
四、实验原理
1&Newton 切线法基本原理与算法
&&&&&对分法只应用了目标函数的导数信息,适用范围较广,但收敛速度较慢。如果目标函数二阶可导且一阶和二阶导数表达式可以算出,这时应用Newton切线法可以更快地求出极小点。
Newton切线法的主要思想是,充分利用目标函数的一阶和二阶导数构造过迭代点的Newton切线
&,&&&&(2.3.1)
然后利用它与横坐标轴的交点作为新的迭代点,即极小点的新的近似。此时,迭代公式可由式(2.3.1)令&解出,即&。
&&&&&算法3&Newton切线法(可参照算法2自己给出)
2&抛物线插值法原理与算法(见教材P60-62)
五、实验内容和要求
1. 给定目标函数&,分别以初始点&,以初始步长&确定的搜索区间上,用Newton切线法求其极小点。要求终止限取为&。
2. 给定目标函数&,分别以初始点&,以初始步长&确定的搜索区间上,用抛物线插值法求其极小点。要求终止限取为&。
1. 编程实现Newton切线法,并结合实例检验算法,记录算法的计算结果、迭代次数和运行时间,体会其计算过程。
2. 编程实抛物线插值法,并结合实例检验算法,记录算法的计算结果、迭代次数和运行时间,体会其计算过程
3. 分析上述两种方法的计算过程及结果,领会算法的特点。
4. 将本实验的结果与上一次实验结果放在一起综合分析,体会四种直线搜索算法的特点、讨论其适用范围,分析其计算过程。
5. 完成实验报告,写出自己的体会,记录存在的疑问和产生的想法。
六、注意事项
注意搜索区间确定的方法,及其迭代次数、算法运行时间的记录,体会步长对结果的影响,不同算法的特点和适用范围。
七、思考题
能够采用抛物线插值法的思想,进行三次插值搜索吗?如果可以,请给出算法,并就上面的实例进行计算分析,与抛物线插值法做比较。
附录&用Matlab解无约束优化问题——一元函数无约束优化问题
1. 一元函数无约束优化问题:&&min&f(x)&&&&
常用格式如下:
(1)x=&fminbnd&(fun,x1,x2)
(2)x=&fminbnd&(fun,x1,x2&,options)
(3)[x,fval]=&fminbnd(...)
(4)[x,fval,exitflag]=&fminbnd(...)
(5)[x,fval,exitflag,output]=&fminbnd(...)
其中(3)、(4)、(5)的等式右边可选用(1)或(2)的等式右边。
&&&函数fminbnd的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解。
例1&&求&&f&=&2&在0&x&8中的最小值与最大值
主程序为wliti1.m:
&&&&&&&&f='2*exp(-x).*sin(x)';
&&&&&&&&fplot(f,[0,8]);&&&&&&&&&%作图语句
&&&&&&&&[xmin,ymin]=fminbnd&(f,&0,8)
&&&&&&&&f1='-2*exp(-x).*sin(x)';
&&&&&&&&[xmax,ymax]=fminbnd&(f1,&0,8)
运行结果:
&&&&&&&&&&xmin&=&3.9270&&&&&&&&ymin&=&-0.0279
&&&&&&&&&&xmax&=&&0.7854&&&&&&&ymax&=&-0.6448
例2&&对边长为3米的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大?
解&设剪去的正方形的边长为x,则水槽的容积为:&。建立无约束优化模型为:min&y=-&,&0&x&1.5&
先编写M文件fun0.m如下:
&&function&f=fun0(x)
&&f=-(3-2*x).^2*x;
主程序为wliti2.m:
&&[x,fval]=fminbnd('fun0',0,1.5);
&&fmax=-fval
运算结果为:&xmax&=&0.5000,fmax&=2.0000.即剪掉的正方形的边长为0.5米时水槽的容积最大,最大容积为2立方米.
4.1.1 求函数极值点
【例4.5-2】求&的极小值点。它即是著名的Rosenbrock's&&Banana&&测试函数,它的理论极小值是&。该测试函数有一片浅谷,许多算法难以越过此谷。
ff=inline('100*(x(2)-x(1)^2)^2+(1-x(1))^2','x'); &&
x0=[-1.2,1];
[sx,sfval,sexit,soutput]=fminsearch(ff,x0)&&
&&&&1.0000&&&&1.0000
soutput&=&
&&&&iterations:&85
&&&&&funcCount:&159
&&&&&algorithm:&'Nelder-Mead&simplex&direct&search'&&
实验三&&无约束最优化的最速下降法与Newton法
一、实验目的?
帮助学习者理解多元函数无约束最优化问题,及其求解的基本迭代格式。深入体会理解并实际掌握无约束最优化的最速下降法与Newton法,分析其适用条件和特点,并借助实例进行实际的体认,在实验中分析评估这两种算法的性能。
二、实验类型(含验证型、设计型或综合型)
本实验是一个集验证、设计于一体的综合性实验,要求学生根据教材中所给的算法设计程序实现算法功能,或者学会使用相关的数学软件求解此类问题。
三、实验仪器
实验所用仪器主要是计算机,要求已经安装Matlab&6.0或者Lindo,&Mathematic等数学软件,C或者Visual&C等程序开发软件以及&Office或者其他系列的办公软件。
四、实验原理
1&最速下降法的原理及算法
最速下降算法是19世纪中叶由大数学家Cauchy提出的求解多元函数极值的数学方法,是最早的无约束学习算法之一。其基本想法是在优化迭代的过程中,每一次确定下一次迭代的探索方向时,都采取当前使目标函数下降最快的方向,即负梯度方向。
算法1(最速下降算法)&参见教材P65-67.
2&Newtona法的原理及算法
最速下降算法往往会产生锯齿现象,影响算法收敛的速度。在目标函数具有二阶连续偏导函数,其hesse矩阵正定并且可以表达成显式表达式的时候,可以采用下述的Newton法。它的基本原理是在迭代的过程中,用过迭代点的某一与目标函数最密切的二次函数来作为目标函数的近似,然后采用该二次函数的最优点作为目标函数最优点的近似,给出显得迭代点,形成完整的迭代过程。
算法2&(Newton法)(参见教材P77-78)
五、实验内容和要求
1. 给定目标函数&,请以&为初始点,采用最速下降算法进行求解,分别给出迭代一次,迭代两次的结果。
2. 给定目标函数&,请以&为初始点,采用Newton法进行求解,迭代要求分别取为&,0.1,0.05。
1. 编程实现最速下降算法,并借助实例进行检验分析,记录算法的一次迭代和二次迭代的计算结果和运行时间,体会最速下降的迭代过程和方法。
2. 编程实现Newton法,并结合实例检验算法,记录算法迭代的计算结果、迭代次数和运行时间,体会其计算过程。
3. 改变终止规则所要求的精度,重复Newton法的实验过程,体会终止规则对算法复杂成都的影响。
4. 分析上述两种方法的计算过程及结果,领会算法的特点,注意其适用范围与区别。
5. 完成实验报告,写出自己的体会,记录存在的疑问和产生的想法。
六、注意事项
注意最速下降方向和hesse矩阵的计算,理解终止规则的使用方法与作用,体会终止精度对计算过程和计算结果的影响,领会两种不同算法的特点。明确其适用范围。
七、思考题
如果目标函数的hesse矩阵很难计算,甚至不能计算时,仍能偶使用Newton法或者newton法的基本思想吗?如果要应用Newton法,应对其做那些改进?&
实验四&&无约束最优化的共轭方向法与共轭梯度法
一、实验目的?
帮助学习者理解多元函数无约束最优化的共轭方向方法,掌握其主要思想和一般的迭代格式。特别地,掌握具体的共轭梯度法,分析其适用条件和特点,并借助实例进行实际的体认,在实验中分析体会评估共轭方向法这类算法的特点和性能。
二、实验类型(含验证型、设计型或综合型)
本实验是一个集验证、设计于一体的综合性实验,要求学生根据教材中所给的算法设计程序实现算法功能,或者学会使用相关的数学软件求解此类问题。
三、实验仪器
实验所用仪器主要是计算机,要求已经安装Matlab&6.0或者Lindo,&Mathematic等数学软件,C或者Visual&C等程序开发软件以及&Office或者其他系列的办公软件。
四、实验原理
1&共轭方向法的主要思想
共轭方向法克服了最速下降算法的锯齿现象,从而可以显著提高算法的收敛速度。同时,它的迭代公式比较简单,不必计算目标函数的二阶导数,与Newton算法相比减少了计算量和存储量。因此,它是比较有效的最优化方法。
共轭方向法的基本想法:
设想在优化迭代的过程中,每次确定新的搜索方向,都选择直接指向最优点的方向。利用数学分析的知识可以证明,该方向恰恰是前一次优化迭代过程的搜索方向的Q共轭方向。对于n元函数的优化问题,可以在n维空间中找出n个互相共轭的方向。从任意初始点出发,顺次沿着这n个共轭方向做n次直线搜索,就可以求到目标函数的极小点或者极小点的一个近似。
算法1&(共轭方向法)&&参见教材P91
2&&共轭梯度法的原理及算法
作为一种具体的共轭方向发,共轭梯度方法采用初始点&处的负梯度方向&作为初始共轭向量&,而以下的各共轭方向&由第&迭代点&处的负梯度方向&和已经得到的共轭向量&的线性组合来确定。具体的迭代公式为
其中搜索方向可以由下式确定
算法2&共轭梯度法&(见教材P96)
五、实验内容和要求
1. 给定目标函数
试生成三个共轭向量,然后用共轭梯度法求解该函数的极小点。初始点可以自由选择,例如可选&等为初始点。
2对上述问题1分别以&为初始点,分别进行求解。
3&变换不同的产生共轭向量的方法,重复上述实验。
1. 掌握共轭向量的生成方法,给出任意一组无关向量,可以由其导出一组共轭向量。
2. 掌握共轭方向法的基本迭代格式。
3. 编程实现共轭梯度法,并借助实例进行检验分析,记录算法的一次迭代和二次迭代的计算结果和运行时间,体会共轭方向发的搜索过程和方法。
4. 变更初始无关向量组,产生不同的共轭方向组,验证共轭梯度方法的适应性。
5. 改变初始点选择,重复上述的实验过程,体会初始点对算法的影响。
6. 完成实验报告,写出自己的体会,记录存在的疑问和产生的想法。
六、注意事项
注意共轭方向的产生和hesse矩阵的计算,体会终止精度对计算过程和计算结果的影响,领会两种不同算法的特点。明确其适用范围。
七、思考题
如果目标函数的hesse矩阵很难计算,甚至不能计算时,仍能够使用共轭方向法吗?此时,应对算法做那些改进?&
实验五&&无约束最优化的变尺度法:SR1和DFP方法
一、实验目的?
帮助学习者理解多元函数无约束最优化的变尺度方法,领会其主要思想,并掌握具体的对称秩1(SR1)方法和DFP方法方法,分析其适用条件和特点,并借助实例进行实际的体认,在实验中分析体会评估变尺度法算法的特点和性能。
二、实验类型(含验证型、设计型或综合型)
本实验是一个集验证、设计于一体的综合性实验,要求学生根据教材中所给的算法设计程序实现算法功能,或者学会使用相关的数学软件求解此类问题。
三、实验仪器
实验所用仪器主要是计算机,要求已经安装Matlab&6.0或者Lindo,&Mathematic等数学软件,C或者Visual&C等程序开发软件以及&Office或者其他系列的办公软件。
四、实验原理
1&变尺度方法的主要思想
变尺度方法,又称拟Newton方法。它既可以看作是最速下降法的推广,有可以看作是Newton方法的推广。它的基本思想是在保持Newton法的收敛速度快的特点的基础上,避免关于Hesse矩阵的计算的困难。具体的实现方法是采用Hesse矩阵的某个容易求得的近似矩阵替代Hesse矩阵进行迭代计算。即将Newton迭代公式
中的Hesse矩阵逆矩阵&用一个容易计算的矩阵&来近似。此时,迭代公式变为
实质上,式中&无非是确定了第k次迭代的搜索方向。为了取得更大的灵活性,我们考虑更一般的迭代公式
其中步长因子&通过从&出发,沿&作直线搜索来确定。这是一类代表面很广的一类迭代公式,其中&时,该公式退化为最速下降算法的迭代公式。
&&&&为了保证&确实与Hesse矩阵逆矩阵&近似且容易计算,对&附加对称正定和迭代计算简单的条件,并要求它满足拟Newton条件
&&&&显然,&是最简单的迭代计算形式之一,其中&称为校正矩阵。采用不同的的替代矩阵的产生方法,对应着不同的变尺度法,但它们都满足如下的统一的变尺度算法的一般格式。
算法1&(变尺度法)&&参见教材P104
2&&对称秩1法的原理及算法
对称秩1(SR1)方法和DFP方法是变尺度算法中比较常用的两种。作为一种具体的变尺度方法,对称秩1法采用如下的校正公式
其中&是n维待定非零向量,&是待定常数。这时,校正矩阵&是一个对称秩1矩阵,是最简单的矩阵之一。根据校正公式应当满足的条件,最后定出对称秩1校正公式如下
算法2对称秩1法&(见教材P106)
3&&DFP算法
作为一种具体的变尺度方法,DFP方法采用如下的校正公式
其中&是n维待定非零向量,&是待定常数。这时,校正矩阵&具有比较容易计算的特点。根据校正公式应当满足的条件,最后定出DFP方法校正公式如下
算法3&&DFP算法&(见教材P114)
五、实验内容和要求
1. 给定目标函数
试用对称秩1(SR1)方法求该函数的极小点。初始点&,初始矩阵选为单位矩阵。
2. 给定目标函数
试用DFP算法求该函数的极小点。初始点&,初始矩阵选为单位矩阵。
3.&验证上述两种方法所生成的两个搜索方向都是Q共轭方向。
1. 理解变尺度法的主要思想,掌握变尺度法的一般迭代格式。
2. 编程实现对称秩1(SR1)&变尺度法,并借助实例进行检验分析,记录算法的一次迭代和二次迭代的计算结果和运行时间,体会其搜索过程和方法。
3. 编程实现DFP算法,并借助实例进行检验分析,记录算法的一次迭代和二次迭代的计算结果和运行时间,体会其搜索过程和方法。
4. 验证上述两种方法所生成的两个搜索方向都是Q共轭方向。
5. 变更初始无关向量组,改变初始点选择,重复上述的实验过程,验证共轭梯度方法的适应性。
6. 完成实验报告,写出自己的体会,记录存在的疑问和产生的想法。
六、注意事项
注意校正公式的设计和待定参数和常数的确定方法,拟Newton条件的推导和应用。
七、思考题
请尝试给出一种新的校正公式。&
实验六&&无约束最优化方法的对比与分析
一、实验目的?
帮助学习者复习多元函数无约束最优化的基于梯度的方法,领会这些方法的主要思想,并理解这些方法的特点和适用范围,并借助实例进行实际的体认,在实验中分析体会评估算法的特点和性能。
二、实验类型(含验证型、设计型或综合型)
本实验是一个集验证、设计于一体的综合性实验,要求学生根据教材中所给的算法设计程序实现算法功能,或者学会使用相关的数学软件求解此类问题。
三、实验仪器
实验所用仪器主要是计算机,要求已经安装Matlab&6.0或者Lindo,&Mathematic等数学软件,C或者Visual&C等程序开发软件以及&Office或者其他系列的办公软件。
四、实验原理
&&&&基于梯度或者Hesse矩阵等偏导数信息的最优化方法是一类重要的无约束问题最优化的间接方法。他们一般收敛速度较快。但缺点是要求目标函数具有连续的一阶或二阶偏导数,并且其偏导数能够由显式表达式,有时还要求Hesse矩阵对称正定。由于需要计算梯度和Hesse矩阵,因此,一般计算量较大。
&&&&不同的方法有不同的特点,对目标函数也有各自不同的要求。本实验借助实例对算法进行验证分析,总结算法的特点和适用条件。
五、实验内容和要求
1. 给定目标函数
初始点&,初始矩阵选为单位矩阵。试用对称秩1(SR1)方法求该函数的极小点。
2. 给定目标函数
初始点&,初始矩阵选为单位矩阵。试用DFP算法求该函数的极小点。
3. 给定目标函数
初始点&,分别用最速下降法、Newton法和共轭梯度法求解该问题的极小点。
1. 理解无约束最优化问题的间接方法的主要思想,掌握各主要算法及其计算过程。
2. 总结给出上述各种无约束最优化方法所要求的条件,及其主要优缺点。
3. 借助实例体会上述算法的特点,并对它们的表现进行比较分析。
4. 完成实验报告,写出自己的体会,记录存在的疑问和产生的想法。
六、注意事项
注意各种无约束最优化方法所要求的条件。
七、思考题
如果目标函数的偏导数信息很难获取,应当如何实现目标函数的优化求解?&
附录&用Matlab解无约束优化问题——一2、多元函数无约束优化问题
标准型为:min&F(X)
命令格式为:
(1)x=&fminunc(fun,X0&);或x=fminsearch(fun,X0&)
(2)x=&fminunc(fun,X0&,options);
&&&&&或x=fminsearch(fun,X0&,options)
(3)[x,fval]=&fminunc(...);
&&&&&或[x,fval]=&fminsearch(...)
(4)[x,fval,exitflag]=&fminunc(...);
&&&&&或[x,fval,exitflag]=&fminsearch
(5)[x,fval,exitflag,output]=&fminunc(...);
&&&&&或[x,fval,exitflag,output]=&fminsearch(...)
• fminsearch是用单纯形法寻优.&fminunc的算法见以下几点说明:
[1]&fminunc为无约束优化提供了大型优化和中型优化算法。由options中的参数LargeScale控制:
LargeScale=’on’(默认值),使用大型算法
LargeScale=’off’(默认值),使用中型算法
[2]&fminunc为中型优化算法的搜索方向提供了4种算法,由options中的参数HessUpdate控制:
HessUpdate=’bfgs’(默认值),拟牛顿法的BFGS公式;
HessUpdate=’dfp’,拟牛顿法的DFP公式;
HessUpdate=’steepdesc’,最速下降法
[3]&fminunc为中型优化算法的步长一维搜索提供了两种算法,
&&&&由options中参数LineSearchType控制:
LineSearchType=’quadcubic’(缺省值),混合的二次和三次多项式插值
LineSearchType=’cubicpoly’,三次多项式插
注:使用fminunc和&fminsearch可能会得到局部最优解.
例3&min&f(x)=(4x12+2x22+4x1x2+2x2+1)*exp(x1)
1、编写M-文件&fun1.m:
&&&&function&f&=&fun1&(x)
&&&&f&=&exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);
&2、输入M文件wliti3.m如下:
&&&&&&&x0&=&[-1,&1];
&&&&&&&x=fminunc(‘fun1’,x0);
&&&&&&&y=fun1(x)
3、运行结果:
&&&&&&&x=&&&0.5000&&&&&-1.0000
&&&&&&&y&=&&&1.3029e-10
例4 &&Rosenbrock&函数&f(x1,x2)=100(x2-x12)2+(1-x1)2&的最优解(极小)为x*=(1,1),极小值为f*=0.试用不同算法(搜索方向和步长搜索)求数值最优解.&初值选为x0=(-1.2&,&2).
为获得直观认识,先画出Rosenbrock&&函数的三维图形,
&&输入以下命令:
&&&&&[x,y]=meshgrid(-2:0.1:2,-1:0.1:3);
&&&&&z=100*(y-x.^2).^2+(1-x).^2;
&&&&&mesh(x,y,z)
2.&画出Rosenbrock&&函数的等高线图,输入命令:
&&&&&contour(x,y,z,20)
&&&&&hold&on
&&&&&plot(-1.2,2,'&o&');
&&&&&text(-1.2,2,'start&point')
&&&&&plot(1,1,'o')
&&&&&text(1,1,'solution')
3.用fminsearch函数求解
&&&f='100*(x(2)-x(1)^2)^2+(1-x(1))^2';
&&&[x,fval,exitflag,output]=fminsearch(f,&[-1.2&2])
&&&&&&&x&=1.0000&&&&1.0000
exitflag&=&1
&&&&&&&&&&&&&iterations:&108
&&&&&&&&&&&&&funcCount:&202
&&&&&&&&&&&&algorithm:&'Nelder-Mead&simplex&direct&search'
4.&用fminunc&函数
(1)建立M-文件fun2.m&
&&&&&&&&&&function&f=fun2(x)
&&&&&&&&&&f=100*(x(2)-x(1)^2)^2+(1-x(1))^2
(2)主程序wliti44.m
Rosenbrock函数不同算法的计算结果
搜索方向 步长搜索 最优解 最优值 迭代次数
&&BFGS 混合二、三次插值 (0.2) 2.3109&
三次插值 (1.2) 2.3943&
&&&DFP 混合二、三次插值 (0.0) 2.6223&
三次插值 (0.5) 0.
最速下降 混合二、三次插值 (-1.0) 4.
(0.6 1.8543&
(1.0) 1.9151&
可以看出,最速下降法的结果最差.因为最速下降法特别不适合于从一狭长通道到达最优解的情况.
例5&&产销量的最佳安排
&&&&某厂生产一种产品有甲、乙两个牌号,讨论在产销平衡的情况下如何确定各自的产量,使总利润最大.&所谓产销平衡指工厂的产量等于市场上的销量.
z(x1,x2)表示总利润;
p1,q1,x1分别表示甲的价格、成本、销量;&
p2,q2,x2分别表示乙的价格、成本、销量;
&&&&aij,bi,λi,ci(i,j&=1,2)是待定系数.
1.价格与销量成线性关系
利润既取决于销量和价格,也依赖于产量和成本。按照市场规律,甲的价格p1会随其销量x1的增长而降低,同时乙的销量x2的增长也会使甲的价格有稍微的下降,可以简单地假设价格与销量成线性关系,即:&p1&=&b1&-&a11&x1&-&a12&x2&,b1,a11,a12&&&0,且a11&&&a12;同理,&p2&=&b2&-&a21&x1-&a22&x2&,b2,a21,a22&&&0,且a22&&&a21&.
2.成本与产量成负指数关系
甲的成本随其产量的增长而降低,且有一个渐进值,可以假设为
负指数关系,即:
&&&&&&&&&&&
同理,&&&&&&
总利润为:&z(x1,x2)=(p1-q1)x1+(p2-q2)x2
若根据大量的统计数据,求出系数b1=100,a11=1,a12=0.1,b2=280,a21=0.2,a22=2,r1=30,λ1=0.015,c1=20,&r2=100,λ2=0.02,c2=30,则问题转化为无约束优化问题:求甲,乙两个牌号的产量x1,x2,使
总利润z最大.
为简化模型,先忽略成本,并令a12=0,a21=0,问题转化为求:
&&&&&&&&z1&=&(&b1&-&a11x1&)&x1&+&(&b2&-&a22x2&)&x2&
的极值.&显然其解为x1&=&b1/2a11&=&50,&x2&=&b2/2a22&=&70,我们把它作为原问题的初始值.
1.建立M-文件fun.m:&&
&&&&&&function&f&=&fun(x)
&&&&&&y1=((100-x(1)-&0.1*x(2))-(30*exp(-0.015*x(1))+20))*x(1);
&&&&&&y2=((280-0.2*x(1)-&2*x(2))-(100*exp(-0.02*x(2))+30))*x(2);
&&&&&&f=-y1-y2;
2.输入命令:
&&&&&&x0=[50,70];
&&&&&&x=fminunc(‘fun’,x0),
&&&&&&z=fun(x)
3.计算结果:
&&&&&&x=23.7,&&z=6.
&即甲的产量为23.9025,乙的产量为62.4977,最大利润为6413.5.
实验七&&无约束最优化的直接方法:单纯形替换法、步长加速法和方向加速法
一、实验目的?
帮助学习者理解掌握多元函数无约束最优化的两种直接方法,即单纯形替换发和步长加速法。在领会这些方法的主要思想,并理解这些方法的特点和适用范围的基础上,借助MATLAB工具进行实例计算,在实验实践中分析体会评估算法的特点和性能,掌握基于单纯形替换和步长加速方法的优化计算技术。
二、实验类型(含验证型、设计型或综合型)
本实验是一个集验证、设计于一体的综合性实验,要求学生根据教材中所给的算法设计程序实现算法功能,或者学会使用相关的数学软件求解此类问题。
三、实验仪器
实验所用仪器主要是计算机,要求已经安装Matlab&6.0(或更高版本)或者Lindo,&Mathematic等数学软件,C或者Visual&C等程序开发软件以及&Office或者其他系列的办公软件。
四、实验原理
无约束最优化的直接方法不需要计算目标函数的导数。因此,只要目标函数是连续的,这些方法就可以应用。与基于梯度或者Hesse矩阵等偏导数信息的最优化方法相比,直接方法的收敛速度要慢一些,迭代次数较多。本实验主要通过实例分析,促进大家对单纯形替换法和步长加速法的理解,掌握这两种无约束最优化问题的直接优化技术。
4.1&单纯形替换法的基本思想
在n维实数空间中,单纯形是指具有n+1个顶点的多面体。若各个棱长彼此相等,则称为正规单纯形。单纯形替换法首先(随机)选定初始点后,按公式(4.1.1)或(4.1.6)形成初始单纯形;随后,从这一单纯形出发,每次迭代搜索都设法构造一个新的单纯形,替换原有的单纯形,使新单纯形不断向目标函数的极小点靠近,直到搜到极小点为止。搜索迭代产生新单纯形的方法主要有四种操作:反射、延伸、收缩和缩小棱长。
算法&单纯形替换法
详见课本第138-141页,请大家自己录入!
4.2&步长加速法的基本思想
步长加速法是由HOOKE和Jeeves在1961年提出的一种直接优化方法。对于变量数目较少的无约束优化问题,这是一种程序简单而又比较有效的方法。
选定初始点&和初始步长向量&,其中&的分量都是正数,可以相等也可以不等,可以根据实际问题的需要来选定。步长加速法主要由交替进行的“探测搜索”和“模式移动”组成。探测搜索的出发点称为参考点,用&表示。探测搜索的目的是在参考点周围寻找比他更好的点,从而确定一个有利的前进方向。如果能够找到这样的点,那么称其为基点,用&来表示。这时有&。自然想到,从b出发,沿b-r方向,目标函数有可能下降。这样的向量称为“模式”。在利用探测搜索确定出可能的模式之后,下一步就是模式移动,其计算公式为
&&&&&&&&&&&&&&&&&&&&&&&&&(4.2.1)
其中&,一般取值为1。当然,&得取值也可用直线搜索技术来确定。
模式移动的起点是基点,终点是新的参考点。从新的参考点出发,可以重新开始探测搜索过程。这样,探测搜索和模式移动可以交替进行,使得迭代点逐渐向极小点靠近。
算法&步长加速法&&(详见课本145-149,请大家自己录入)
4.3&方向加速法
方向加速法最早由Powell于1964年提出,因此又称为Powell算法。到目前为止,在直接方法中,这种方法是最有效的。它在研究具有正定矩阵&的二次函数
的极小化问题时形成其主要思想,然后推广到一般函数的优化问题。
方向加速法的主要思想是在不用导函数的前提下,迭代中逐次构造&共轭方向。因此,Powell算法本质上属于共轭方向法,从而一般具有较高的收敛速度。
算法3&&Powell基本算法&(详见课本第152-153,请大家自己录入)
算法4&改进的Powell算法(详见课本第165-166,请大家自己录入)
五、实验内容和要求
1.&给定目标函数
1) 初始点&,初始单纯形取为正三角形,边长取为&。试用单纯形替换法求该函数的极小点,要求迭代到把坐标远点包含在单纯形之内为止,记录迭代次数,并画出单纯形的替换情况,计算中小数点后保留四位。
2) 初始点&,初始单纯形取为正三角形,边长取为&,1.2,1.6,2。试用单纯形替换法求该函数的极小点,要求迭代到把坐标远点包含在单纯形之内为止,记录迭代次数,并画出单纯形的替换情况,计算中小数点后保留四位。
3) 初始点&,初始单纯形取为正三角形,边长取为&。试用单纯形替换法求该函数的极小点,要求迭代到把坐标远点包含在单纯形之内为止,记录迭代次数,并画出单纯形的替换情况,计算中小数点后保留四位。
2.&试用步长加速法求解下列问题,并且画出迭代点的移动路径。
1) 初始点&,初始步长选为&,终止规则为&。
2) 初始点&,初始步长选为&,终止规则为&。
3) 初始点&,初始步长选为&,终止规则为&。
4) 初始点&,初始步长选为&,终止规则为&。
5) 初始点&,初始步长选为&,终止规则为&。
6) 初始点&,初始步长选为&,终止规则为&。
3. 试用Powell基本算法求解下列问题,并记录迭代次数,计算时间。
1) 初始点&,终止限&;
2) 初始点&,终止限&;
3) 初始点&,终止限&;
4) 初始点&,终止限&;
5) 初始点&,终止限&;
6) 初始点&,终止限&;
1. 理解无约束最优化问题的直接方法的主要思想,掌握单纯形替换法和步长加速法等主要算法。
2. 总结给出上述两种无约束最优化方法所要求的条件,及其主要优缺点。
3. 借助实例体会上述算法的特点,并对它们的表现进行比较分析。
4. 完成实验报告,写出自己的体会,记录存在的疑问和产生的想法。
六、注意事项
注意各种无约束最优化方法所要求的条件。
七、思考题
如果目标函数的不连续,还能使用单纯形替换或者步长加速算法进行极小点求解吗?请举例说明&
实验九&最小二乘问题及其求解的Gauss-Newton法
一、实验目的?
帮助学习者理解应用中常见的最小二乘问题,并掌握其求解的一种方法,即Gauss-Newton法。在领会该方法的主要思想,理解这些方法的特点和适用范围的基础上,掌握借助MATLAB工具实现最小二乘问题求解的计算技术,并结合实例体会算法的特点及其适用范围。
二、实验类型(含验证型、设计型或综合型)
本实验是一个集验证、设计于一体的综合性实验,要求学生根据教材中所给的算法设计程序实现算法功能,或者学会使用相关的数学软件求解此类问题。
三、实验仪器
实验所用仪器主要是计算机,要求已经安装Matlab&6.0(或更高版本)或者Lindo,&Mathematic等数学软件,C或者Visual&C等程序开发软件以及&Office或者其他系列的办公软件。
四、实验原理
在工程实际问题的处理过程中,常常会遇到寻求回归方程的问题,即根据一组实验数据建立两个或多个物理量(俗称因素)之间在统计意义上的依赖关系式。对于此类问题,人们最为常用的方法就是所谓的“最小二乘法”。
4.1&最小二乘法的基本原理
最小二乘法通过最小化模型预测数据与真实观测数据之间误差的平方和找到一组数据的最佳函数匹配。例如,从整体上考虑近似函数&同所给数据点&(i=0,1,…,m)误差&(i=0,1,…,m)?的大小,常用的方法有以下三种:
一是误差&(i=0,1,…,m)绝对值的最大值&,即误差&向量&的∞—范数;
二是误差绝对值的和&,即误差向量r的1—范数;
三是误差平方和&的算术平方根,即误差向量r的2—范数。
前两种方法简单、自然,但不便于微分运算,后一种方法相当于考虑&2—范数的平方,可得到一类特殊的二次函数,而二次函数具有连续、可导的性质,并且在最优化理论中已经得到较多的研究,由成熟的求解分析方法。因此在曲线拟合等问题中中常采用误差平方和&来&度量误差&(i=0,1,…,m)的整体大小,然后借助误差函数的最小化来确定某些未知参数。例如,数据拟合常见的具体作法是:对给定数据&&&(i=0,1,…,m),在取定的函数类&中,求&,使误差&(i=0,1,…,m)的平方和最小,即求解如下的最优化问题
从几何意义上讲,就是寻求与给定点&(i=0,1,…,m)的距离平方和为最小的曲线?&。函数&称为拟合&函数或最小二乘解,求拟合函数&的方法称为曲线拟合的最小二乘法。
作为一种常见的最优化方法,最小二乘法通常用于曲线拟合,模式识别和参数估计,但很多其他的优化问题也可通过最小化能量或最大化熵用最小二乘形式表达。
4.2&求解线性最小二乘问题的QR分解方法
考虑线性最小二乘问题
&&&&&&&&&&&&&&&&&&&(9.1)
其中&,&,&,并设&.
若矩阵Q是&正交矩阵,则
此式说明以&为目标函数的线形最小二乘问题与问题(9.1)具有相同的解。因此,求解问题(9.1)可转化为求解
由线性代数的知识可以知道,适当地选择正交矩阵Q,总可以使&呈现为具有如下形式的矩阵:
其中,0是&零矩阵,&是&的秩为&的上梯形矩阵。
等式&可改写为
因此,该变换又称为矩阵A的QR分解。
&&&&&综上所述,只要能够找到一个合适的正交矩阵Q实现矩阵A的QR分解,就可以将求(9.1)极小点问题转化为求一个具有上梯形系数矩阵的线性方程组的问题。我们知道,具有上梯形系数矩阵的线性
五、实验内容和要求
1.&给定目标函数
i. 初始点&,初始单纯形取为正三角形,边长取为&。试用单纯形替换法求该函数的极小点,要求迭代到把坐标远点包含在单纯形之内为止,记录迭代次数,并画出单纯形的替换情况,计算中小数点后保留四位。
ii. 初始点&,初始单纯形取为正三角形,边长取为&,1.2,1.6,2。试用单纯形替换法求该函数的极小点,要求迭代到把坐标远点包含在单纯形之内为止,记录迭代次数,并画出单纯形的替换情况,计算中小数点后保留四位。
iii. 初始点&,初始单纯形取为正三角形,边长取为&。试用单纯形替换法求该函数的极小点,要求迭代到把坐标远点包含在单纯形之内为止,记录迭代次数,并画出单纯形的替换情况,计算中小数点后保留四位。
2.&试用步长加速法求解下列问题,并且画出迭代点的移动路径。
b) 初始点&,初始步长选为&,终止规则为&。
c) 初始点&,初始步长选为&,终止规则为&。
d) 初始点&,初始步长选为&,终止规则为&。
e) 初始点&,初始步长选为&,终止规则为&。
f) 初始点&,初始步长选为&,终止规则为&。
g) 初始点&,初始步长选为&,终止规则为&。
2 试用Powell基本算法求解下列问题,并记录迭代次数,计算时间。
a) 初始点&,终止限&;
b) 初始点&,终止限&;
c) 初始点&,终止限&;
d) 初始点&,终止限&;
e) 初始点&,终止限&;
f) 初始点&,终止限&;
i. 理解无约束最优化问题的直接方法的主要思想,掌握单纯形替换法和步长加速法等主要算法。
ii. 总结给出上述两种无约束最优化方法所要求的条件,及其主要优缺点。
iii. 借助实例体会上述算法的特点,并对它们的表现进行比较分析。
iv. 完成实验报告,写出自己的体会,记录存在的疑问和产生的想法。
六、注意事项
注意各种无约束最优化方法所要求的条件。
七、思考题
如果目标函数的不连续,还能使用单纯形替换或者步长加速算法进行极小点求解吗?请举例说明&
&&&&&&&&&&&&
注:由于Matlab软件版本不同等原因,本附录所列代码程序都可能还需修改!请参考Matlab的帮助文件,调整命令的格式。
实验七&无约束最优化的直接方法
&&&&&&&&&&&&&&&&&&——单纯形替换法和步长加速法
一、实验目的?
帮助学习者理解掌握多元函数无约束最优化的两种直接方法,即单纯形替换法和步长加速法。在领会这些方法的主要思想,并理解这些方法的特点和适用范围的基础上,借助MATLAB工具进行实例计算,在实验实践中分析体会评估算法的特点和性能,掌握基于单纯形替换和步长加速方法的优化计算技术。
二、实验类型(含验证型、设计型或综合型)
本实验是一个集验证、设计于一体的综合性实验,要求学生根据教材中所给的算法设计程序实现算法功能,或者学会使用相关的数学软件求解此类问题。
三、实验仪器
实验所用仪器主要是计算机,要求已经安装Matlab&6.0(或更高版本)或者Lindo,&Mathematic等数学软件,C或者Visual&C等程序开发软件以及&Office或者其他系列的办公软件。
四、实验原理
无约束最优化的直接方法不需要计算目标函数的导数。因此,只要目标函数是连续的,这些方法就可以应用。与基于梯度或者Hesse矩阵等偏导数信息的最优化方法相比,直接方法的收敛速度要慢一些,迭代次数较多。本实验主要通过实例分析,促进大家对单纯形替换法和步长加速法的理解,掌握这两种无约束最优化问题的直接优化技术。
4.1&单纯形替换法的基本思想
在n维实数空间中,单纯形是指具有n+1个顶点的多面体。若各个棱长彼此相等,则称为正规单纯形。单纯形替换法首先(随机)选定初始点后,按公式(4.1.1)或(4.1.6)形成初始单纯形;随后,从这一单纯形出发,每次迭代搜索都设法构造一个新的单纯形,替换原有的单纯形,使新单纯形不断向目标函数的极小点靠近,直到搜到极小点为止。搜索迭代产生新单纯形的方法主要有四种操作:反射、延伸、收缩和缩小棱长。
算法&单纯形替换法
详见课本第138-141页,请大家自己录入!
4.2&步长加速法的基本思想
步长加速法是由HOOKE和Jeeves在1961年提出的一种直接优化方法。对于变量数目较少的无约束优化问题,这是一种程序简单而又比较有效的方法。
选定初始点&和初始步长向量&,其中&的分量都是正数,可以相等也可以不等,可以根据实际问题的需要来选定。步长加速法主要由交替进行的“探测搜索”和“模式移动”组成。探测搜索的出发点称为参考点,用&表示。探测搜索的目的是在参考点周围寻找比他更好的点,从而确定一个有利的前进方向。如果能够找到这样的点,那么称其为基点,用&来表示。这时有&。自然想到,从b出发,沿b-r方向,目标函数有可能下降。这样的向量称为“模式”。在利用探测搜索确定出可能的模式之后,下一步就是模式移动,其计算公式为
&&&&&&&&&&&&&&&&&&&&&&&&&(4.2.1)
其中&,一般取值为1。当然,&得取值也可用直线搜索技术来确定。
模式移动的起点是基点,终点是新的参考点。从新的参考点出发,可以重新开始探测搜索过程。这样,探测搜索和模式移动可以交替进行,使得迭代点逐渐向极小点靠近。
算法&步长加速法&&(详见课本145-149,请大家自己录入)
五、实验内容和要求
1.&给定目标函数
4) 初始点&,初始单纯形取为正三角形,边长取为&。试用单纯形替换法求该函数的极小点,要求迭代到把坐标远点包含在单纯形之内为止,记录迭代次数,并画出单纯形的替换情况,计算中小数点后保留四位。
5) 初始点&,初始单纯形取为正三角形,边长取为&,1.2,1.6,2。试用单纯形替换法求该函数的极小点,要求迭代到把坐标远点包含在单纯形之内为止,记录迭代次数,并画出单纯形的替换情况,计算中小数点后保留四位。
6) 初始点&,初始单纯形取为正三角形,边长取为&。试用单纯形替换法求该函数的极小点,要求迭代到把坐标远点包含在单纯形之内为止,记录迭代次数,并画出单纯形的替换情况,计算中小数点后保留四位。
2.&试用步长加速法求解下列问题,并且画出迭代点的移动路径。
7) 初始点&,初始步长选为&,终止规则为&。
8) 初始点&,初始步长选为&,终止规则为&。
9) 初始点&,初始步长选为&,终止规则为&。
10) 初始点&,初始步长选为&,终止规则为&。
11) 初始点&,初始步长选为&,终止规则为&。
12) 初始点&,初始步长选为&,终止规则为&。
3.分别用单纯形替换法和步长加速法求解课本第166页习题3和4,记录迭代次数和计算时间,并与实验八的实验结果进行比较
1. 理解无约束最优化问题的直接方法的主要思想,掌握单纯形替换法和步长加速法等主要算法。要求实验报告中给出这两种算法。
2. 总结给出上述两种无约束最优化方法所要求的条件,及其主要优缺点。
3. 借助实例体会上述算法的特点,并对它们的表现进行比较分析。
4. 完成实验报告,写出自己的体会,记录存在的疑问和产生的想法。
六、注意事项
注意各种无约束最优化方法所要求的条件。
七、思考题
如果目标函数的不连续,还能使用单纯形替换或者步长加速算法进行极小点求解吗?请举例说明&
实验八&无约束最优化的直接方法
&&&&&&&&&&&&&&&&&&——方向加速法和改进的方向加速法
一、实验目的?
帮助学习者理解掌握多元函数无约束最优化最优常用的一种直接方法,即方向加速法(Powell法)。在领会该方法主要思想,并理解这些方法的特点和适用范围的基础上,借助MATLAB工具进行实例计算,在实验实践中分析体会评估算法的特点和性能,掌握基于方向加速法的优化计算技术。
二、实验类型(含验证型、设计型或综合型)
本实验是一个集验证、设计于一体的综合性实验,要求学生根据教材中所给的算法设计程序实现算法功能,或者学会使用相关的数学软件求解此类问题。
三、实验仪器
实验所用仪器主要是计算机,要求已经安装Matlab&6.0(或更高版本)或者Lindo,&Mathematic等数学软件,C或者Visual&C等程序开发软件以及&Office或者其他系列的办公软件。
四、实验原理
方向加速法最早由Powell于1964年提出,因此又称为Powell算法。到目前为止,在直接方法中,这种方法是最有效的。它在研究具有正定矩阵&的二次函数
的极小化问题时形成其主要思想,然后推广到一般函数的优化问题。
4.1&Powell基本算法的主要思想与算法
方向加速法的主要思想是在不用导函数的前提下,迭代中逐次构造&共轭方向。因此,Powell算法本质上属于共轭方向法,从而一般具有较高的收敛速度。
算法3&&Powell基本算法&(详见课本第152-153,请大家自己录入)
4.2&改进的Powell基本算法的主要思想与算法
算法4&改进的Powell算法(详见课本第165-166,请大家自己录入)
五、实验内容和要求
1. 试用Powell基本算法求解下列问题,并记录迭代次数,计算时间。
1) 初始点&,终止限&;
2)&初始点&,终止限&;
3)&初始点&,终止限&;
4)&初始点&,终止限&;
5)&初始点&,终止限&;
6)&初始点&,终止限&;
2. 给定最优化问题
1) 初始点&,终止限&;试用Powell基本算法求解该问题,并记录迭代次数,计算时间,验证第二阶段的搜索方向变为线性相关。
2)初始点&,终止限&;试用改进的Powell基本算法求解该问题,并记录迭代次数,计算时间,验证第二阶段的搜索方向变为线性相关。
3.分别用Powell基本算法求解课本第166页习题1和2,记录迭代次数和计算时间,并与实验7的实验结果进行比较
3 理解无约束最优化问题的直接方法的主要思想,掌握方向加速法的算法,实验报告中给出该算法。
4 总结给出上述三种无约束最优化方法所要求的条件,及其主要优缺点。
5 借助实例体会上述算法的特点,并对它们的表现进行比较分析。
6 完成实验报告,写出自己的体会,记录存在的疑问和产生的想法。
六、注意事项
注意各种无约束最优化方法所要求的条件。
七、思考题
如果目标函数的不连续,还能使用单纯形替换或者步长加速算法进行极小点求解吗?请举例说明
实验九&最小二乘问题及其求解的Gauss-Newton法
一、实验目的?
帮助学习者理解应用中常见的最小二乘问题,并掌握其求解的一种方法,即Gauss-Newton法。在领会该方法的主要思想,理解这些方法的特点和适用范围的基础上,掌握借助MATLAB工具实现最小二乘问题求解的计算技术,并结合实例体会算法的特点及其适用范围。
二、实验类型(含验证型、设计型或综合型)
本实验是一个集验证、设计于一体的综合性实验,要求学生根据教材中所给的算法设计程序实现算法功能,或者学会使用相关的数学软件求解此类问题。
三、实验仪器
实验所用仪器主要是计算机,要求已经安装Matlab&6.0(或更高版本)或者Lindo,&Mathematic等数学软件,C或者Visual&C等程序开发软件以及&Office或者其他系列的办公软件。
四、实验原理
在工程实际问题的处理过程中,常常会遇到寻求回归方程的问题,即根据一组实验数据建立两个或多个物理量(俗称因素)之间在统计意义上的依赖关系式。对于此类问题,人们最为常用的方法就是所谓的“最小二乘法”。
4.1&最小二乘法的基本原理
最小二乘法通过最小化模型预测数据与真实观测数据之间误差的平方和找到一组数据的最佳函数匹配。例如,从整体上考虑近似函数&同所给数据点&(i=0,1,…,m)误差&(i=0,1,…,m)?的大小,常用的方法有以下三种:
一是误差&(i=0,1,…,m)绝对值的最大值&,即误差&向量&的∞—范数;
二是误差绝对值的和&,即误差向量r的1—范数;
三是误差平方和&的算术平方根,即误差向量r的2—范数。
前两种方法简单、自然,但不便于微分运算,后一种方法相当于考虑&2—范数的平方,可得到一类特殊的二次函数,而二次函数具有连续、可导的性质,并且在最优化理论中已经得到较多的研究,由成熟的求解分析方法。因此在曲线拟合等问题中中常采用误差平方和&来&度量误差&(i=0,1,…,m)的整体大小,然后借助误差函数的最小化来确定某些未知参数。例如,数据拟合常见的具体作法是:对给定数据&&&(i=0,1,…,m),在取定的函数类&中,求&,使误差&(i=0,1,…,m)的平方和最小,即求解如下的最优化问题
从几何意义上讲,就是寻求与给定点&(i=0,1,…,m)的距离平方和为最小的曲线?&。函数&称为拟合&函数或最小二乘解,求拟合函数&的方法称为曲线拟合的最小二乘法。
作为一种常见的最优化方法,最小二乘法通常用于曲线拟合,模式识别和参数估计,但很多其他的优化问题也可通过最小化能量或最大化熵用最小二乘形式表达。
4.2&求解线性最小二乘问题的QR分解方法
考虑线性最小二乘问题
&&&&&&&&&&&&&&&&&&&(9.1)
其中&,&,&,并设&.
若矩阵Q是&正交矩阵,则
此式说明以&为目标函数的线形最小二乘问题与问题(9.1)具有相同的解。因此,求解问题(9.1)可转化为求解
由线性代数的知识可以知道,适当地选择正交矩阵Q,总可以使&呈现为具有如下形式的矩阵:
其中,0是&零矩阵,&是&的秩为&的上梯形矩阵。
等式&可改写为
因此,该变换又称为矩阵A的QR分解。
综上所述,只要能够找到一个合适的正交矩阵Q实现矩阵A的QR分解,就可以将求(9.1)极小点问题转化为求一个具有上梯形系数矩阵的线性方程组的问题。我们知道,具有上梯形系数矩阵的线性方程组是很容易求解的。它的解的表达式为
其中&是对应&分解&中与U相对应的c的分量.&
&&&由以上分析,求解线性最小二乘问题的总的计算格式可表述为:
(1) 构造正交矩阵Q使A转化为&;
(2) 若U的秩&,则用Gauss回代算法由&解得(9.1)的最小二乘解;若&,则首先由&解出&,然后计算&,得到(9.1)的最小二乘解.
4.3&求解非线性最小二乘问题的Gauss-Newton法
与常用的Newton法的基本思想类似,Gauss-Newton方法把f(x)线性化,在迭代的过程中用线性最小二乘问题解取逼近非线性最小二乘问题的解。其算法如下:
算法&修正的Gauss-Newton算法(课本P177-178,大家自己录入)
五、实验内容和要求
1&求解下列线性最小二乘问题
并讨论矩阵A,C,d,b分别作一个摄动情况下,问题最优解的改变情况,其中摄动量可取为&,这里改变量分别为&。
2.&编程近似求解课本第182页习题1,要求计算精度为小数点后三位。如果由于某种原因y的数据被污染,产生了k&偏离,k=1,2,3,4请重新计算并比较前后的差异。
3.&给定目标函数
i. 用修正的Gauss-Newton算法求解该问题,其中初始点&,终止限分别取为&。记录迭代次数,计算时间。
ii. 用修正的Gauss-Newton算法求解该问题,其中初始点&,终止限分别取为&。记录迭代次数,计算时间。
iii. 用修正的Gauss-Newton算法求解该问题,其中初始点&,终止限分别取为&。记录迭代次数,计算时间。
1. 理解无约束最优化问题的直接方法的主要思想,掌握线性最小二乘问题和非线性最小二乘问题的求解的主要算法。
2. 总结给出上述算法所要求的条件和主要优缺点。
3. 借助实例体会上述算法的特点,对它们的表现进行比较分析。
4. 完成实验报告,写出自己的体会,记录存在的疑问和产生的想法。
六、注意事项
相关的Matlab命令及算例清参见《MATLAB6.5&辅助优化计算与设计》第2.7节,P53-59.
注:由于Matlab软件版本不同

我要回帖

更多关于 机械优化设计 的文章

 

随机推荐