1、数学模型课程设计三课程设计名称: 设计三:数学规划 指导教师: 张莉 课程设计时数: 8 课程设计设备:安装了Matlab、LINDO、LINGO软件的计算机 课程设计日期: 实验地点: 第五教学楼北902 课程设计目的:1. 了解线性规划、整数规划、0-1规划、非线性规划的基本内容;2. 掌握MATLAB优化工具箱求解各类规划问题;3. 掌握用LINDO软件求解线性规划问题;4. 掌握用LINGO软件求解线性规划和非线性规划问题。课程设计准备:1. 在开始本实验之前,请回顾相关内容;2. 需要一台准备安装Windows XP Professional操作系统和装有数学软件的计算机。课程设计内
2、容及要求要求:设计过程必须包括问题的简要叙述、问题分析、实验程序及注释、实验数据及结果分析和实验结论几个主要部分。1. 任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件,假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎么样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?要求用MATLAB和LINGO软件进行求解,并比较其结果。车床类型单位工件所需加工台时数单位工件的加工费用可用台时数工件1工件2工件3工件1工件2工件3甲0.41.11.013910800
3、乙0.51.21.311128900问题简述:有甲、乙两台车床可用台时数分别为:800和900,三种工件的数量分别为400、600和500,问为使费用最小,应怎样安排工作任务?问题分析:为使费用最小,则可使单位工件所需加工台时数少和单位工件的加工费用小,所以可以设甲加工工件1、工件2、工件3的数量分别为、,乙加工工件1、工件2、工件3的数量分别为、,最小费用为Z。建立线性规划模型如下: 实验程序及注释:Matlab程序如下:%在matlabM文件下输入如下代码:z=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=
4、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(1,6);%参数的上下限vub=;x,zval=linprog(z,A,B,aeq,beq,vlb,vub)%返回x处的函数值程序结果如下:x = 0.0000 600.0000 0.0000 400.0000 0.0000 500.0000zval = 1.3800e+004得出结果:甲生产工件2: 600件,乙生产工件1: 400件,工件3: 500件,最小费用为13800元。Lingo程序如下:model:min=13*x11+9*
5、x12+10*x13+11*x21+12*x22+8*x23;x11+x21=400;x12+x22=600;x13+x23=500;0.4*x11+1.1*x12+1.0*x13=800;0.5*x21+1.2*x22+1.3*x23=45;x1=9;x2=4x1+x2+y1+y2=3x1+x2+y1+y2+y3=4x2+y1+y2+y3+y4=6x1+y2+y3+y4+y5=5x1+x2+y3+y4+y5=6x1+x2+y4+y5=8x1+x2+y5=8y1+y2+y3+y4+y5=4;x1+x2+y1+y2=3;x1+x2+y1+y2+y3=4;x2+y1+y2+y3+y4=6;x1+y
6、2+y3+y4+y5=5;x1+x2+y3+y4+y5=6;x1+x2+y4+y5=8;x1+x2+y5=8;y1+y2+y3+y4+y5=3;gin(x1);gin(x2);gin(y1);gin(y2);gin(y3);gin(y4);gin(y5);end程序结果为:Global optimal solution found. Objective value: 820.0000 Objective bound: 820.0000 Infeasibilities: 0.000000 Extended solver steps: 0 Total solver iterations: 46 V
7、ariable Value Reduced Cost X1 3.000000 100.0000 X2 4.000000 100.0000 Y1 0.000000 40.00000 Y2 2.000000 40.00000 Y3 0.000000 40.00000 Y4 0.000000 40.00000 Y5 1.000000 40.00000所得结果为:x1=3,x2=4,y2=2,y1=y3=y4=0,y5=1,最小费用为:820元。结果分析:用LINDO和LINGO求解的费用都为820元,虽需要的服务员总数相同,但是分配方案有所不同。不过都可使雇佣服务员的费用最低。(2)当不能雇佣半时服
8、务员时,则可以令都为0,用LINDO和LINGO软件求解结果为:LINDO程序的结果为:OBJECTIVE FUNCTION VALUE 1) 1100.000 VARIABLE VALUE REDUCED COST X1 5.000000 100.000000 X2 6.000000 100.000000 Y1 0.000000 40.000000 Y2 0.000000 40.000000 Y3 0.000000 40.000000 Y4 0.000000 40.000000 Y5 0.000000 40.000000LINGO程序的结果为:Global optimal solution
9、found. Objective value: 1100.000 Objective bound: 1100.000 Infeasibilities: 0.000000 Extended solver steps: 0 Total solver iterations: 0 Variable Value Reduced Cost X1 5.000000 100.0000 X2 6.000000 100.0000 Y1 0.000000 40.00000 Y2 0.000000 40.00000 Y3 0.000000 40.00000 Y4 0.000000 40.00000 Y5 0.0000
10、00 40.00000两者求解的结果相同,费用都为1100元,x1=5,x2=6,每天至少增加280元的经费。(3)如果每天雇佣半时服务员的人数没有限制,则取消的条件约束,用LINDO和LINGO软件求解。lINDO的程序结果为:OBJECTIVE FUNCTION VALUE 1) 560.0000 VARIABLE VALUE REDUCED COST X1 0.000000 100.000000 X2 0.000000 100.000000 Y1 4.000000 40.000000 Y2 0.000000 40.000000 Y3 0.000000 40.000000 Y4 2.000
11、000 40.000000 Y5 8.000000 40.000000即需要半时服务员y1=4,y4=2,y5=8,费用为560元,每天可以减少费用260元。LINGO的程序结果为:Global optimal solution found. Objective value: 560.0000 Objective bound: 560.0000 Infeasibilities: 0.000000 Extended solver steps: 0 Total solver iterations: 2 Variable Value Reduced Cost X1 0.000000 100.0000
12、 X2 0.000000 100.0000 Y1 6.000000 40.00000 Y2 0.000000 40.00000 Y3 0.000000 40.00000 Y4 0.000000 40.00000 Y5 8.000000 40.00000LINGO的求解结果和LINDO的一样。4. 投资问题:假设某公司在下一个计划期内可用于投资的总资本为b万元,可供选择的投资项目共有n个,分别记为 已知对第j个项目的投资总额为万元,而收益总额为万元。问如何进行投资,才能使利润率(即单位投资可获得的收益)最高?在建立模型以后,请自己赋予题中变量于数据用LINGO软件进行求解。问题简述:投资的总资本
13、为b万元,投资项目共n个,第j个项目的投资总额为万元,而收益总额为万元,问如何投资才能使利润率最高。问题分析:本题要求利润率最低,如何投资的问题,设每个项目的投资额为。模型的建立: 模型的求解:本题要求自己设计数据,则设b为3000万元,一共5个项目,利润率分别为10万元,15万元,25万元,20万元,30万元,则目标函数为:max LINGO程序为:model:max (10*x1+15*x2+25*x3+20*x4+30*x5)/(x1+x2+x3+x4+x5);x1+x2+x3+x4+x5=3000gin(x1);gin(x2);gin(x3);gin(x4);gin(x5); end课程设计总结:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1