
经济数学建模规划实验.ppt
24页单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,线性规划,数学建模实验,问题一:,任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?,两个引例,解,设在甲车床上加工工件1、2、3的数量分别为x,1,、x,2,、x,3,,在乙车床上加工工件1、2、3的数量分别为x,4,、x,5,、x,6,可建立以下线性规划模型:,解答,问题二:,某厂每日8小时的产量不低于1800件为了进行质量控制,计划聘请两种不同水平的检验员一级检验员的标准为:速度25件/小时,正确率98%,计时工资4元/小时;二级检验员的标准为:速度15小时/件,正确率95%,计时工资3元/小时检验员每错检一次,工厂要损失2元为使总检验费用最省,该工厂应聘一级、二级检验员各几名?,解,设需要一级和二级检验员的人数分别为x,1,、x,2,人,则应付检验员的工资为:,因检验员错检而造成的损失为:,故目标函数为:,约束条件为:,线性规划模型:,解答,返 回,1.线性规划的标准形式:,用单纯法求解时,常将标准形式化为:,2.线性规划的基本算法单纯形法,线性规划的基本算法单纯形法,引入松弛变量,x,3,x,4,x,5,将不等式化为等式,即单纯形标准形:,显然,A,的秩,ran(A)=3,任取3个线性无关的列向量,如,P,3,P,4,P,5,称为,一组,基,记为,B.,其余列向量称为,非基,记为,N.,于是,f=c,B,x,B,+c,N,x,N,Ax=Bx,B,+Nx,N,=b,则,x,B,=B,-1,b-B,-1,Nx,N,f=c,B,B,-1,b+(c,N,c,B,B,-1,N)x,N,若可行基进一步满足:,c,N,c,B,B,-1,N0,即:,c,B,B,-1,N-c,N,0,则对一切可行解,x,必有,f(x)c,B,B,-1,b,此时称基可行解,x=(B,-1,b,0),T,为,最优解,.,3,.,最优解的存在性定理,将,A,的列向量重排次序成,A=(B,N),相应,x=(x,B,x,N,),T,c=(c,B,c,N,),基对应的变量,x,B,称为,基变量,非基对应的变量,x,N,称为,非基变量,.,定理1,如果线性规划(1)有可行解,那么一定有基可行解.,定理2,如果线性规划(1)有最优解,那么一定存在一个基可行解,是最优解.,4.基可行解是最优解的判定准则,因为,f=c,B,B,-1,b+(c,N,c,B,B,-1,N)x,N,,,即,f-0 x,B,+(c,B,B,-1,N-c,N,)x,N,=c,B,B,-1,b,5.基可行解的改进,改进方法:,返 回,用MATLAB解线性规划问题,1、模型:,命令:,x=linprog(C,A,b),命令,:,x=linprog(C,A,b,Aeq,beq),注意:若没有不等式:存在,则令,A=,b=.,2、模型,:,3、模型,:min,z=CX,VLBXVUB,命令,x=linprog(C,A,b,Aeq,beq,VLB,VUB),注意:若没有等式约束:,则令,Aeq=,beq=.,4、命令:,x,fval=linprog(),最优解及处的目标函数值fval.,解 编写M文件xxgh1.m如下:,c=-0.4-0.28-0.32-0.72-0.64-0.6;,A=0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.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),To Matlab(xxgh1),解:,编写M文件xxgh2.m如下:,c=6 3 4;,A=0 1 0;,b=50;,Aeq=1 1 1;,beq=120;,vlb=30,0,20;,vub=;,x,fval=linprog(c,A,b,Aeq,beq,vlb,vub),To Matlab(xxgh2),S.t.,改写为:,例3,问题一的解答,问题,编写M文件xxgh3.m如下:,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=800;900;,Aeq=1 0 0 1 0 0,0 1 0 0 1 0,0 0 1 0 0 1;,beq=400 600 500;,vlb=zeros(6,1);,vub=;,x,fval=linprog(f,A,b,Aeq,beq,vlb,vub),To Matlab(xxgh3),结果:,x=,0.0000,600.0000,0.0000,400.0000,0.0000,500.0000,fval=1.3800e+004,即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小为13800。
例2,问题二的解答,问题,改写为:,编写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),To Matlab(xxgh4),结果为:,x=,9.0000,0.0000,fval=360,即只需聘用9个一级检验员注:,本问题应还有一个约束条件:x,1,、x,2,取整数故它是一个,整数线性规划,问题这里把它当成一个线性规划来解,求得其最优解刚好是整数:x,1,=9,x,2,=0,故它就是该整数规划的最优解若用线性规划解法求得的最优解不是整数,将其取整后不一定是相应整数规划的最优解,这样的整数规划应用专门的方法求解返 回,实验作业,某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:,1)若投资0.8万元可增加原料1千克,问应否作这项投资.,2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划.,返 回,。
