实验数学六:MATLAB在优化中的应用.ppt

实验数学六:MATLAB在优化中的应用.ppt

ID:52426822

大小:634.51 KB

页数:49页

时间:2020-04-06

实验数学六:MATLAB在优化中的应用.ppt_第1页
实验数学六:MATLAB在优化中的应用.ppt_第2页
实验数学六:MATLAB在优化中的应用.ppt_第3页
实验数学六:MATLAB在优化中的应用.ppt_第4页
实验数学六:MATLAB在优化中的应用.ppt_第5页
资源描述:

《实验数学六:MATLAB在优化中的应用.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MATLAB在优化中的应用2.1实验目的在研究与解决具体问题中,经常遇到有关优化问题,本实验的目的是学会用MATLAB软件求解一些优化问题,包括求解线性规划和非线性规划等问题。2.2实验内容1、线性规划求解线性规划是运筹学的一个重要分支,它起源于工业生产组织管理的决策问题。在数学上它用来确定多变量线性函数在变量满足线性约束条件下的最优值;随着计算机的发展,出现了如单纯形法等有效算法,它在工农业、军事、交通运输、决策管理与规划等领域中有广泛的应用。1问题一:任务分配问题:某车间有甲、乙两台机床,可用于加

2、工三种工件。假定这两台车床的可工作时间分别为800和900,三种工件的数量分别为400、600和500,且已知车床甲加工单位数量三种工件所需的时间和加工费分别为0.4、1.1、1和13、9、10,车床乙加工单位数量三种工件所需的时间和加工费分别为0.5、1.2、1.3和11、12、8。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?2解设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6。可建立以下线性规划模型:3问

3、题二:某厂每日8小时的产量不低于1800件。为了进行质量控制,计划聘请两种不同水平的检验员。一级检验员的标准为:速度25件/小时,正确率98%,计时工资4元/小时;二级检验员的标准为:速度15件/小时,正确率95%,计时工资3元/小时。检验员每错检一次,工厂要损失2元。为使总检验费用最省,该工厂应聘一级、二级检验员各几名?解设需要一级和二级检验员的人数分别为x1、x2人,则应付检验员的工资为:因检验员错检而造成的损失为:故目标函数为:4约束条件为:线性规划模型:5一般线性规划问题的数学表达式:max(

4、min)f=s.t…….用矩阵向量符号表示:max(min)f=cX6其中max(min)f=cX7用MATLAB优化工具箱解线性规划的命令如下:1、模型:minz=cXs.tAX≤b命令:x=linprog(c,A,b)2、模型:minz=cX命令:x=linprog(c,A,b,Aeq,beq)如果没有不等式:存在,则令A=[],b=[].83、模型:minz=cX命令:x=linprog(c,A,b,Aeq,beq,vlb,vub)如果没有等式约束:则令Aeq=[],beq=[].存在,4、命令

5、:x=linprog(c,A,b,Aeq,beq,vlb,vub,x0)也用于求模型3,其中x0表示初始值。5、命令:[x,fval]=linprog(…)返回最优解x及x处的目标函数值fval.9解用命令3,编写M文件xxgh1.m如下:c=[-0.4-0.28-0.32-0.72-0.64-0.6];A=[0.010.010.010.030.030.03;0.02000.0500;00.02000.050;000.03000.08];b=[850;700;100;900];Aeq=[];beq=[

6、];vlb=[0;0;0;0;0;0];vub=[];10[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)结果:x=1.0e+004*3.50000.50003.00000.00000.00000.0000fval=-2.5000e+00411例2s.t0,i=1,2j=1,2,3.解用命令3,编写M文件xxgh2.m如下:c=[10564812];A=[];b=[];Aeq=[111000;000111;100100;010010;001001];12beq=[60;1

7、00;50;70;40];vlb=[0;0;0;0;0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)结果:x=0.000020.000040.000050.000050.00000.0000fval=940.000013例3用MATLAB求问题一:编写M文件xxgh3.m如下:c=[1391011128];A=[0.41.11000;0000.51.21.3];b=[800;900];Aeq=[100100;010010;001001];14beq

8、=[400;600;500];vlb=[0;0;0;0;0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)结果:x=0.0000600.00000.0000400.00000.0000500.0000fval=1.3800e+004即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小为13800。15例4用MATLAB求解问题二:编写M文件xx

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。