大学生数学建模规划的基础实验答案.docx
- 文档编号:5869568
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:15
- 大小:73.46KB
大学生数学建模规划的基础实验答案.docx
《大学生数学建模规划的基础实验答案.docx》由会员分享,可在线阅读,更多相关《大学生数学建模规划的基础实验答案.docx(15页珍藏版)》请在冰豆网上搜索。
大学生数学建模规划的基础实验答案
实验作业——规划基础练习
格式要求——写出:
程序、结果、解释、进一步
(一)线性规划问题
1.用matlab及lingo求解下列线性规划问题:
程序:
lindo
Max3x1-x2-x3
St
X1-2x2+x3<11
-4x1+x2+2x3>3
-2x1+x3=1
End
max=3*x1-x2-x3 ;
x1-2*x2+x3<=11 ;
-4*x1+x2+2*x3>=3 ;
-2*x1+x3=1 ;
结果:
z=4,x1=4,x2=1,x3=9
2.某班男同学30人、女同学20人,植树。
工作效率(个/人、天)如下表。
如何安排,植树最多?
解:
假设分别有x1、x2、x3个男同学挖坑、栽树、浇水,y1、y2、y3个女同学挖坑、栽树、浇水。
Maxf=20x1+10y1
程序
MAX20x1+10y1
ST
x1+x2+x3=30
y1+y2+y3=20
20x1+10y1-30x2-20y2=0
30x2+20y2-25x3-15y3=0
END
GIN6
所求最优解为fmax=340棵,
X1=13(男13人全天挖坑),X2=4(男4人全天栽树),X3=13(男13人全天浇水);
Y1=8,(女8人全天挖坑),Y2=11(女11人全天栽树),Y3=1(女1人全天浇水)
其实可以取消整数的限制
MAX20x1+10y1
ST
x1+x2+x3=30
y1+y2+y3=20
20x1+10y1-30x2-20y2=0
30x2+20y2-25x3-15y3=0
END
所求最优解为fmax=350棵,
X1=35/2(男17人全天挖坑,1个人挖半天坑)
X2=0,
X3=25/2(男12人全天浇水,1个人浇水半天);
Y1=0,
Y2=35/2(女17人全天栽树,1个人栽树半天),
Y3=5/2(女2人全天浇水,1个人浇水半天)。
结果更优,一半可以解释为一天中的一半时间
若用lingo语言编程,则程序如下:
model:
sets:
nan/wa,zai,jiao/:
nanxl,x;
nv/wa,zai,jiao/:
nvxl,y;
endsets
data:
nanxl=20,30,25;
nvxl=10,20,15;
nannum=30;
nvnum=20;
enddata
max=nanxl
(1)*x
(1)+nvxl
(1)*y
(1);
@sum(nan:
x)=nannum;
@sum(nv:
y)=nvnum;
!
@for(nan:
@gin(x));
!
@for(nv:
@gin(y));
nanxl
(1)*x
(1)+nvxl
(1)*y
(1)=nanxl
(2)*x
(2)+nvxl
(2)*y
(2);
nanxl
(1)*x
(1)+nvxl
(1)*y
(1)=nanxl(3)*x(3)+nvxl(3)*y(3);
end
3.某牧场饲养一批动物,平均每头动物至少需要700g蛋白质、30g矿物质和100g维生素。
现有A、B、C、D、E五种饲料可供选用,每千克饲料的营养成分(单位:
g)与价格(单位:
元/kg)如下表所示:
蛋白质
矿物质
维生素
价格
A
3
1.0
0.5
0.4
B
2
0.5
1.0
1.4
C
1
0.2
1.2
0.8
D
6
2.0
2.0
1.6
E
12
0.5
0.8
1.6
试求能满足动物生长营养需求又最经济的选用饲料方案。
模型:
变量命名—设A饲料选用X1kg,B饲料选用X2kg,C饲料选用X3kg,D饲料选用X4kg,E饲料选用X5kg.
目标函数:
设买饲料的总成本为Z。
MinZ=0.4X1+1.4X2+0.8X3+1.6X4+1.6X5.
约束条件:
蛋白质:
3X1+2X2+X3+6X4+12X5>700;
矿物质:
X1+0.5X2+0.2X3+2X4+0.5X5>30;
维生素:
0.5X1+X2+1.2X3+2X4+0.8X5>100;
X1,X2,X3,X4,X5均为非负。
程序:
MIN0.4X1+1.4X2+0.8X3+1.6X4+1.6X5
ST
3X1+2X2+X3+6X4+12X5>700
X1+0.5X2+0.2X3+2X4+0.5X5>30
0.5X1+X2+1.2X3+2X4+0.8X5>100
END
解释:
经济即总成本最小,满足需求为约束条件,变量为非负约束
93.33334
VARIABLEVALUEREDUCEDCOST
X1233.3333280.000000
X20.0000001.133333
X30.0000000.666667
X40.0000000.800000
X50.0000000.000000
ROWSLACKORSURPLUSDUALPRICES
2)0.000000-0.133333
3)203.3333280.000000
4)16.6666660.000000
进一步:
三个需求的约束条件在报告中显示影子价格分别为-0.133333,0,0,则说明调整需求量对优化结果影响很小。
Lingo程序
model:
sets:
yingyang/dbz,kwz,wss/:
xuqiu;
ciliao/a,b,c,d,e/:
jiage,x;
chengfen(ciliao,yingyang):
hanliang;
endsets
data:
xuqiu=700,30,100;
jiage=0.4,1.4,0.8,1.6,1.6;
hanliang=31.00.5
20.51.0
10.21.2
62.02.0
120.50.8;
enddata
min=@sum(ciliao:
jiage*x);
@for(yingyang(i):
@sum(ciliao(j):
hanliang(j,i)*x(j))>=xuqiu(i));
end
4.在以色列,为分享农业技术服务和协调农业生产,常常由几个农庄组成一个公共农业社区。
在本课题中的这个公共农业社区由三个农庄组成,我们称之为南方农庄联盟。
南方农庄联盟的全部种植计划都由技术协调办公室制订。
当前,该办公室正在制订来年的农业生产计划。
南方农庄联盟的农业收成受到两种资源的制约。
一是可灌溉土地的面积,二是灌溉用水量。
这些数据由下表给出。
表1南方农庄联盟可用资源数据
农庄
可灌溉耕地面积
(英亩)
分配的用水量
(英亩-英尺)
A
B
C
400
600
300
600
800
375
注:
英亩-英尺是水容积单位,1英亩-英尺就是面积为1英亩,深度为1英尺的体积;1英亩-英尺≈1233.48立方米。
南方农庄联盟种植的作物是甜菜、棉花和高粱,这三种作物的纯利润及耗水量不同。
农业管理部门根据本地区资源的具体情况,对本联盟农田种植规划制定的最高限额数据由下表给出。
表2南方农庄联盟农作物种植数据
农作物
最大种植面积
(英亩)
耗水量
(英亩-英尺/英亩)
纯利润
(美元/英亩)
甜菜
棉花
高粱
600
500
325
3
2
1
400
300
100
三家农庄达成协议:
各家农庄的播种面积与其可灌溉耕地面积之比相等;各家农庄种植何种作物并无限制。
所以,技术协调办公室面对的任务是:
根据现有的条件,制定适当的种植计划帮助南方农庄联盟获得最大的总利润,现请你替技术协调办公室完成这一决策。
对于技术协调办公室的上述安排,你觉得有何缺陷,请提出建议并制定新的种植计划。
变量:
设A农庄种植甜菜面积为X11,种植棉花面积为X12,种植高粱面积为X13.B农庄种植甜菜面积X21,种植棉花面积为X22,种植高粱面积为X23.C农庄种植甜菜面积为X31,种植棉花面积为X32,种植高粱面积为X33.
模型&程序:
max400x11+400x21+400x31+300x12+300x22+300x32+100x13+100x23+100x33
st
3x11+2x12+x13<600
3x21+2x22+x23<800
3x31+2x32+x33<375
x11+x12+x13<400
x21+x22+x23<600
x31+x32+x33<300
x11+x21+x31<600
x12+x22+x32<500
x13+x23+x33<325
400x21+400x22+400x23-600x11-600x12-600x13=0
300x21+300x22+300x23-600x31-600x32-600x33=0
end
Lingo程序为:
model:
sets:
nzh/A,B,C/:
kymj,kysl;
nzw/tian,mian,gao/:
maxmj,hsl,clr;
renwu(nzh,nzw):
x;
endsets
data:
kymj=400,600,300;
kysl=600,800,375;
maxmj=600,500,325;
hsl=3,2,1;
clr=400,300,100;
enddata
!
目标是纯利润最大化;
max=@sum(renwu(I,J):
clr(J)*x(I,J));
!
可灌溉面积约束;
@for(nzh(I):
@sum(nzw(J):
x(I,J))<=kymj(I));
!
可用水量约束;
@for(nzh(I):
@sum(nzw(J):
hsl(J)*x(I,J))<=kysl(I));
!
最大种植面积约束;
@for(nzw(J):
@sum(nzh(I):
x(I,J))<=maxmj(J));
!
播种面积与可灌溉面积之比相等的约束;
@sum(nzw(J):
x(1,J))*kymj
(2)=@sum(nzw(J):
x(2,J))*kymj
(1);
@sum(nzw(J):
x(2,J))*kymj(3)=@sum(nzw(J):
x(3,J))*kymj
(2);
end
可见运行结果中,约束条件1和约束条件3中的值对优化结果影响很大,即分配给A和C农场的用水量不合理,需重新分配,故设A用水量为a,B用水量为b,C用水量为c,得
程序:
max400x11+400x21+400x31+300x12+300x22+300x32+100x13+100x23+100x33
st
3x11+2x12+x13-a<0
3x21+2x22+x23-b<0
3x31+2x32+x33-c<0
a+b+c=1775
x11+x12+x13<400
x21+x22+x23<600
x31+x32+x33<300
400x21+400x22+400x23-600x11+600x12+600x13=0
300x21+300x22+300x23-600x31+600x32+600x33=0
x11+x21+x31<600
x12+x22+x32<500
x13+x23+x33<325
end
结果:
比原方案更优。
5.有一艘货轮,分前、中、后三个舱位,它们的容积与最大允许载重量如下表所示:
前舱
中舱
后舱
最大允许载重量(t)
2000
3000
1000
容积(m3)
4000
5400
1000
现有三种货物待运,已知有关数据如下表所示:
商品
数量(件)
每件体积(m3/件)
每件重量(t/件)
运价(元/件)
A
600
10
8
1000
B
1000
5
6
700
C
800
7
5
600
又为了航运安全,要求前、中、后舱在实际载重量上大体保持各舱最大允许载重量的比例关系。
具体要求前、后舱分别与中舱之间载重理比例上偏差不超过15%,前、后舱之间不超过10%。
问该货轮应装载A,B,C各多少件,其运费收入为最大?
解:
设前舱运AX11件,运BX12件,运CX13,中舱运AX21件,运BX22件,运C23件,后舱运AX31件,运BX32件,运CX33件。
程序
max1000x11+1000x12+1000x13+700x21+700x22+700x23+600x31+600x32+600x33
st
x11+x12+x13<600
x21+x22+x23<1000
x31+x32+x33<800
8x11+6x21+5x31<2000
8x12+6x22+5x32<3000
8x13+6x23+5x33<1000
10x11+5x21+7x31<4000
10x12+5x22+7x32<5400
10x13+5x23+7x33<1000
x12+x22+x32-3x13-3x23-3x33<450
x12+x22+x32-3x13-3x23-3x33>-450
x11+x21+x31-2x13-2x23-2x33<200
x11+x21+x31-2x13-2x23-2x33>-200
end
结果OBJECTIVEFUNCTIONVALUE
1)742000.0
VARIABLEVALUEREDUCEDCOST
X11250.0000000.000000
X12300.0000000.000000
X1350.0000000.000000
X210.00000020.000000
X220.00000020.000000
X23100.0000000.000000
X310.0000000.000000
X32120.0000000.000000
X330.0000006.000000
ROWSLACKORSURPLUSDUALPRICES
2)0.00000040.000000
3)900.0000000.000000
4)680.0000000.000000
5)0.000000120.000000
6)0.000000120.000000
7)0.000000110.000000
8)1500.0000000.000000
9)1560.0000000.000000
10)0.0000008.000000
11)480.0000000.000000
12)420.0000000.000000
13)250.0000000.000000
14)150.0000000.000000
这个线性规划的最优解为x11=250,x12=300,x13=50,x23=100,x32=120,最优值为z=742000即前舱运A250件,中仓运A300件,运B100件后,运C120件,后舱运A50件,运费收入最大为742000。
注意:
由于此问题不加整数限制时已经得到整数最优解,故不用整数规划。
6.某战略轰炸机群奉命摧毁敌人军事目标。
已知该目标有四个要害部位,只要摧毁其中之一即可达到目的。
为完成此项任务的汽油消耗量限制为48000升、重型炸弹48枚、轻型炸弹32枚。
飞机携带重型炸弹时每升汽油可飞行2千米,带轻型炸弹时每升汽油可飞行3千米。
又知每架飞机每次只能装载一枚炸弹,每出发轰炸一次除来回路程汽油消耗(空载时每升汽油可飞行4千米)外,起飞和降落每次各消耗100升。
有关数据如表所示。
为了使摧毁敌方军事目标的可能性最大,应如何确定飞机轰炸的方案,要求建立这个问题的线性规划模型,并用lingo求解。
解:
max=1-(0.9^x11)*(0.92^x12)*(0.8^x21)*(0.84^x22)*(0.85^x31)*(0.88^x32)*(0.75^x41)*(0.8^x42);
537.5*x11+687.5*x12+560*x21+480*x22+605*x31+515*x32+650*x41+550*x42<=48000;
x11+x21+x31+x41<=48;
x12+x22+x32+x42<=32;
@gin(x11);
@gin(x12);
@gin(x21);
@gin(x22);
@gin(x31);
@gin(x32);
@gin(x41);
@gin(x42);
改进:
讲目标函数的乘变成对数化后的加能避免计算误差带来的解的计算问题
model:
sets:
yaohai/1234/:
jl;
danyao/qingzhong/:
yh,ssl;
fangan(yaohai,danyao):
logpp,pp,cishu;!
储存每个要害,每种弹药打击可能性与次数;
endsets
max=@sum(yaohai(I):
@sum(danyao(J):
logpp(I,J)*cishu(I,J)));!
失败率最低;
@sum(yaohai(I):
@sum(danyao(J):
cishu(I,J)*(yh(J)*jl(I)+200)))<=48000;!
油耗限制;
@for(danyao(J):
@sum(yaohai(I):
cishu(I,J))<=ssl(J));!
弹药限制;
@for(fangan:
@gin(cishu));
@for(fangan:
logpp=-@log(1-pp));!
每次的失败率的自然对数;
data:
jl=450480540600;
ssl=3248;
pp=.1.08
.2.16
.15.12
.25.20;
yh=.583333.75;
enddata
end
7.有四个工人,要指派他们分别完成4项工作,每人做各项工作所消耗的时间如表。
问指派哪个人去完成哪项工作,可使所有工作被完成时所用的时间(假设所有工作并行完成)(用lingo求解)?
程序:
model:
!
4个工人,4个工作的分配问题;
sets:
workers/w1..w4/;
jobs/j1..j4/;
links(workers,jobs):
cost,x;
endsets
!
目标函数;
min=@sum(links:
cost*x);
!
每个工人只能有一份工作;
@for(workers(I):
@sum(jobs(J):
x(I,J))=1);
!
每份工作只能有一个工人;
@for(jobs(J):
@sum(workers(I):
x(I,J))=1);
!
x为0-1变量;
@for(links:
@bin(x));
data:
cost=15182124
19232218
26171619
19212317;
enddata
end
结果:
最小总消耗时间为70,甲完成B,乙完成A,丙完成C,丁完成D。
(二)非线性规划
1.用matlab或lingo求解下列规划问题:
解:
程序:
min=@abs(x1)+2*@abs(x2)+3*@abs(x3)+4*@abs(x4);
x1-x2-x3+x4=0;
x1-x2+x3-3*x4=1;
x1-x2-2*x3+3*x4=-0.5;
@free(x1);
@free(x2);
@free(x3);
@free(x4);
结果:
z=2,x1=1,x2=0.5,x3=0,x4=0.5
2.已知非线性整数规划模型为
为整数,
请用lingo求解其最优整数解。
解:
程序:
max=x1^2+x2^2+3*x3^2+4*x4^2+2*x5^2-8*x1-2*x2-3*x3-x4-2*x5;
x1+x2+x3+x4+x5<=400;
x1+2*x2+2*x3+x4+6*x5<=800;
2*x1+x2+6*x3<=200;
x3+x4+5*x5<=200;
@bnd(0,x1,99);
@bnd(0,x2,99);
@bnd(0,x3,99);
@bnd(0,x4,99);
@bnd(0,x5,99);
@gin(x1);
@gin(x2);
@gin(x3);
@gin(x4);
@gin(x5);
结果:
最大值为51568,x1=50,x2=99,x3=0,x4=99,x5=20。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学生 数学 建模 规划 基础 实验 答案