现在时间是:
当前位置:首 页 >> 数学建模>> 教学区>> 文章列表

数学建模作业9

作者:曹怡悦   发布时间:2020-05-08 11:56:33   浏览次数:66

数学建模作业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,第一个化工厂处理污水量为x1m3,第二个化工厂处理污水量为x2m3

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运行结果可知:

第一个化工厂处理1m3,第二个化工厂处理0.8m3

例4(运输问题) 

模型建立: 所谓的运输方案就是确定从每个产地运到各相应销地的运量.记xij表示从

Ai运到Bj的运量(i=1,2,…,mj=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 (满足需求)

xij0 ,    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

 







上一篇:没有了    下一篇:没有了

Copyright ©2020    计算数学达人 All Right Reserved.

技术支持:自助建站 | 领地网站建设 |短信接口 |燕窝 版权所有 © 2005-2020 lingw.net.粤ICP备16125321号 -5