您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 数学软件求解线性规划数学建模优秀论文
线性规划数学建模与数学实验实验目的实验内容2.掌握用数学软件包求解线性规划问题.1.了解线性规划的基本内容.2.用数学软件包MATLAB求解线性规划问题.5.实验作业.3.用数学软件包LINDO、LINGO求解线性规划问题.1.两个引例.4.建模案例:投资的收益与风险.问题一:任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件.假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表.问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?单位工件所需加工台时数单位工件的加工费用车床类型工件1工件2工件3工件1工件2工件3可用台时数甲0.41.11.013910800乙0.51.21.311128900两个引例解设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6,可建立以下线性规划模型:6543218121110913minxxxxxxz142536123456x400600500s.t.0.41.18000.51.21.39000,1,2,,6ixxxxxxxxxxxxi解答问题二:某厂每日8小时的产量不低于1800件.为了进行质量控制,计划聘请两种不同水平的检验员.一级检验员的标准为:速度25件/小时,正确率98%,计时工资4元/小时;二级检验员的标准为:速度15件/小时,正确率95%,计时工资3元/小时.检验员每错检一次,工厂要损失2元.为使总检验费用最省,该工厂应聘一级、二级检验员各几名?解设需要一级和二级检验员的人数分别为x1、x2人,则应付检验员的工资为:212124323848xxxx因检验员错检而造成的损失为:21211282)%5158%2258(xxxx故目标函数为:2121213640)128()2432(minxxxxxxz约束条件为:0,0180015818002581800158258212121xxxxxx线性规划模型:213640minxxz12121253459s.t.150,0xxxxxx解答返回线性规划模型的一般形式11min,1,2,...,.s.t.0,1,2,...,.niiinikkikiucxaxbinxin目标函数和所有的约束条件都是设计变量的线性函数.min.s.tucxAxbvlbxvub矩阵形式:实际问题中的优化模型T1min(max)(),(,,)s.t.()0,1,2,,nizfxxxxgxim或x是决策变量f(x)是目标函数gi(x)0是约束条件数学规划线性规划(LP)二次规划(QP)非线性规划(NLP)纯整数规划(PIP)混合整数规划(MIP)整数规划(IP)0-1整数规划一般整数规划连续规划优化模型的分类用MATLAB优化工具箱解线性规划minz=cXs.t.AXb1.模型:命令:x=linprog(c,A,b)2.模型:minz=cXs.t.AXbbeqXAeq命令:x=linprog(c,A,b,Aeq,beq)注意:若没有不等式:存在,则令A=[],b=[].bAX3.模型:minz=cXs.t.AXbbeqXAeqVLB≤X≤VUB命令:[1]x=linprog(c,A,b,Aeq,beq,VLB,VUB)[2]x=linprog(c,A,b,Aeq,beq,VLB,VUB,X0)注意:[1]若没有等式约束:,则令Aeq=[],beq=[].[2]其中X0表示初始点beqXAeq4.命令:[x,fval]=linprog(…)返回最优解x及x处的目标函数值fval.解编写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=[];vlb=[0;0;0;0;0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)例1max6543216.064.072.032.028.04.0xxxxxxz123456s.t.0.010.010.010.030.030.03850xxxxxx70005.002.041xx10005.002.052xx90008.003.063xx01,2,,6jxjToMATLAB(xxgh1)例2321436minxxxz123s.t.120xxx301x5002x203x解:编写M文件xxgh2.m如下:c=[634];A=[010];b=[50];Aeq=[111];beq=[120];vlb=[30,0,20];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)ToMATLAB(xxgh2)123min(634)xzxx32120030xxx123111120s.t.01050xxxs.t.Xz8121110913min9008003.12.15.000000011.14.0X500600400100100010010001001X,0654321xxxxxxX改写为:例3问题一的解答问题编写M文件xxgh3.m如下:f=[1391011128];A=[0.41.110000000.51.21.3];b=[800;900];Aeq=[100100010010001001];beq=[400600500];vlb=zeros(6,1);vub=[];[x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub)ToMATLAB(xxgh3)结果:x=0.0000600.00000.0000400.00000.0000500.0000fval=1.3800e+004即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小为13800.例2问题二的解答问题213640minxxzs.t.)45(3521xx改写为:编写M文件xxgh4.m如下:c=[40;36];A=[-5-3];b=[-45];Aeq=[];beq=[];vlb=zeros(2,1);vub=[9;15];%调用linprog函数:[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)ToMATLAB(xxgh4)结果为:x=9.00000.0000fval=360即只需聘用9个一级检验员.注:本问题应还有一个约束条件:x1、x2取整数.故它是一个整数线性规划问题.这里把它当成一个线性规划来解,求得其最优解刚好是整数:x1=9,x2=0,故它就是该整数规划的最优解.若用线性规划解法求得的最优解不是整数,将其取整后不一定是相应整数规划的最优解,这样的整数规划应用专门的方法求解.返回用LINDO、LINGO优化工具箱解线性规划一、LINDO软件包下面我们通过一个例题来说明LINDO软件包的使用方法.LINDO和LINGO软件能求解的优化模型LINGOLINDO优化模型线性规划(LP)非线性规划(NLP)二次规划(QP)连续优化整数规划(IP)1桶牛奶3千克A112小时8小时4千克A2或获利24元/千克获利16元/千克50桶牛奶时间:480小时至多加工100千克A1制订生产计划,使每天获利最大•35元可买到1桶牛奶,买吗?若买,每天最多买多少?•可聘用临时工人,付出的工资最多是每小时几元?•A1的获利增加到30元/千克,是否应改变生产计划?每天:例1加工奶制品的生产计划x1桶牛奶生产A1x2桶牛奶生产A2获利24×3x1获利16×4x2原料供应5021xx劳动时间48081221xx加工能力10031x决策变量目标函数12max7264zxx每天获利约束条件非负约束0,21xx线性规划模型(LP)建立模型max72x1+64x2st2)x1+x2503)12x1+8x24804)3x1100endOBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES2)0.00000048.0000003)0.0000002.0000004)40.0000000.000000NO.ITERATIONS=2DORANGE(SENSITIVITY)ANALYSIS?No20桶牛奶生产A1,30桶生产A2,利润3360元.模型求解OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES2)0.00000048.0000003)0.0000002.0000004)40.0000000.000000原料无剩余时间无剩余加工能力剩余40max72x1+64x2st2)x1+x2503)12x1+8x24804)3x1100end三种资源“资源”剩余为零的约束为紧约束(有效约束)结果解释模型求解reducedcost值表示当该非基变量增加一个单位时(其他非基变量保持不变),目标函数减少的量(对max型问题).OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES2)0.00000048.0000003)0.0000002.0000004)40.0000000.000000NO.ITERATIONS=2也可理解为:为了使该非基变量变成基变量,目标函数中对应系数应增加的量OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES2)0.00000048.0000003)0.0000002.0000004)40.0000000.000000结果解释最优解下“资源”增加1单位时“效益”的增量原料增1单位,利润增48时间增1单位,利润增2能力增减不影响利润影子价格•35元可买到1桶牛奶,要买吗?3548,应该买!•聘用临时工人付出的工资最多每小时几元?2元!RANGESINWHICHTHEBASISISUNCHANGED:OBJCOEFFICIENTRANGESVARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASEX172.00000024.0000008.000000X264.0000008.00000016.000000RIGHTHANDSIDERANGESROWCURRENTALLOWABLEAL
本文标题:数学软件求解线性规划数学建模优秀论文
链接地址:https://www.777doc.com/doc-5800647 .html