- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab 最优化工具箱 Name : 曾泰山 E-mail: zengtsh@ 工具箱的结构 模型输入时需要注意的问题 (1)目标函数最小化 优化函数fminbnd、fminsearch、fminunc、fmincon、fgoalattain、fminmax和lsqnonlin都要求目标函数最小化。 (2)约束非正 优化工具箱要求非线性不等式约束的形式为Ci(x)≤0,通过对不等式取负可以达到使大于零的约束形式变为小于零的不等式约束形式的目的。 例: 求表面积为常数150 m2的体积最大的长方体体积。 解:设长方体的长、宽、高分别为x1、x2和x3,根据题意得到下面的数学模型: min z= - x1 x2 x3 2 (x2 x3 + x3 x1 + x1 x2) = 150 由于约束条件是非线性等式约束,所以需要编写一个约束条件M文件Ex1.m: function [c,ceq]=Ex1012c(x) ceq=x(2)*x(3)+x(3)*x(1)+x(1)*x(2)-75; c=[]; 在Matlab中实现: x0=[4;5;6]; lb=zeros(3,1); [x,fval,exitflag,output,lambda] =fmincon(-x(1)*x(2)*x(3),x0,[],[],[],[],lb,[],@Ex1c) 主要参考书: 高等应用数学问题的MATLAB求解 薛定宇 陈阳泉 著 清华大学出版社 精通MATLAB科学计算 王正林等编著 电子工业出版社 科学计算引论-基于MATLAB的数值分析 [美]Shoichiro Nakamura 电子工业出版社 MATLAB与科学计算 王谟然 编著 电子工业出版社 谢谢! 3、模型:min z=fX VLB≤X≤VUB 命令:[1] x=linprog(f,A,b,Aeq,beq, VLB,VUB) [2] x=linprog(f,A,b,Aeq,beq, VLB,VUB, X0) 注意:[1] 若没有等式约束: , 则令Aeq=[ ], beq=[ ]. [2]其中X0表示初始点 4、命令:[x,fval]=linprog(…) 返回最优解x及x处的目标函数值fval. 解: 编写M文件如下: c=[-7 -5]; A=[3 2; 4 6; 0 7]; b=[90;200;210]; Aeq=[]; beq=[]; vlb=[0,0]; vub=[inf,inf]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) 问题2解答 例3:求 编写M-脚本文件如下: f=[-2 -1 -4 -3 -1]; % 线性的目标函数的系数向量(行、列均可) A=[0 2 1 4 2;3 4 5 -1 -1];B=[54;62]; % 线性不等式约束的系数矩阵 C=[]; D=[]; % 线性等式约束的系数矩阵。 % 因题中无等式约束,所以该处用空矩阵占位。 xm=[0;0;3.32;0.678;2.57]; xM=[]; x0=[]; % 这三个向量写成行向量列向量均可 [x,fopt,flag,c]=linprog(f,A,B,C,D,xm,xM,x0) 执行结果: Optimization terminated. x = 19.7850 0.0000 3.3200 11.3850 2.5700 fopt = -89.5750 flag = 1 % 表明求解成功 c = iterations: 6 algorithm: large-scale: interior point cgiterations: 0 message: Optimization terminated. 练:若 x 要求满足 试写出x的下、上界向量xm和xM 。 xm=[-1;-inf;-inf;
文档评论(0)