利用Matlab解决数学问地的题目.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用标准文案 精彩文档 利用Matlab解决数学问题 一、线性规划 求解线性规划的Matlab解法 单纯形法是求解线性规划问题的最常用、最有效的算法之一。单纯形法是首先由 George Dantzig于1947年提出的,近60年来,虽有许多变形体已被开发,但却保持着同样的基本观念。由于有如下结论:若线性规划问题有有限最优解,则一定有某个最优解是可行区域的一个极点。基于此,单纯形法的基本思路是:先找出可行域的一个极点,据一定规则判断其是否最优;若否,则转换到与之相邻的另一极点,并使目标函数值更优;如此下去,直到找到某一最优解为止。这里我们不再详细介绍单纯形法,有兴趣的读者可以参看其它线性规划书籍。下面我们介绍线性规划的Matlab解法。 Matlab5.3中线性规划的标准型为 基本函数形式为linprog(c,A,b),它的返回值是向量的值。还有其它的一些函数调用形式(在 Matlab 指令窗运行 help linprog 可以看到所有的函数调用形式),如: [x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS) 这里fval返回目标函数的值,Aeq和beq对应等式约束,LB和UB分别是变量的下界和上界,是的初始值,OPTIONS是控制参数。 例2 求解下列线性规划问题 解 ( = 1 \* roman i)编写M文件 c=[2;3;-5]; a=[-2,5,-1]; b=-10; aeq=[1,1,1]; beq=7; x=linprog(-c,a,b,aeq,beq,zeros(3,1)) value=c*x ( = 2 \* roman ii)将M文件存盘,并命名为example1.m。 ( = 3 \* roman iii)在Matlab指令窗运行example1即可得所求结果。 求解线性规划问题 解 编写Matlab程序如下: c=[2;3;1]; a=[1,4,2;3,2,0]; b=[8;6]; [x,y]=linprog(c,-a,-b,[],[],zeros(3,1)) 二、整数规划 整数规划问题的求解可以使用Lingo等专用软件。对于一般的整数规划规划问题,无法直接利用Matlab的函数,必须利用Matlab编程实现分枝定界解法和割平面解法。但对于指派问题等特殊的整数规划问题或约束矩阵是幺模矩阵时,有时可以直接利用Matlab的函数linprog。 例8 求解下列指派问题,已知指派矩阵为 解:编写Matlab程序如下: c=[3 8 2 10 3;8 7 2 9 7;6 4 2 7 5 8 4 2 3 5;9 10 6 9 10]; c=c(:); a=zeros(10,25); for i=1:5 a(i,(i-1)*5+1:5*i)=1; a(5+i,i:5:25)=1; end b=ones(10,1); [x,y]=linprog(c,[],[],a,b,zeros(25,1),ones(25,1)) 求得最优指派方案为,最优值为21。 三、非线性规划 Matlab中非线性规划的数学模型写成以下形式 , 其中是标量函数,是相应维数的矩阵和向量,是非线性向量函数。 Matlab中的命令是 X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS) 它的返回值是向量,其中FUN是用M文件定义的函数;X0是的初始值;A,B,Aeq,Beq定义了线性约束,如果没有等式约束,则A=[],B=[],Aeq=[],Beq=[];LB和UB是变量的下界和上界,如果上界和下界没有约束,则LB=[],UB=[],如果无下界,则LB=-inf,如果无上界,则UB=inf;NONLCON是用M文件定义的非线性向量函数;OPTIONS定义了优化参数,可以使用Matlab缺省的参数设置。 例2 求下列非线性规划问题 ( = 1 \* roman i)编写M文件fun1.m function f=fun1(x); f=x(1)^2+x(2)^2+8; 和M文件fun2.m function [g,h]=fun2(x); g=-x(1)^2+x(2); h=-x(1)-x(2)^2+2; %等式约束 ( = 2 \* roman ii)在Matlab的命令窗口依次输入 options=optimset; [x,y]=fmincon(fun1,rand(2,1),[],[],[],[],zeros(2,1),[], ... fun2, options) 就可以求得当时,最小值。 四、图论 两

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档