MATLAB学习第五节最优化工具箱.ppt_第1页
MATLAB学习第五节最优化工具箱.ppt_第2页
MATLAB学习第五节最优化工具箱.ppt_第3页
MATLAB学习第五节最优化工具箱.ppt_第4页
MATLAB学习第五节最优化工具箱.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五节最优化工具箱 5 1最优化工具箱概述5 2主要构成函数5 3MATLAB帮助系统 5 1最优化工具箱概述 最优化工具箱是用于解决最优化问题的一种工具箱 对于当前使用的各种最优化策略问题 都可以得到一个较为合理的解 在实际应用中 大部分的问题都得不到一个准确的解 但可以得到一定条件下的最优解 来代替准确解应用 最优化工具箱查看方式 1 在命令窗口中输入 helpoptima2 选择help菜单项 MATLABhelp项打开MATLAB帮助找到OptimizationToolbox 最优化工具箱 5 2主要函数 linprog线性规划quadprog二次规划fminunc无约束非线性规划fmincon约束非线性规划fminimax最大最小问题fminbnd无约束一元函数极小问题fseminf半无穷条件下的非线性规划fsolve非线性方程求解lsqnonlin非线性最小二乘解lsqnonneg非负最小二乘解fgoalattain目标规划 优化问题 现在有甲 乙两人推销A B两种货物 货物单价及利润如下表 问如何销售才能使销售的总利润最高 数学模型 设甲卖A和B分别为x1和x2吨 乙分别卖x3和x4吨 线性规划linprog 线性规划问题 目标函数和约束函数都是线性函数 求解问题应化为标准形式 其中 f为系数向量 x为变量A为不等式约束系数矩阵b为不等式约束值Aeq为等式约束系数矩阵beq为等式约束值LB为最优解的下限UB为最优解的上限 函数调用格式 输入参数 1 最简形式 只有不等式约束 x linprog f A b 2 又包含了等式约束 x linprog f A b Aeq beq 3 又包括了解的上下限的约束 x linprog f A b Aeq beq LB UB 4 定义了搜索点初值x0 x linprog f A b Aeq beq LB UB x0 函数调用格式 输出参数 1 最简形式 只有最优解x 输出x linprog f A b 2 添加最优值fval输出 fval fTx x fval linprog f A b 3 添加退出参数输出exitflag x fval exitflag linprog f A b exitflag 0存在并收敛到最优解exitflag 0达到最大迭代次数未收敛exitflag 0没有最优解或算法失败 举例1 则 f 12 34 b 6 12 4 Aeq 1111 beq 2 LB 0000 A 113 1 23 11 1021 调用语句为 x fval exitflag linprog f A b Aeq beq LB x 0 00000 00002 00000 0000 fval 6 0000exitflag 1 举例2 则 f 12 34 b 6 12 4 LB 0000 A 113 1 23 11 1021 调用语句为 x fval exitflag linprog f A b LB 当有参数没有值时 相当于其值为空 即Aeq beq x 0 00000 00002 00000 0000 fval 6 0000exitflag 1 习题 1 对上式解出最优解 最优值 并判断此最优解和最优值是否能被信任 习题答案 1 f 5 4 6 A 1 13 324 320 b 20 42 30 LB 111 x fval exitflag linprog f A b LB f 5 4 1 11 Aeq 1010 0101 beq 10 20 LB 0000 x fval exitflag linprog f Aeq beq LB 二次规划quadprog 二次规划问题 目标函数为二次函数 约束函数是线性函数 求解问题应化为标准形式 其中 H为正定系数矩阵f为系数向量 x为变量A为不等式约束系数矩阵b为不等式约束值Aeq为等式约束系数矩阵beq为等式约束值LB为最优解的下限UB为最优解的上限 函数调用格式 输入参数 1 最简形式 只有不等式约束 x quadprog H f A b 2 又包含了等式约束 x quadprog H f A b Aeq beq 3 又包括了解的上下限的约束 x quadprog H f A b Aeq beq LB UB 4 定义了搜索点初值x0 x quadprog H f A b Aeq beq LB UB x0 函数调用格式 输出参数 1 最简形式 只有最优解x 输出x quadprog H f A b 2 添加最优值fval输出 fval 0 5x Hx f x x fval quadprog H f A b 3 添加退出参数输出exitflag x fval exitflag quadprog H f A b exitflag 0存在并收敛到最优解exitflag 0达到最大迭代次数未收敛exitflag 0没有最优解或算法失败 举例 则 H 1 1 12 f 2 6 A 11 12 21 b 2 2 3 LB 00 调用语句为 x fval exitflag quadprog f A b LB x 0 66671 3333 fval 9 3333exitflag 1 习题 求最优解和最优值 并判断解的可信度 无约束非线性规划fminunc 非线性规划问题 目标函数F x 为非线性函数 也适用于线性函数 求解问题 得到对应多变量方程最小值的对应解 缺省变量为x 如 试求y sin x exp 2 x 3最小值的对应解 函数调用格式 1 最简形式 x fminunc fun x0 其中fun为函数名字符串 x0为起始点 如x fminunc myfun1 x0 缺省变量为x x fminunc myfun1 x0 x fminunc x 2 x1 x2 x0 inline函数2 使用带有输入参数的函数fun 如y fun x p1 p2 x fminunc fun x0 p1 p2 3 x fval exitflag fminunc fun x0 exitflag 0存在并收敛到最优解exitflag 0达到最大迭代次数未收敛exitflag 0没有最优解或算法失败 举例1 题目 求函数y sin x cos x 最小值对应的x值 求解 1 编辑函数文件myfun m functiony myfun x y sin x cos x 2 在命令窗口中调用语句 x fval exitflag fminunc myfun 2 结果 x 3 9270fval 1 4142exitflag 1 举例2 题目 求y sin x x1 cos x x2最小值对应x值 求解 1 编辑函数文件myfun1 m functiony myfun1 x x1 x2 y sin x x1 cos x x2 2 在命令窗口中调用语句 x1 3 x2 4 x fval exitflag fminunc myfun1 2 x1 x2 结果 x 3 4633fval 7 1623exitflag 1 约束非线性规划fmincon 约束非线性规划问题 1 目标函数为非线性函数 2 约束函数包括 1 线性不等式约束2 线性等式约束3 非线性不等式约束4 非线性等式约束 函数调用格式输入参数 1 最简形式 x fmincon fun x0 2 加入线性不等式约束x fmincon fun x0 A b 3 加入线性等式约束x fmincon fun x0 A b Aeq beq 4 加入最有解的上下限x fmincon fun x0 A b Aeq beq LB UB 5 加入非线性约束 包括非线性等式和不等式约束x fmincon fun x0 A b Aeq beq LB UB NONLCON 其中NONLCON为函数 输入x 返回C和Ceq 函数调用格式输出参数 1 最简形式 x fmincon fun x0 2 返回最优解和最优值 x fval fmincon fun x0 3 返回最优解和最优值 以及退出条件 x fval exitflag fmincon fun x0 exitflag 0存在并收敛到最优解exitflag 0达到最大迭代次数未收敛exitflag 0没有最优解或算法失败 举例1 1 编辑函数文件myfun m functiony myfun x y x 1 x 2 x 3 2 编辑函数文件nonlcon mfunction C Ceq nonlcon x C x 1 2 x 2 3 Ceq x 1 x 2 2 3 A 1 2 2 122 b 0 72 Aeq 1 1 1 beq 0 x0 101010 LU 000 4 在命令窗口中调用语句 x fval exitflag fmincon myfun x0 A b Aeq beq LU nonlcon 结果 x 1 36001 4705 0 1105 fval 0 2210exitflag 2 最大最小化问题fminimax 最大最小问题 约束函数包括 1 线性不等式约束2 线性等式约束3 非线性不等式约束4 非线性等式约束 函数调用格式输入参数 1 最简形式 x fminimax fun x0 2 加入线性不等式约束x fminimax fun x0 A b 3 加入线性等式约束x fminimax fun x0 A b Aeq beq 4 加入最有解的上下限x fminimax fun x0 A b Aeq beq LB UB 5 加入非线性约束 包括非线性等式和不等式约束x fminimax fun x0 A b Aeq beq LB UB NONLCON 其中NONLCON为函数 输入x 返回C和Ceq 函数调用格式输出参数 1 最简形式 x fminimax fun x0 2 返回最优解和最优值 x fval fminimax fun x0 3 返回最优解和最优值 以及退出条件 x fval exitflag fminimax fun x0 exitflag 0存在并收敛到最优解exitflag 0达到最大迭代次数未收敛exitflag 0没有最优解或算法失败 习题 试求f f1 x f2 x f3 x f4 x f5 x 的极大极小解其中 f1 x 2x12 x22 48x1 40 x2 304f2 x x12 3x22f3 x x1 3x2 18f4 x x1 x2f5 x x1 x2 8解 1 函数 functionf myfun x f 1 2 x 1 2 x 2 2 48 x 1 40 x 2 304f 2 x 1 2 3 x 2 2f 3 x 1 3 x 2 18f 4 x 1 x 2 f 5 x 1 x 2 82 X0 0 1 0 1 x fval fminimax myfun x0 x 4 000 4 000 fval 0 0000 64 0000 2 0000 8 0000 0 0000 其他函数用法 fminbnd fminbnd无约束一元函数极小问题解决问题 用法 x fval exitflag fminbnd fun x1 x2 试求sin x 3在 3 4 之间的最小值1 编辑函数文件myfun mfunctiony myfun x y sin x 3 2 x fminbnd myfun 3 4 或x fminbnd myfun 3 4 或x fminbnd sin x 3 3 4 其他函数用法 fsolve fsolve非线性方程求解 解决问题 F x 0用法 x fval exitflag fsolve fun x0 x fval exitflag fsolve fun x0 p1 p2 其中p1 p2为fun的附加输入参数 也可以使用符号运算中的函数solve 如解sin x exp 2 x 0symsxf sin x exp 2 x solve f 举例1 试求sin x 3 0的值1 编辑函数文件myfun mfunctiony myfun x y sin x 3 2 x fsolve myfun 0 起始点为x0或x fsolve myfun 0 或x fsolve sin x 3 0 举例2 求解方程组2 x1 x2 exp x1 x1 2 x2 exp x2 解法 1 编辑函数文件myfun mfunctionf myfun x f 1 2 x 1 x 2 exp x 1 f 2 x 1 2 x 2 exp x 2 2 x0 5 5 3 x fval fsolve myfun x0 结果 x 0 56710 5671 fval 1 0e 006 0 4059 0 4059 举例3 试求解方程X X X 12 34 的解 1 编辑函数文件myfun mfuncti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论