数学实验作业 韩明版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习6.7
1.有两个煤厂A,B,每月进煤不少于60t,100t,它们担负供应三个居
民区的用煤任务,这三个居民区每月用煤量分别为45t,75t和45t.A 厂离这三个居民区的距离分别为10km,5km,6km,B厂离这三个居民区的距离分别为4km,8km,15km.问这两个煤厂如何分配供煤量能使总运输量(t.km)最小。
解:设甲对三个居民区的供煤量分别为:x1,x2,x3,乙对三个居民区的供煤量分别为x4,x5,x6.由已知有:
y=10x1+5x2+6x3+4x4+8x5+15x6
-x1-x2-x3<=-60,
-x4-x5-x6<=-100,
x1+x4=45,x2+x5=75,x3+x6=40,
X1>=0,x2>=0,x3>=0,x4>=0,x5>=0,x6>=0.
输入命令:
> c=[10 5 6 4 8 15];A=[-1 -1 -1 0 0 0;0 0 0 -1 -1 -1;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0];
>> b=[-60;-100;0;0;0;0];Aeq=[1 0 0 1 0 0;0 1 0 0 1 0;0 0 1 0 0 1;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0];
>> beq=[45 75 40 0 0 0];
>> lb=ones(6,1);
>> [x,fval]=linprog(c,A,b,Aeq,beq,lb)
Optimization terminated.
结果为:
x = 1.0000
20.0000
39.0000
44.0000
55.0000
1.0000
fval =975.0000
这说明甲乙两个煤厂分别对三个居民区输送1t 20t 39t,44t 55t 1t的煤才能使总运输量最小,且总运输量为975t.km
2.某银行经理计划用一笔资金进行有价证券的投资,可供购进的证券及其信用等级、到期年限、税前收益如下表所示。按照规定,市政证券的收益可以免税,其他证券的收益需按40%的税率纳税。此外还有以下限制:
(1)政府及待办机构的证券总共至少购进400万元;
(2)所构证券的平均信用等级不超过1.4(信用等级数字越小,信用程度越高);
(3)所构证券的平均到期年限不超过5年。
问:(1)若经理有1000万元资金,应如何投资?
(2)如果能以2.75%的利率借到不超过100万元的资金,该不该借?如何投资?
(3)在1000万元资金的情况下,若证券A的税前收益增加为4.5%,投资应否改变?若证券C的税前收益减少为4.8%,投资应否改变?解:(1)设A、B、C、D、E证券分别购进x1,x2,x3,x4,x5(单位:万元),则有:
目标函数f=0.043x1+0.0216x2+0.02x3+0.0176x4+0.045x5
s.t. –x2-x3-x4<=-400,
2x1+2x2+x3+x4+5x5<=7,
9x1+15x2+4x3+x4+x5<=25,
X1+x2+x3+x4+x5<=1000,
0<=x1,0<=x2,0<=x3,0<=x4,0<=x5.
输入命令:
>> c=[-0.043 -0.0216 -0.02 -0.0176 -0.045];
>> A=[0 -1 -1 -1 0;2 2 1 1 5;9 15 4 3 2;1 1 1 1 1];
>> b=[-400;7;25;10000];
>> Aeq=[];beq=[];
>> lb=zeros(5,1);ub=[];
>> [x,fval]=linprog(c,A,b,Aeq,beq,lb,ub)
结果为:
x = 0.0001
0.0005
0.0000
481.1525
0.0000
fval = -8.4683
所以对A、B、C、D、E证券应分别购进0.0001万元、0.0005万元、0.0000万元、481.1525万元、0.0000万元才能是所得利益最大。(2)设A、B、C、D、E证券分别购进x1,x2,x3,x4,x5(单位:万元),则有:
目标函数f=(0.043x1+0.0216x2+0.02x3+0.0176x4+0.045x5)*0.0275 s.t. 2x1+2x2+x3+x4+5x5<=7,
9x1+15x2+4x3+x4+x5<=25,
X1+x2+x3+x4+x5<=100,
0<=x1,0<=x2,0<=x3,0<=x4,0<=x5.
输入命令:
>> A=[2 2 1 1 5;9 15 4 3 2];
>> b=[7;25];
>> Aeq=[];beq=[];
>> lb=zeros(5,1);
>> ub=[];
>> [x,fval]=linprog(c,A,b,Aeq,beq,lb,ub)
Optimization terminated.
结果为:
x =
1.0e-008 *
0.4324
0.7401
0.0453
0.2629
0.4695
fval =1.6841e-011
所以对A、B、C、D、E证券应该分别购进1.0e-008 *0.4324万元、1.0e-008 * 0.7401万元、1.0e-008 * 0.0453万元、1.0e-008 *0.2629
万元、1.0e-008 *0.4695,才能使所得利益最大。
(3)设A、B、C、D、E证券分别购进x1,x2,x3,x4,x5(单位:万元)①目标函数f1=0.045x1+0.0216x2+0.02x3+0.0176x4+0.045x5
s.t. –x2-x3-x4<=-400,
2x1+2x2+x3+x4+5x5<=7,
9x1+15x2+4x3+x4+x5<=25,