- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB在最优化模型求解中的应用
联系电 MATLAB在最优化模型求解中的应用
摘要 最优化模型是较常见的数学模型,本文介绍了MATLAB软件在求解最优化模型方面的几点应用,给出了几种解决优化模型的函数格式和范例 关键词 最优化模型;MATLAB;命令 1 前言
优化问题,一般是指用“最好”的方式,使用或分配有限的资源,即劳动力、原材料、机器、资金等,使得费用最小或者利润最大。最优化模型就是根据优化问题的具体情况建立的数学模型。求解此类模型,一方面需要具有较好的数学知识和较强的计算机编程能力,另一方面,也可以利用成熟的算法求解。本文将介绍MATLAB在最优化模型求解中的几个应用。
2 利用MATLAB的优化工具箱求解最优化模型
MATLAB是Mathworks公司推出的一套功能强大的工程计算及数值分析软件, 目前它已经成为世界上应用最广泛的工程计算软件之一。其优化工具箱的应用包括: 线性、非线性最小化、方程求解、曲线拟合、二次规划等中大型课题的求解方法, 为优化方法在工程中的实际应用提供了更方便、快捷的途径。 2.1求解线性规划模型
利用MATLAB软件求解线性模型:
minz?cX
AX?b??s.t.?Aeq?X?beq ?vlb?X?vub?可使用的命令是linprog,其常用调用格式如下:
[x,fval]?linprog(c,A,b,Aeq,beg,vlb,vub)
其中x为最优解,fval为最优值 例1
minz?x1?2x2?x3?3x4
??2x2?x3?x4?3??x?6x?x?4?234s.t.? ?x1?x2?3x3?x4?6??xi?0,(i?1,2,3,4)编写M文件如下:
c=[1;-2;1;-3;];A=[1 1 3 1;0 -2 1 1;0 -1 6 -1];b=[6;3;4]; Aeq=[];beq=[]; %参数缺省
vlb=[0;0;0;0];vub=[inf;inf;inf;inf]; %变量变化范围
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) %调用linprog函数求解 结果:最优解x??0,1,0,5?,最优值fval??17
T石磊,理学学士,助教,研究方向:应用数学
2.2求解无约束优化模型
利用MATLAB软件中求解一元函数无约束优化问题:
minf?x? x1?x?x2
使用的命令是fminbnd,其常用调用格式如下:
x?fminbnd?fun,x1,x2?
例2求f?2e?xsinx在0?x?8中的最小值与最大值。 建立M文件如下: f=2*exp(-x).*sin(x);
fplot(f,[0,8]); %作图语句
[xmin,ymin]=fminbnd (f, 0,8) %求x,y的最小值 f1=-2*exp(-x).*sin(x);
[xmax,ymax]=fminbnd (f1, 0,8) %求x,y的最大值
结果:
xmin =3.9270 ymin =-0.0279 xmax =0.7854 ymax =-0.6448
如果求解多元函数的无约束优化问题,形如
minF?X?
的多元函数,可以使用fminunc函数,命令格式为:
x?fminunc?fun,X0?
例3 求minf?x??4x1?2x2?4x1x2?2x2?1e1
22x??编写函数:
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); 编写M文件如下: x0 = [-1, 1];
x=fminunc(‘fun1’,x0); y=fun1(x)
结果: x= 0.5000 -1.0000 y = 1.3029e-10 2.3求解非线性规划模型
利用MATLAB软件求解非线性模型:
minF?X?
AX?b??Aeq*X?beq?? s.t.?G?X??0?Ceq?X??0???VLB?X?VUB
其中X为n维变元向量,G?X?与Ceq?X?均为非线性函数组成的函数。用Matlab求解上述问题,基本步骤分三步:
1.首先建立M文件fun.m,定义目标函
原创力文档


文档评论(0)