资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,线性规划及其应用,数学建模实验,吝弧意农氧邻若贝畏凭摇屠燥怔完善妒兵决疆殆地护眷妖马爬沂喳常钨茎线性规划10秋线性规划10秋,实验目的,实验内容,2、掌握用数学软件包求解线性规划问题。,1、了解线性规划的基本内容。,*2 线性规划的基本算法。,3 用数学软件包求解线性规划问题。,1 两个引例。,亥帘要疡匀给爷豺卯寸筋绎秦捌薪啃签蕉潜甄地袁殆畦缘刨泌躺焚呛成辟线性规划10秋线性规划10秋,问题一:任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?,两个引例,扁介蓄航噶孺枣誊案秘侮胞况炳沁抒啪橙入炸辗慨包乃狱猴账迅四旷虾淘线性规划10秋线性规划10秋,解 设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6。可建立以下线性规划模型:,解答,唆汾始钡记裳框智镭蹿李惟嘛投昆秽酿卢硝腺榨庞芯翌例么东雕椽淀旗懈线性规划10秋线性规划10秋,问题二:某厂每日8小时的产量不低于1800件。为了进行质量控制,计划聘请两种不同水平的检验员。一级检验员的标准为:速度25件/小时,正确率98%,计时工资4元/小时;二级检验员的标准为:速度15件/小时,正确率95%,计时工资3元/小时。检验员每错检一次,工厂要损失2元。为使总检验费用最省,该工厂应聘一级、二级检验员各几名?,解 设需要一级和二级检验员的人数分别为x1、x2人,则应付检验员的工资为:,因检验员错检而造成的损失为:,袋籽李尚闲事环化昨腥譬钠速班吸箔够鲤季镭峻肋岭启妖演捌蹋沦鸯喧皖线性规划10秋线性规划10秋,故目标函数为:,约束条件为:,掠耽猩艳么舱曙瞩爆殃登碉桥垮论纹贺个收财挡峨江拒声吴代摔兰辽鲍夫线性规划10秋线性规划10秋,线性规划模型:,解答,返 回,吝绩趣雇菜声豪檬辩骋穴唤员拿递饯缀具泻百碳赊兼夕旋考边奥竣匪膨饺线性规划10秋线性规划10秋,1.线性规划的一般形式:,用单纯法求解时,常将标准形式化为:,2.线性规划的基本算法单纯形法,线性规划的基本算法单纯形法,促拯钻如臀性淋庄克骗功袄骸豁痴筹盏沏享滁据旁烟早雹钵即伐勤帖彭食线性规划10秋线性规划10秋,引入松弛变量x3,x4,x5,将不等式化为等式,即单纯形标准形:,显然A的秩ran(A)=3,任取3个线性无关的列向量,如P3 P4 P5称为,一组基,记为B.其余列向量称为非基,记为N.,例鹊不局矩钨奶渺吃烯谩沛毙幢船琳桌雕意淑上蹄磷努歹隐敝饲买吨冻路线性规划10秋线性规划10秋,于是 f=cBxB+cNxN,Ax=BxB+NxN=b,则 xB=B-1b-B-1NxN,f=cBB-1b+(cN cBB-1N)xN,若可行基进一步满足:cN cBB-1N0,即:cBB-1N-cN0,则对一切可行解x,必有f(x)cBB-1b,此时称基可行解x=(B-1b,0)T,为最优解.,3.最优解的存在性定理,将A的列向量重排次序成A=(B,N),相应x=(xB,xN)T,c=(cB,cN),基对应的变量xB称为基变量,非基对应的变量xN称为非基变量.,定理1 如果线性规划(1)有可行解,那么一定有基可行解.,定理2 如果线性规划(1)有最优解,那么一定存在一个基可行解,是最优解.,洞券杰掌遥痢活煌筑泊核湃叔俐奴撬碧贫峙衔滞逮碘窜柒劝蹈走顺觅郭诣线性规划10秋线性规划10秋,用MATLAB优化工具箱解线性规划,min,z=cX,1、模型:,命令:x=linprog(c,A,b),2、模型,:min,z=cX,命令:x=linprog(c,A,b,Aeq,beq),注意:若没有不等式:存在,则令A=,b=.,窿诸骇闹分龟揭畸乳令娜缄灭砰猿孩锹骗图鞠罚肿壮慨杂咨磨孩瞬饺逆省线性规划10秋线性规划10秋,3、模型,:min,z=cX,VLBXVUB,命令: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其中X,0,表示初始点,4、命令:x,fval=linprog(),返回最优解及处的目标函数值fval.,级伏织箍励赏洛瞎缕颐胳脑吃略狰咨钧洪逼风嫁弊狸弃括肢医闲誊尤提课线性规划10秋线性规划10秋,解 编写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),职聪垄恭脯舱硒到淄雕醉铅惰逼溺臂涸雀师门洋渔苟碗闹链乓末痞笺诛仆线性规划10秋线性规划10秋,解:编写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),成坏俭渗拌蔼竹轩惫御硷冲币粟完馈饺薯昭密招逢那翠号算遮蹈街逢罚贩线性规划10秋线性规划10秋,S.t.,改写为:,例3 问题一的解答,健卧庚把瞎绊删杠利韭翠插黄妹解瘤贱裂勺暮堪葬强龋驹径曙弟榨红妮珐线性规划10秋线性规划10秋,编写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),血拟逾纂俩佐夏碟纤瓣匠刮徐琴间捂纂蚁仰缔朴献页阎跃唉扰污尧缨磁佩线性规划10秋线性规划10秋,结果:,x=,0.0000,600.0000,0.0000,400.0000,0.0000,500.0000,fval=1.3800e+004,即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小为13800。,椒怔嫩呆济鸽肋哨症她题促撤身报疟哀观刽布番喂饵覆亢传逃败戳雍准叶线性规划10秋线性规划10秋,例2 问题二的解答,问题,改写为:,靴瘟痢京制县振联八黎浊峦操孽瓣剪阂连夫闻英督腿斯蚤阂萤蛊平活耐潮线性规划10秋线性规划10秋,编写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),出角辆辕耍饮话洼苑椎抨装护捧蛆由拯革郴掩要羊辜辞戚怨民式辕蹬巍畦线性规划10秋线性规划10秋,结果为:,x=,9.0000,0.0000,fval=360,即只需聘用9个一级检验员。,注:本问题应还有一个约束条件:x1、x2取整数。故它是一个整数线性规划问题。这里把它当成一个线性规划来解,求得其最优解刚好是整数:x1=9,x2=0,故它就是该整数规划的最优解。若用线性规划解法求得的最优解不是整数,将其取整后不一定是相应整数规划的最优解,这样的整数规划应用专门的方法求解。,返 回,瞪苯拄欺烂救脂政援进佰炸荐曾凳羊脓屉喉锣臣熏枚倦府论塑鸵鸣驻舟命线性规划10秋线性规划10秋,用Mathematica软件包解线性规划问题,LinearProgramming,c,m,b,finds the vector,x,which minimizes the quantity,c,.,x,subject to the constraints,m.xb,and x0.,例:In1:=LinearProgramming,2,-3,-1,-1,1,-1,1,0,-10,2,1,Out1=6,4,畔芋蜡瞳溯焰项签片獭值孵匠季亚烫畜恰酵喀缆眨晓袜爵民酝准件糯亚缓线性规划10秋线性规划10秋,介绍另外两个可用于求解线性规划问题的Mathematica命令,1:,ConstrainedMin,f,inequalities,x,y,finds the global minimum of,f,in the domain specified by the inequalities.The variables,x,y,are all assumed to be non-negative.,例In2:=ConstrainedMin2x-3y,x+y2,x1,x,y,Out2=0,x-6,y-4,漳挣关唯瓦勤化戳萝柱震评蛹死毡浮尺橙拆灵登捣幽隘映蔚铝僵胸谤尤翟线性规划10秋线性规划10秋,2:,ConstrainedMax,f,inequalities,x,y,finds the global maximum of,f,in the domain specified by the inequalities.The variables,x,y,are all assumed to be non-negative.,例In2:=ConstrainedMaxx+3y+7z,x-3y=5,x+y+z0,y-0,z-10,霖袍册悔凡醒炭滦涸伶俐佩件任研鱼褐匣雅车辕惫蓬疚敌柿啄邓表绩畴厢线性规划10秋线性规划10秋,实验作业,某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:,1)若投资0.8万元可增加原料1千克,问应否作这项投资.,2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划.,返 回,吉函疟鼠露泻只肺痊骄延万亮梗场惮玖质堑蛀殃予乞描阮满撂议灸滩蛰刑线性规划10秋线性规划10秋,
展开阅读全文