《精编》优化模型与MATLAB优化工具箱

上传人:tang****xu4 文档编号:133053667 上传时间:2020-05-24 格式:PPT 页数:67 大小:1.16MB
返回 下载 相关 举报
《精编》优化模型与MATLAB优化工具箱_第1页
第1页 / 共67页
《精编》优化模型与MATLAB优化工具箱_第2页
第2页 / 共67页
《精编》优化模型与MATLAB优化工具箱_第3页
第3页 / 共67页
《精编》优化模型与MATLAB优化工具箱_第4页
第4页 / 共67页
《精编》优化模型与MATLAB优化工具箱_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《《精编》优化模型与MATLAB优化工具箱》由会员分享,可在线阅读,更多相关《《精编》优化模型与MATLAB优化工具箱(67页珍藏版)》请在金锄头文库上搜索。

1、数学建模讲座 2004年7月 8月 江西 优化模型与MATLAB优化工具箱 谢金星清华大学数学科学系Tel 010 62787812Email jxie 简要提纲 MATLAB优化工具箱简介控制参数主要功能的使用解非线性方程 组 特殊的优化问题最小二乘法 特殊的优化问题LP QP NLP建模与求解实例 结合软件使用 优化模型 实际问题中的优化模型 x 决策变量 f x 目标函数 gi x 0 约束条件 数学规划 线性规划 LP 二次规划 QP 非线性规划 NLP 纯整数规划 PIP 混合整数规划 MIP 整数规划 IP 0 1整数规划一般整数规划 连续规划 MATLAB优化工具箱能求解的优化模

2、型 优化工具箱3 0 MATLAB7 0R14 连续优化 离散优化 无约束优化 非线性极小fminunc 非光滑 不可微 优化fminsearch 非线性方程 组 fzerofsolve 全局优化暂缺 非线性最小二乘lsqnonlinlsqcurvefit 线性规划linprog 纯0 1规划bintprog一般IP 暂缺 非线性规划fminconfminimaxfgoalattainfseminf 上下界约束fminbndfminconlsqnonlinlsqcurvefit 约束线性最小二乘lsqnonneglsqlin 约束优化 二次规划quadprog MATLAB优化工具箱能求解的优

3、化模型 xi 0 1 MATLAB优化工具箱能求解的优化模型 MATLAB优化工具箱能求解的优化模型 MATLAB优化工具箱能求解的优化模型 需要掌握的几个重要方面 问题模型及其输入格式输出格式及其含义选项 OPTIONS 函数选项的含义optimset函数optimget函数 fzero 单变量方程f x 0求根 变号点 最简形式x fzero f x0 可选输入 P1 P2 是传给f m的参数 如果需要的话 opt 是一个结构变量 控制参数 如精度TolX 输出 fv是函数值 ef是停止原因 1 0 1 out是一个结构变量 包含 iterations 迭代次数 funcCount 函数调

4、用次数 algorithm 所用算法 一般形式 x fv ef out fzero f x0 opt P1 P2 必须输入 f为f m的函数名 x0是迭代初值 或有根区间 输出 x是近似变号点 函数不连续时不一定是根 演示 exampleFzero m fsolve 多变量方程组F x 0求解 输出 与fzero类似 但 out 中输出更多 还输出 firstorderopt 即结果 x点 处梯度向量的范数 实际上是1 范数 即分量按绝对值取最大的值 jac 输出x点所对应的雅可比矩阵 输入 与fzero类似 但 opt 中控制参数更多 如MaxFunEvals MaxIter等 最简形式x

5、fsolve f x0 一般形式 x fv ef out jac fsolve f x0 opt P1 P2 注 solve函数也可求解 符号工具箱 演示 exampleFsolve m exampleSolve m fminunc 无约束优化 基本用法 x fminunc fun x0 x fminunc fun x0 options P1 P2 fun m f x 的m文件名x0 初始点 x 最优解P1 P2 传给fun的参数中间输入项缺省用 占据位置 functiony fun071 x a b y x 1 2 a x 2 2 b x0 1 1 a 2 b 2 x fminunc fun

6、071 x0 a b examp071 m 控制参数设定 获取 optimset optimget Optimset 显示控制参数opt optimset 控制参数设为 即缺省值 optimsetoptfun 显示optfun的控制参数opt optimset optfun optfun控制参数缺省值Opt optimset par1 val1 par2 val2 Opt optimset oldopts par1 val1 opt optimset oldopts newopts val optimget opt par1 par2 val optimget opt par1 par2 de

7、fault Diagnostics on off 是否显示诊断信息Display off iter final notify 显示信息的级别GradObj on off 是否采用分析梯度Jacobian on off 采用分析Jacob阵 用于约束优化中 LargeScale on off 是否采用大规模算法MaxFunEvals最大函数调用次数MaxIter最大迭代次数TolCon约束的控制精度 用于约束优化中 TolFun函数值的控制精度TolX解的控制精度 主要控制参数 对大 中规模算法均有效 最一般的输出形式 x f exitflag out grad hess fminunc f目标

8、函数值exitflag 0收敛 0达到函数或迭代次数 0不收敛Outputiterations实际迭代次数funcCount实际函数调用次数algorithm实际采用的算法cgiterations实际PCG迭代次数 大规模算法用 stepsize最后迭代步长 中等规模算法用 firstorderopt一阶最优条件 梯度的范数 grad目标函数的梯度hess目标函数的Hessian矩阵 x0 1 1 a 10 b 1 formatshortefopt1 optimset Display iter x f exitf fminunc fun071 x0 fopt1 a b x f exitfpau

9、sefopt2 optimset TolFun 1e 8 TolX 1e 8 x f exitf output grad fminunc fun071 x0 fopt2 a b x f exitf output gradpausefopt3 optimset TolFun 1e 1 TolX 1e 1 x f exitf output grad fminunc fun071 x0 fopt3 a b x f exitf output grad examp072 m 算法选择 LargeScale on off on为缺省 搜索步长的算法选择 系统缺省采用大规模算法 如果可能 当设为 off 时

10、缺省 BFGS 混合2 3次多项式插值 LineSearchType quadcubic 混合2 3次多项式插值LineSearchType cubicpoly 3次多项式插值 HessUpdate dfp DFP算法 HessUpdate gillmurray gill murray算法 HessUpdate steepdesc 最速下降算法 搜索方向的算法选择 计算结果 examp073 m 精确解 x y 1 f x y 0 采用分析梯度 GradObj on x fminunc fun x0 fopt fun m中还要有一般形式function f g fun x examp074 m

11、 计算结果 与不用分析梯度的结果比较 rosen073 m 算法选择 BFGS公式 混合2 3次插值 一般较好 无约束优化 几个值得注意的问题 精度控制 对迭代次数有重大影响 应适当选择 梯度函数 利用分析梯度可能改进算法的性能 改变初始值由一个初值出发通常得到局部最优解 如果函数存在多个局部最优 只有改变初值 对局部最优进行比较 才有可能得到全局最优解 其他算法选择 详细用法请查阅help文档 高度非线性 不连续时可用程序fminsearch fun x0 单变量时可用程序fminbnd fun v1 v2 约束线性最小二乘 x resnorm res exitflag output lam

12、bda lsqlin C d A1 b1 A2 b2 lb ub x0 options 非负最小二乘 x resnorm res exitf out lambda lsqnonneg C d x0 options 非线性最小二乘方法 x resnorm res exitf out lambda jacob lsqnonlin fun x0 lb ub options P1 P2 输入的用法与fminunc类似 但注意 fun m r x 的m文件名 Jacobian on 时含有导数信息function r J fun x 输出resnom r x T r x res r x 误差向量 算法选

13、择 缺省 大规模算法 LargeScale on 当LargeScale off 缺省 Levenberg Marquardt算法 LevenbergMarquardt off Gauss Newton法 一维搜索 线搜索 步长选择与fminunc中类似 非线性最小二乘方法 x fval exitflag output lambda linprog c A1 b1 A2 b2 v1 v2 x0 options 线性规划 输入 x0 初始解 缺省时为0 options 控制参数中间所缺参数项补 输出 lambda Lagrange乘子 对偶变量 影子价格 维数等于约束个数 非零分量对应于起作用约

14、束 lambda ineqlinlambda eqlinlambda upperlambda lower Examp081 m examp082 m 二次规划 x fval exitflag output lambda quadprog H c A1 b1 A2 b2 v1 v2 x0 options 注意H的2倍关系 非线性规划 x fval exitflag output lambda grad hessian fmincon fun x0 A1 b1 A2 b2 v1 v2 nlcon options P1 P2 fun m给出函数f 当GradObj on 时必须给出f的梯度 Hess

15、ian on 时还必须给出其Jacobi矩阵 形式为 function f g H fun x f objectivefunctionvalueifnargout 1g gradientofthefunctionifnargout 2H Hessianend nlcon m给出约束 GradConstr on 时还给出梯度 形式为 例 求min Rosenbrock s t Examp084 m function c1 c2 GC1 GC2 nlcon x c1 nonlinearinequalitiesatxc2 nonlinearequalitiesatxifnargout 2GC1 gr

16、adientsofc1GC2 gradientsofc2end 非线性规划 例加工奶制品的生产计划 50桶牛奶 时间480小时 至多加工100公斤A1 制订生产计划 使每天获利最大 35元可买到1桶牛奶 买吗 若买 每天最多买多少 可聘用临时工人 付出的工资最多是每小时几元 A1的获利增加到30元 公斤 应否改变生产计划 每天 x1桶牛奶生产A1 x2桶牛奶生产A2 获利24 3x1 获利16 4x2 原料供应 劳动时间 加工能力 决策变量 目标函数 每天获利 约束条件 非负约束 线性规划模型 LP 时间480小时 至多加工100公斤A1 milk01LP m 原油生产计划 1 1加工费 4元 桶能力 14000桶 天 I 安排生产计划 在满足需求的条件下使利润最大 决策变量 目标 约束 总利润最大 需求限制 原料限制 含量限制 非负限制 含量限制 非负限制 原料限制 需求限制 约束 总盈利 126000元 c 454545353535252525 a1 100100100 010010010 001001001 a2 111000000 000111000 000000111 120

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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