ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:31.94KB ,
资源ID:22714318      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22714318.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB论文 1245322罗慧彪Word文档格式.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB论文 1245322罗慧彪Word文档格式.docx

1、常用于无约束非线性最优化问题。2.x = fminunc(fun,x0)给定初值x0,求fun函数的局部极小点x。x0可以是标量、向量或矩阵。3.x = fminunc(fun,x0,options)用options参数中指定的优化参数进行最小化。4.x = fminunc(fun,x0,options,P1,P2,.)将问题参数p1、p2等直接输给目标函数fun,将options参数设置为空矩阵,作为options参数的缺省值。5.x,fval = fminunc(.)将解x处目标函数的值返回到fval参数中。6.x,fval,exitflag = fminunc(.)返回exitflag值

2、,描述函数的输出条件。7.x,fval,exitflag,output = fminunc(.)返回包含优化信息的结构输出。8.x,fval,exitflag,output,grad = fminunc(.)将解x处fun函数的梯度值返回到grad参数中。9.x,fval,exitflag,output,grad,hessian = fminunc(.)将解x处目标函数的Hessian矩阵信息返回到hessian参数中。问题一:求解下列优化问题首先编写一个M文件,返回x处的函数值opt25_1o.m。function f = myfun(x)f = -x(1) * x(2) * x(3);然后

3、将约束条件改写成下面形式的不等式因为两个约束条件都是线性的,将它们表达为矩阵不等式 的形式,其中,下一步给定初值,并调用优化过程 x0 = 10; 10; 10; % 初值A=-1 2 2 1 2 2; %定义一个矩阵 b=0;72;x,fval = fmincon(opt25_1o,x0,A,b) %将目标值返回到fval中经过66次函数评价以后,得到问题的解为:x = 24.0000 12.0000函数值为:fval = -3.4560e+03而且线性不等式约束的值= 0A*x-b= -72 0 磁盘中本问题的M文件为opt25_1.m。三,在求最大最小化中的应用(一)、fminimax函

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)6.x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)7.x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2,.)8.x,fv

5、al=fminimax(.)9.x,fval,maxfval=fminimax(.)10.x,fval,maxfval,exitflag=fminimax(.)11.x,fval,maxfval,exitflag,output=fminimax(.)12.x,fval,maxfval,exitflag,output,lambda=fminimax(.)(四)、描述:1.fminimax 使多目标函数中的最坏情况达到最小化。给定初值估计,该值必须服从一定的约束条件。2.x=fminimax(fun,x0)初值为x0,找到fun函数的最大最小化解x。3.x=fminimax(fun,x0,A,b)

6、给定线性不等式A*x = b,求解最大最小化问题。4.x=fminimax(fun,x,A,b,Aeq,beq) 给定线性等式,Aeq*x = beq,求解最大最小化问题。如果没有不等式存在,设置A=、b=。5.x=fminimax(fun,x,A,b,Aeq,beq,lb,ub) 为设计变量定义一系列下限lb和上限ub,使得总有lb = x = ub。6.x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) 在nonlcon参数中给定非线性不等式约束c(x)或等式约束ceq(x),fminimax函数要求c(x) = 0且ceq(x) = 0。若没有边界存

7、在,设置lb=和(或)ub=。7.x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) 用options给定的参数进行优化。8.x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2,.)将问题参数P1, P2等直接传递给函数fun和nonlcon。如果不需要变量A, b, Aeq, beq, lb, ub, nonlcon和options将它们设置为空矩阵。9.x,fval=fminimax(.) 返回解x处的目标函数值。10.x,fval,maxfval=fminimax(.)返

8、回解x处的最大函数值。11.x,fval,maxfval,exitflag=fminimax(.) 返回exitflag参数,描述函数计算的退出条件。12.x,fval,maxfval,exitflag,output=fminimax(.) 返回描述优化信息的结构输出output参数。13.x,fval,maxfval,exitflag,output,lambda=fminimax(.) 返回包含解x处拉格朗日乘子的lambda参数。问题二:假设某种商品的需求量Q是单价p(单位:元)的函数,商品的总成本c是需求量Q的函数.每单位商品需要纳税2元,试求:使销售利润达到最大的商品单价和最大利润额.

9、分析:用传统方法解决此问题需要列出传统的方程,解题过程繁琐,容易出错。现在我们利用MATLAB语言对此题做出解答:利用MATLAB求解的过程: syms p q %定义符号变量 L=(12000-q)/80)*q-(25000+50*q)-2*q; %总收入函数 dL=diff(L); %边际函数 dL =-1/40*q+98; Pq=solve(dL); %dL函数的驻点 dL2=diff(dL); dL2 =-1/40; P1=solve(12000-80*p-3920); %价格 L0=(12000-Pq)/80)*Pq-(25000+50*Pq)-2*Pq; %最大利润 P1; L0;

10、运算结果为: dL = -1/40*q+98 Pq = 3920 dL2 = -1/40-0.0250P1 = 101 L0 = 167080 P1 =结论:当商品价格P为101元时达最大利润,最大利润为167080元。问题三:某厂生产甲乙两种产品,已知制成一吨产品甲需用资源A 3吨,资源B 4m3;制成一吨产品乙需用资源A 2吨,资源B 6m3,资源C 7个单位。若一吨产品甲和乙的经济价值分别为7万元和5万元,三种资源的限制量分别为90吨、200m3和210个单位,试决定应生产这两种产品各多少吨才能使创造的总经济价值最高? 令生产产品甲的数量为x1,生产产品乙的数量为x2。由题意可以建立下面

11、的模型:该模型中要求目标函数最大化,需要按照Matlab的要求进行转换,即目标函数为首先输入下列系数:f = -7;-5; %输入单位变量 A = 3 2 4 6 0 7; %将个单位数命名为矩阵 b = 90; 200; 210; %个单位制量定义一个矩阵 lb = zeros(2,1); %定义一个全零矩阵 然后调用linprog函数: x,fval,exitflag,output,lambda = linprog(f,A,b,lb) %将解x处的拉格朗日乘子返回到lambda参数中。 x = 14.0000 24.0000 fval = -218.0000 exitflag = 1 ou

12、tput = iterations: 5 cgiterations: algorithm: lipsol lambda = ineqlin: 3x1 double eqlin: 0x1 double upper: 2x1 double lower: 2x1 double 由上可知,生产甲种产品14吨、乙种产品24吨可使创建的总经济价值最高。最高经济价值为218万元。exitflag=1表示过程正常收敛于解x处。磁盘中本问题的M文件为opt22_2.m。问题四:已知有一梯形截面管道,其参数如下:底边长度是c,高度是h,斜边与底边的夹角是,横截面积是A=64516mm2,如图1管道内的液体的流速与

13、管道截面的周长s的倒数成正比关系。试按照使流速最大确定该管道的参数。图1 梯形截面管道建立优化设计的数学模型:管道截面的周长: s=c+2h/sin由管道横截面面积: A=ch+h2cot=64516得到底边长度的关系式(与h和相关): c=(64516-h2cot)/h=64516/h-hcot将上式代入管道横截面周长的计算式中,得到 s=64516/h-hcot+2h/sin= 64516/h-h/tan+2h/sin因此,取与管道截面周长有关的独立参数h和作为设计变量,即: X=x1; x2=h; 为使液体流速最大,取管道截面周长最小作为目标函数,即 Minf(X)=64516/ x1-

14、 x1/tanx2+2x1/sinx2这是一个二维无约束非线性优化问题。(1)建立目标函数文件fmin.mfunction f=fminx(x) %定义求解最大变量值a=64516; %定义横截面积Af=a/x(1)-x(1)/tan(x(2)*pi/180)+2*x(1)/sin(x(2)*pi/180); %定义目标函数f(2)调用fminsearch函数求解x0=25;45; %定义设计变量h和x,fval=fminsearch(fminx,x0) %调用函数程序运行后得到优化结果:192.998260.0000668.5656梯形的截面高度h=192.9982,梯形截面斜边与底边的夹角

15、=60o,梯形截 问题五:一辆公共汽车能容纳60人,租用该辆车每次旅行乘客人数x和支付的费用p(元)之间的关系由法则2给出.写出公共汽车公司得到的每次旅行的总收入r(x)的表达式,使边界收入等于零的每次旅行的人数为多少?相应的费用为多少?(这个费用是使收入最大的费用,所以公共汽车公司或许应重新考虑其政策)。载客人数x与支付费用的关系式:2 0x60编写MATLAB程序如下:syms x r %定义符号变量r=x*(3-(x/40)2;dr1=diff(r);dr1=(3-1/40*x)2-1/20*x*(3-1/40*x); %定义目标函数pr=solve(dr1); %边际函数dr1的驻点x

16、=pr; %赋值dr2=diff(dr1) ; %总收入函数的二阶导数dr2 =-3/10+3/800*x;dr2程序运行后得到优化结果为:dr1 =(3-1/40*x)2-1/20*x*(3-1/40*x)Pr = 40 120dr2 =-3/10+3/800*x -3/20 3/20当人数为40的时候dr2小雨零取得最大值可采用,此时乘客所支付的费用为4元;当人数为120的时候dr2大于零不符合要求。问题六:在某建筑工程施工中需要制作10000套钢筋,每套钢筋由2.9m、2.1m和1.5m三种不同长度的钢筋各一根组成,它们的直径和材质不同。目前在市场上采购到的同类钢筋的长度每根均为7.4m

17、,问应购进多少根7.4m长的钢筋才能满足工程的需要? 首先分析共有多少种不同的套裁方法,该问题的可能材料方案如表9-13所示。表1 材料方案表下料长度(m)裁 料 方 案 编 号 i123456782.92.11.5料头长度0.10.30.91.10.20.81.4 设以xi(i=1,2,8)表示按第i种裁料方案下料的原材料数量,则可得该问题的数学模型为:f = 1;1;1;Aeq=2 0 0 0 0 0 0 0 0 2 1 0 3 2 1 0 1 0 1 3 0 2 3 4; %定义变量矩阵 beq=10000 10000 10000; %限制变量lb = zeros(8,1); %定义一个

18、零矩阵然后调用linprog函数:x,fval,exitflag,output,lambda = linprog(f,Aeq,beq,lb);%返回包含解x处拉格朗日乘子的lambda参数运行结果为: 1.0e+003 * 5.0000 0.0000 1.6667 2.5000 9.1667e+003 所以最节省的情况需要9167根7.4m长的钢筋,其中第一种方案使用5000,第五种方案使用1667根,第六种方案使用2500根。磁盘中本问题的M文件为opt22_5.m。四、解决线性优化问题 在Matlab中,线性规划问题由linprog函数求解。linprog函数求解线性规划问题。 其中f,

19、x, b, beq, lb和ub为向量,A 和Aeq为矩阵。(四)、语法:1.x=linprog(f,A,b,Aeq,beq)2.x=linprog(f,A,b,Aeq,beq,lb,ub)3.x=linprog(f,A,b,Aeq,beq,lb,ub,x0)4.x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)5.x,fval=linprog(.)6.x,fval,exitflag=linprog(.)7.x,fval,exitflag,output=linprog(.)8.x,fval,exitflag,output,lambda=linprog(.)1.x

20、=linprog(f,A,b)求解问题 min f*x,约束条件为A*x 0 表示目标函数收敛于x处: =0 表示已经到达函数评价或迭代的最大次数: 0 表示目标函数不收敛。 output参数 该参数包含下列优化信息: output.iterations 迭代次数: output.cgiterations PPG迭代次数(只适用于大型规划问题): output.algorithm 所采用的算法。 lambda参数 lambda参数是解x处的拉格朗日乘子。它有以下一些属性:l lambda.lower lambda的下界。 lambda.upper lambda的上界。 lambda.ineql

21、in lambda的线性不等式。 lambda.eqlin lambda的线性等式。其它参数意义同前。问题七:某车间有两台机床甲和乙,可用于加工三种工件。假定这两台机床的可用台时数分别为700和800,三种工件的数量分别为300、500和400,且已知用三种不同机床加工单位数量的不同工件所需的台时数和加工费用(如表 所示),问怎样分配机床的加工任务,才能既满足加工工件的要求,又使总加工费用最低?表2 机床加工情况表机床类型单位工作所需加工台时数单位工件的加工费用可用台时数工件1工件2工件3甲0.41.013910700乙0.51.21.31112800设在甲机床上加工工件1、2和3的数量分别为

22、x1、x2和x3,在乙机床上加工工件1、2和3的数量分别为x4、x5和x6。根据三种工种的数量限制,有x1+x4=300 (对工件1)x2+x5=500 (对工件2)x3+x6=400 (对工件3) 再根据机床甲和乙的可用总台时限制,可以得到其它约束条件。以总加工费用最少为目标函数,组合约束条件,可以得到下面的数学模型:f = 13;9;10;11;12;8; %目标函数系数A = 0.4 1.1 1 0 0 0 %约束条件系数 0 0 0 0.5 1.2 1.3; %约束条件系数b = 700; 800;Aeq=1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1; %输入

23、条件矩阵beq=300 500 400; % 工种的数量限制lb = zeros(6,1); %产生全零矩阵x,fval,exitflag,output,lambda = linprog(f,A,b,Aeq,beq,lb); %将解x处的拉格朗日乘子返回到lambda参数中。 500.0000 300.0000 400.0000 1.1000e+004exitflag = 1可见,在甲机床上加工500个工件2,在乙机床上加工300个工件1、加工400个工件3可在满足条件的情况下使总加工费最小。最小费用为11000元。收敛正常。磁盘中本问题的M文件为opt22_4.m。问题八:min -400x1-1000x2-300x3+200x4 -2x2+x3+x4=0; 2x1+3x216; 3x1+4x224; x1,x1,x3,x40;x35;c=-400,-1000,-300,200; %目标函数系数 A=0,-2,1,1;2,3,0,0;3,4,0,0;16;24; xLB=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1