数学建模第4讲-线性规划课件

上传人:txadgkn****dgknqu... 文档编号:241253396 上传时间:2024-06-12 格式:PPT 页数:46 大小:982.17KB
返回 下载 相关 举报
数学建模第4讲-线性规划课件_第1页
第1页 / 共46页
数学建模第4讲-线性规划课件_第2页
第2页 / 共46页
数学建模第4讲-线性规划课件_第3页
第3页 / 共46页
点击查看更多>>
资源描述
实验目的实验目的实验内容实验内容2.掌握用数学软件包求解线性规划问题掌握用数学软件包求解线性规划问题.1.了解线性规划的基本内容了解线性规划的基本内容.2.用数学软件包用数学软件包MATLAB求解线性规划问题求解线性规划问题.5.实验作业实验作业.3.用数学软件包用数学软件包LINDO、LINGO求解线性规划问题求解线性规划问题.1.两个引例两个引例.4.建模案例:投资的收益与风险建模案例:投资的收益与风险.6/12/2024数学建模实验目的实验内容2.掌握用数学软件包求解线性规划问题.1.1问题一问题一:任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件.假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表.问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?两个引例两个引例6/12/2024数学建模问题一:任务分配问题:某车间有甲、乙两台机床,可用于2解解 设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6,可建立以下线性规划模型:解答6/12/2024数学建模解 设在甲车床上加工工件1、2、3的数量分别为x1、x3问题二:问题二:某厂每日8小时的产量不低于1800件.为了进行质量控制,计划聘请两种不同水平的检验员.一级检验员的标准为:速度25件/小时,正确率98%,计时工资4元/小时;二级检验员的标准为:速度15件/小时,正确率95%,计时工资3元/小时.检验员每错检一次,工厂要损失2元.为使总检验费用最省,该工厂应聘一级、二级检验员各几名?解解 设需要一级和二级检验员的人数分别为x1、x2人,则应付检验员的工资为:因检验员错检而造成的损失为:6/12/2024数学建模问题二:某厂每日8小时的产量不低于1800件.为了进行4故目标函数为:故目标函数为:约束条件为:6/12/2024数学建模故目标函数为:约束条件为:8/9/2023数学建模5线性规划模型:线性规划模型:解答返回6/12/2024数学建模线性规划模型:解答返 回8/9/2023数学建模6线性规划模型的一般形式线性规划模型的一般形式 目标函数和所有的约束条件都是设计变量目标函数和所有的约束条件都是设计变量的线性函数的线性函数.6/12/2024数学建模线性规划模型的一般形式 目标函数和所有的约束条7实际问题中实际问题中的优化模型的优化模型x是决策变量是决策变量f(x)是目标函数是目标函数gi(x)0是约束条是约束条件件数学规划数学规划线性规划线性规划(LP)二次规划二次规划(QP)非线性规划非线性规划(NLP)纯整数规划纯整数规划(PIP)混合整数规划混合整数规划(MIP)整数规划整数规划(IP)0-1整数规划整数规划一般整数规划一般整数规划连续规划连续规划 优化模型的分类优化模型的分类6/12/2024数学建模实际问题中x是决策变量f(x)是目标函数gi(x)0是约束8用用MATLAB优化工具箱解线性规划优化工具箱解线性规划minz=cX 1.模型:命令:x=linprog(c,A,b)2.模型:minz=cX 命令:x=linprog(c,A,b,Aeq,beq)注意:若没有不等式:存在,则令A=,b=.6/12/2024数学建模用MATLAB优化工具箱解线性规划min z=cX 93.模型:minz=cX VLBXVUB命令:1x=linprog(c,A,b,Aeq,beq,VLB,VUB)2 x=linprog(c,A,b,Aeq,beq,VLB,VUB,X0)注意:1若没有等式约束:,则令Aeq=,beq=.2其中X0表示初始点4.命令:x,fval=linprog()返回最优解及处的目标函数值fval.6/12/2024数学建模3.模型:min z=cX VLBXVUB命令: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)ToMATLAB(xxgh1)6/12/2024数学建模解 编写M文件xxgh1.m如下:To MATLAB(x11解解:编写编写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)ToMATLAB(xxgh2)6/12/2024数学建模解:编写M文件xxgh2.m如下:To MATLAB(12s.t.改写为:例例3 问题一的解答问题问题6/12/2024数学建模s.t.改写为:例3 问题一的解答 问题8/9/202313编写编写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)ToMATLAB(xxgh3)6/12/2024数学建模编写M文件xxgh3.m如下:To MATLAB(xxgh14结果结果:x=0.0000 600.0000 0.0000 400.0000 0.0000 500.0000fval=1.3800e+004即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小为13800.6/12/2024数学建模结果:8/9/2023数学建模15例例2 问题二的解答问题问题改写为:6/12/2024数学建模例2 问题二的解答 问题改写为:8/9/2023数学建模16编写编写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)6/12/2024数学建模编写M文件xxgh4.m如下:To MATLAB(xxgh17结果为:结果为:x=9.0000 0.0000fval=360即只需聘用9个一级检验员.注:注:本问题应还有一个约束条件:x1、x2取整数.故它是一个整数线性规划整数线性规划问题.这里把它当成一个线性规划来解,求得其最优解刚好是整数:x1=9,x2=0,故它就是该整数规划的最优解.若用线性规划解法求得的最优解不是整数,将其取整后不一定是相应整数规划的最优解,这样的整数规划应用专门的方法求解.返回6/12/2024数学建模结果为:注:本问题应还有一个约束条件:x1、x2取整数.18用用LINDO、LINGO优化工具箱解线性规划优化工具箱解线性规划6/12/2024数学建模用LINDO、LINGO优化工具箱解线性规划8/9/202319一、一、LINDO软件包软件包 下面我们通过一个例题来说明下面我们通过一个例题来说明LINDO软件包的使用方法软件包的使用方法.6/12/2024数学建模一、LINDO软件包 下面我们通过一个例20LINDOLINDO和和LINGOLINGO软件能求解的优化模型软件能求解的优化模型 LINGO LINDO优化模型优化模型线性规划线性规划(LP)非线性规划非线性规划(NLP)二次规划二次规划(QP)连续优化连续优化整数规划整数规划(IP)6/12/2024数学建模LINDO和LINGO软件能求解的优化模型优化模型线性规划非211桶牛奶3千克A112小时8小时4千克A2或获利24元/千克获利16元/千克50桶牛奶桶牛奶 时间时间:480小小时时 至多加工至多加工100千克千克A1 制订生产计划,使每天获利最大制订生产计划,使每天获利最大 35元可买到元可买到1桶牛奶,买吗?若买,每天最多买多少桶牛奶,买吗?若买,每天最多买多少?可聘用临时工人,付出的工资最多是每小时几元可聘用临时工人,付出的工资最多是每小时几元?A1的获利增加到的获利增加到 30元元/千克,是否应改变生产计划?千克,是否应改变生产计划?每天:每天:例例1 加工奶制品的生产计划加工奶制品的生产计划6/12/2024数学建模1桶牛奶 3千克A1 12小时 8小时 4千克A2 或获利222x1桶牛奶生产桶牛奶生产A1 x2桶牛奶生产桶牛奶生产A2 获利获利 243x1 获利获利 164 x2 原料供应原料供应劳动时间劳动时间加工能力加工能力决策变量决策变量 目标函数目标函数 每天获利每天获利约束条件约束条件非负约束非负约束线性线性规划规划模型模型(LP)建立模型建立模型6/12/2024数学建模x1桶牛奶生产A1 x2桶牛奶生产A2 获利 243x1 23max 72x1+64x2st2)x1+x2503)12x1+8x24804)3x1100end OBJECTIVE FUNCTION VALUE 1)3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2)0.000000 48.000000 3)0.000000 2.000000 4)40.000000 0.000000 NO.ITERATIONS=2DO RANGE(SENSITIVITY)ANALYSIS?No20桶牛奶生产桶牛奶生产A1,30桶生产桶生产A2,利润,利润3360元元.模型求解模型求解6/12/2024数学建模max 72x1+64x2 OBJECTIVE 24 OBJECTIVE FUNCTION VALUE 1)3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2)0.000000 48.000000 3)0.000000 2.000000 4)40.000000 0.000000原料无剩余原料无剩余时间无剩余时间无剩余加工能力剩余加工能力剩余40max 72x1+64x2st2)x1+x2503)12x1+8x24804)3x1100end三三种种资资源源“资源资源”剩余为零的约束为紧约束(有效约束)剩余为零的约束为紧约束(有效约束)结果解释结果解释6/12/2024数学建模 OBJECTIVE FUNCTION VALUE原料25模型求解模型求解 reduced cost值值表表示示当当该该非非基基变变量量增增加加一一个个单单位位时时(其其他他非非基基变变量量保保持持不不变变),目目标标函函数数减减少少的的量量(对对max型问题型问题).OBJECTIVE FUNCTION VALUE 1)3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2)0.000000 48.000000 3)0.000000 2.000000 4)40.000000 0.000000 NO.ITERATIONS=2也可理解为:也可理解为:为为了了使使该该非非基基变变量量变变成成基基变变量量,目目标标函函数数中中对对应应系数应增加的量系数应增加的量6/12/2024数学建模模型求解 reduced cost值表示当该非基变量增加一个26 OBJECTIVE FUNCTION VALUE 1)3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2)0.000000 48.000000 3)0.000000 2.000000 4)40.000000 0.000000结果解释结果解释 最优解下最优解下“资源资源”增加增加1单位时单位时“效益效益”的增量的增量 原料增原料增1单位单位,利润增利润增48 时间增时间增1单位单位,利润增利润增2 能力增减不影响利润能力增减不影响利润影子价格影子价格 35元可买到元可买到1桶牛奶,要买吗?桶牛奶,要买吗?35”(或(或“=”(或(或“”(或“”)309.变量不能出现在一个约束条件的右端变量不能出现在一个约束条件的右端10.表达式中不接受括号表达式中不接受括号“()”和逗号和逗号“,”等任何符等任何符号号,例例:400(X1+X2)需写为需写为400X1+400X211.表达式应化简,如表达式应化简,如2X1+3X2-4X1应写成应写成-2X1+3X212.缺省假定所有变量非负;可在模型的缺省假定所有变量非负;可在模型的“END”语句后语句后用用“FREE name”将变量将变量name的非负假定取消的非负假定取消13.可在可在“END”后用后用“SUB”或或“SLB”设定变量上下设定变量上下界界14.例如:例如:“sub x1 10”的作用等价于的作用等价于“x1=345.5 x1+x2=345.5;x1=98;x1=98;2*x1+x2=600 2*x1+x2=345.5 x1+x2=345.5 x1=98 x1=98 2*x1+x2=600 2*x1+x21 c=-0.05-0.27-0.19-0.185-0.185;Aeq=1 1.01 1.02 1.045 1.065;beq=1;A=0 0.025 0 0 0;0 0 0.015 0 0;0 0 0 0.055 0;0 0 0 0 0.026;b=a;a;a;a;vlb=0,0,0,0,0;vub=;x,val=linprog(c,A,b,Aeq,beq,vlb,vub);a x=x Q=-val plot(a,Q,.),axis(0 0.1 0 0.5),hold on a=a+0.001;end xlabel(a),ylabel(Q)ToMATLAB(xxgh5)6/12/2024数学建模a=0;To MATLAB(xxgh5)8/9/2023数41计算结果:计算结果:6/12/2024数学建模计算结果:8/9/2023数学建模42五、五、结果分析结果分析返回4 4.在a=0.006附近有一个转折点,在这一点左边,风险增加很少时,利润增长 很快.在这一点右边,风险增加很大时,利润增长很缓慢,所以对于风险和 收益没有特殊偏好的投资者来说,应该选择曲线的拐点作为最优投资组合,大约是a*=0.6%,Q*=20%,所对应投资方案为:风险度收益x0 x1x2x3x4 0.0060 0.2019 0 0.2400 0.4000 0.1091 0.2212 3.3.曲线上的任一点都表示该风险水平的最大可能收益和该收益要求的最小风险.对于不同风险的承受能力,选择该风险水平下的最优投资组合.2 2.当投资越分散时,投资者承担的风险越小,这与题意一致.即:冒险的投资者会出现集中投资的情况,保守的投资者则尽量分散投资.1.1.风险大,收益也大.6/12/2024数学建模五、结果分析返 回4.在a=0.006附近有一个转折点,43精品课件精品课件!6/12/2024数学建模精品课件!8/9/2023数学建模44精品课件精品课件!6/12/2024数学建模精品课件!8/9/2023数学建模45实验作业实验作业某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过800箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:1)若投资0.8万元可增加原料1千克,问应否作这项投资.2)若每100箱甲饮料获利可增加1万元,问应否改变生产计划.返回6/12/2024数学建模实验作业 某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料646
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!