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

数学建模作业9

作者:郭轩含   发布时间:2020-05-08 09:55:33   浏览次数:30

数学建模作业8

例2(河流污染与净化问题)

Matlab程序:

c=[1000 800];

A=[-1 0;-0.8 -1;1 0;0 1];

b=[-1;-1.6;2;1.4];

vlb=[0,0];

vub=[];

[x,fval]=linprog(c,A,b,[],[],vlb,vub)

运行结果:

x =

 

    1.0000

    0.8000

 

 

fval =

 

   1.6400e+03
例4(运输问题)现重庆有一面包厂拥有ABC三个生产地,向甲、乙、丙、丁4个超市供应面包,ABC供应量分别是50,50,75,甲、乙、丙、丁的需求量分别是40,55,60,20,各起运站到目的地的单位运费见表1,问该厂应该怎样安排运输,使总运费最少?

文本框: 销量


A

3

1

4

5

B

7

3

8

6

C

2

3

9

2

解:设产地A运送到销地甲,,,丁的运输量分别为x1x2x3x4;产地B运送到销地甲,乙,丙,丁的运输量分别为x5x6x7x8;产地C运送到销地甲,乙,丙,丁的运输量分别为x9x10x11x12。显然,变量满足非负限制:xj≥0(j=1,2…12)。线性规划模型为:

minf(x)=3x1+x2+4x3+5x:4+7x5+3x6+8x7+6x8+2x9+3x10+9x11+2x12

s.t.

x1+x2+x3+x4=50;

x5+x6+x7+x8=50;

x9+x10+x11+x12=50;

x1+x5+x8=40;

x2+x6+x10=55;

x3+x7+x11=60

x4+x9+x12=20;

x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x120

 

Matlab程序:

C=[3 1 4 5 7 3 8 6 2 3 9 2];

Aeq = [1 1 1 1 0 0 0 0 0 0 0 0

       0 0 0 0 1 1 1 1 0 0 0 0

       0 0 0 0 0 0 0 0 1 1 1 1

       1 0 0 0 1 0 0 0 1 0 0 0

       0 1 0 0 0 1 0 0 0 1 0 0

       0 0 1 0 0 0 1 0 0 0 1 0

       0 0 0 1 0 0 0 1 0 0 0 1];

Beq = [50 50 75 40 55 60 20];

LB = [0 0 0 0 0 0 0 0 0 0 0 0 ];

[X,fval]=linprog(C,[],[],Aeq,Beq,LB)

运行结果:

X =

 

    0.0000

    0.0000

   50.0000

    0.0000

    0.0000

   40.0000

   10.0000

    0.0000

   40.0000

   15.0000

    0.0000

   20.0000

 

 文本框: 产地

fval =

 

   565

例7(分配问题)

某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为800900,三种工件的数量分别为400600500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?

车床类型

单位工件所需加工台时数

单位工件加工费用

可用台时数

工件一

工件二

工件三

工件一

工件二

工件三

0.4

1.1

1.0

13

9

10

800

0.5

1.2

1.3

11

12

8

900

解:设在甲车床上加工工件123的数量分别为x1x2x3,在乙车床上加工工件123的数量分别为x4x5x6。可建立以下线性规划模型:

minz=13x1+9x2 +10x3 +11x4 +12x5 + 8x6
s.t.
x1+x4 =400

x2+x5 = 600

x3+x6 =500

0.4x1 +1.1x2 +x3≤800

0.5x4+1.2x5+1.3x6
900
xi≥0, i= 1,2,..,6

Matlab程序:

f=[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=[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(6,1)

vub = [];

[X,fval] = linprog(f,A,b,Aeq,beq,vlb,vub)

 

vlb =

 

     0

     0

     0

     0

     0

     0

运行结果:

X =

 

    0.0000

  600.0000

    0.0000

  400.0000

    0.0000

  500.0000

 

 

fval =

 

   1.3800e+04







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

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

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