数学建模与数学实验-无约束优化

上传人:1818****572 文档编号:126455730 上传时间:2020-03-25 格式:PPT 页数:36 大小:810.50KB
返回 下载 相关 举报
数学建模与数学实验-无约束优化_第1页
第1页 / 共36页
数学建模与数学实验-无约束优化_第2页
第2页 / 共36页
数学建模与数学实验-无约束优化_第3页
第3页 / 共36页
数学建模与数学实验-无约束优化_第4页
第4页 / 共36页
数学建模与数学实验-无约束优化_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《数学建模与数学实验-无约束优化》由会员分享,可在线阅读,更多相关《数学建模与数学实验-无约束优化(36页珍藏版)》请在金锄头文库上搜索。

1、无约束最优化 数学建模与数学实验 实验目的 实验内容 2 掌握用数学软件包求解无约束最优化问题 1 无约束最优化基本算法 1 无约束优化基本思想及基本算法 4 实验作业 3 用MATLAB求解无约束优化问题 2 MATLAB优化工具箱简介 无约束最优化问题 求解无约束最优化问题的的基本思想 无约束最优化问题的基本算法 返回 标准形式 求解无约束最优化问题的基本思想 求解的基本思想 以二元函数为例 5 3 1 连 续 可 微 多局部极小 唯一极小 全局极小 搜索过程 最优点 1 1 初始点 1 1 114 00 0 790 583 39 0 53 0 23 2 60 0 18 0 00 1 50

2、 0 09 0 030 98 0 370 11 0 47 0 590 330 20 0 800 630 05 0 950 90 0 003 0 990 991E 4 0 9990 998 1E 5 0 9997 0 9998 1E 8 返回 无约束优化问题的基本算法 最速下降法是一种最基本的算法 它在最优化方法中占有重要地位 最 速下降法的优点是工作量小 存储变量较少 初始点要求不高 缺点是收敛 慢 最速下降法适用于寻优过程的前期迭代或作为间插步骤 当接近极值 点时 宜选用别种收敛快的算法 1 最速下降法 共轭梯度法 算法步骤 2 牛顿法算法步骤 如果f是对称正定矩阵A的二次函数 则用牛顿法

3、经过一次迭代 就可达到最优点 如不是二次函数 则牛顿法不能一步达到极值点 但由于这种函数在极值点附近和二次函数很近似 因此牛顿法的收 敛速度还是很快的 牛顿法的收敛速度虽然较快 但要求黑塞矩阵可逆 要计 算二阶导数和逆矩阵 就加大了计算机的计算量和存储量 3 拟牛顿法 返回 MATLAB优化工具箱简介 1 MATLAB求解优化问题的主要函数 2 优化函数的输入变量 使用优化函数或优化工具箱中其他优化函数时 输入变量见下表 3 优化函数的输出变量见下表 4 控制参数选项的设置 3 MaxIter 允许进行迭代的最大次数 取值为正整数 选项中常用的几个参数的名称 含义 取值如下 1 陈列 显示水平

4、 取值为 off 时 不显示输出 取值为 iter 时 显示每次迭代的信息 取值为 final 时 显示最终结果 默认值为 final 2 MaxFunEvals 允许进行函数评价的最大次数 取 值为正整数 例 opts optimset Display iter TolFun 1e 8 该语句创建一个称为选择的优化选项结构 其中显示参数设 为 iter TolFun参数设为1e 8 控制参数选项可以通过函数optimset创建或修改 命令的 格式如下 1 options optimset optimfun 创建一个含有所有参数名 并与优化函数optimfun相关 的默认值的选项结构 2 op

5、tions optimset param1 value1 param2 value2 创建一个名称为选项的优化选项参数 其中指定的参数具有指 定值 所有未指定的参数取默认值 3 options optimset oldops param1 value1 param2 value2 创建名称为oldops的参数的拷贝 用指定的参数值修改oldops 中相应的参数 返回 用MATLAB解无约束优化问题 其中等式 3 4 5 的右边可选用 1 或 2 的等式右边 函数fminbnd的算法基于黄金分割法和二次插值法 它要 求目标函数必须是连续函数 并可能只给出局部最优解 常用格式如下 1 x fmin

6、bnd 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 MATLAB wliti1 主程序为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 例2 有边长为3m的正方形铁板 在四个角剪去相等的正方形以 制成方形无盖水槽 问如何剪法使水槽的容积最大 解

7、 先编写M文件fun0 m如下 function f fun0 x f 3 2 x 2 x 主程序为wliti2 m x fval fminbnd fun0 0 1 5 xmax x fmax fval 运算结果为 xmax 0 5000 fmax 2 0000 即剪掉的正方形 的边长为0 5m时水槽的容积最大 最大容积为2m3 MATLAB wliti2 命令格式为 1 x fminunc fun X0 或x fminsearch fun X0 2 x fminunc fun X0 options 或x fminsearch fun X0 options 3 x fval fminunc 或

8、 x fval fminsearch 4 x fval exitflag fminunc 或 x fval exitflag fminsearch 5 x fval exitflag output fminunc 或 x fval exitflag output fminsearch 2 多元函数无约束优化问题 标准型为 min 3 fminunc为中型优化算法的步长一维搜索提供了两种算法 由选项中参数LineSearchType控制 LineSearchType quadcubic 缺省值 混合的二次和 三次多项式插值 LineSearchType cubicpoly 三次多项式插 使用fm

9、inunc和 fminsearch可能会得到局部最优解 说明 fminsearch是用单纯形法寻优 fminunc算法见以下几点说明 1 fminunc为无约束优化提供了大型优化和中型优化算法 由选项中的参数LargeScale控制 LargeScale on 默认值 使用大型算法 LargeScale off 默认值 使用中型算法 2 fminunc为中型优化算法的搜索方向提供了4种算法 由 选项中的参数HessUpdate控制 HessUpdate bfgs 默认值 拟牛顿法的BFGS公式 HessUpdate dfp 拟牛顿法的DFP公式 HessUpdate steepdesc 最速下

10、降法 例3 min MATLAB wliti3 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 MATLAB wliti31 MATLAB wliti32 3 用fminsearch函数求解 MATLAB wliti41 输入命令 f 100 x 2 x 1 2 2 1 x 1 2 x fval exitflag o

11、utput fminsearch f 1 2 2 运行结果 x 1 0000 1 0000 fval 1 9151e 010 exitflag 1 output iterations 108 funcCount 202 algorthm Nelder Mead simplex direct search 4 用fminunc 函数 MATLAB wliti44 1 建立M文件fun2 m function f fun2 x f 100 x 2 x 1 2 2 1 x 1 2 2 主程序wliti44 m Rosenbrock函数不同算法的计算结果 可以看出 最速下降法的结果最差 因为最速下降法

12、 特别不适合于从一狭长通道到达最优解的情况 例5 产销量的最佳安排 某厂生产一种产品有甲 乙两个牌号 讨论在产销 平衡的情况下如何确定各自的产量 使总利润最大 所谓 产销平衡指工厂的产量等于市场上的销量 基本假设 1 价格与销量成线性关系 2 成本与产量成负指数关系 模型建立 若根据大量的统计数据 求出系数 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

13、 0 问题转化求 z1 b1 a11x1 x1 b2 a22x2 x2的极值 显然其 解为x1 b1 2a11 50 x2 b2 2a22 70 我们把它作为原 问题的初始值 总利润为 z x1 x2 p1 q1 x1 p2 q2 x2 模型求解 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 9025 62 4977 z 6 4135e 003 即甲的产量为23 9025 乙的产量为62 4977 最大利润为6413 5 MATLAB wliti5 返回 实验作业

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号