数学建模作业9
作者:曹怡悦 发布时间:2020-05-08 11:56:33 浏览次数:84数学建模作业9
1.利用MATLAB求解课本第4.1节的例题:
例2(河流污染与净化问题)
例4(运输问题)
例7(分配问题)
要求:写出程序和计算结果。
例2(河流污染与净化问题) 某河流边有两个化工厂,流经第一个化工厂的河水流量是
每天500万m3,在两个工厂之间有一条流量为每天200万m3 的支流.第一个化工厂每天排放
工业污水2万m3,第二个化工厂每天排放工业污水1.4万m3,从第一个化工厂排出的污水流
到第二个化工厂之前,有20% 可自然净化.根据环保要求,河流中工业污水的含量应不大于0.2%.因此两个化工厂都必须各自处理净化一部分污水,第一个化工厂处理污水的成本是0.1元/m3,第二个化工厂处理污水的成本是0.08元/m3.问在满足环保要求的条件下,各化
工厂应处理多少污水,才能使两厂总的处理污水费用最少.
解:
建立线性规划模型:
设处理污水费为M,第一个化工厂处理污水量为x1万m3,第二个化工厂处理污水量为x2万m3
minM=1000x1+800x2
使得x1≥1
0.8x1+x2≥1.6
x1≤2
x2≤1.4
x1,x2≥0
程序:
>> M=[1000 800]
A=[-1 0;-0.8 -1;1 0;0 1];
b=[-1;-1.6;2;1.4];
lb=zeros(2,1);
[x,fval,exitflag]=linprog(M,A,b,[],[],lb)
运行结果:
M =
1000 800
Optimal solution found.
x =
1.0000
0.8000
fval =
1640
exitflag =
1
则由matlab运行结果可知:
第一个化工厂处理1万m3,第二个化工厂处理0.8万m3
例4(运输问题)
模型建立: 所谓的运输方案就是确定从每个产地运到各相应销地的运量.记xij表示从
Ai运到Bj的运量(i=1,2,…,m;j=1,2,…,n),则在产销平衡的条件下,可得数学模型如下:
min f=Σ(i=1:m)Σ(j=1:n)cijxij
s.t. Σ(j=1:n)xij=ai , i=1,2,…,m(满足供应)
Σ(i=1:m)xij=bi, j=1,2,…,n (满足需求)
xij≥0 , i=1,2,…,m , j=1,2,…,n
求解 min f=x11+3x12+3x21+2x22+1x23
s.t. x11+x12+x13=3
x21+x22+x23=3
x11+x21=3
x12+x22=2
x13+x23=3
xij≥0, i=1,2,j=1,2,3
c=[1 3 0 3 2 1];
a=[1 1 1 0 0 0;0 0 0 1 1 1;1 0 0 1 0 0;0 1 0 0 1 0;0 0 1 0 0 1];
b=[3 3 3 2 3];
[x,fval]=linprog(c,[],[],a,b,zeros(6,1))
运行结果:
Linprog stopped because no point satisfies the constraints.
x =
[]
fval =
[]
>>
例7(分配问题)
模型建立 在一个生产周期内,设用第i台机床加工第j种零件的件数为xij,则该问题的
数学模型为min f=Σ(i=1:m)Σ(j=1:n)cijxij
s.t. Σ(j=1:n)dijxij≤ai , i=1,2,…,m(机时限制)
Σ(i=1:m)xij≥bi , j=1,2,…,n (任务要求)
xij为非负整数, i=1,2,…,m , j=1,2,…,n
求解 min f=2x11+4x12+3x13+x21+4x23+2x31+7x33
s.t. 2x11+x12+4x13≤18
x21+3x22+2x23≤9
x31+2x32+6x33≤12
x11+x21+x31≥10
x12+x22+x32≥13
x13+x23+x33≥6
程序:
c=[2 4 3 1 0 4 2 0 7];
a=[2 1 4 0 0 0 0 0 0;
0 0 0 1 3 2 0 0 0;
0 0 0 0 0 0 1 2 6;
-1 0 0 -1 0 0 -1 0 0;
0 -1 0 0 -1 0 0 -1 0;
0 0 -1 0 0 -1 0 0 -1];
b=[18 9 12 -10 -13 -6];
[x,fval]=linprog(c,[],[],a,b,zeros(9,1))
运行结果:
Optimal solution found.
x =
0
12.0000
1.5000
0
0
4.5000
10.0000
1.0000
0
fval =
90.5000