数学建模自来水运输与货物装运.docx

上传人:b****3 文档编号:12697955 上传时间:2023-04-21 格式:DOCX 页数:23 大小:60.38KB
下载 相关 举报
数学建模自来水运输与货物装运.docx_第1页
第1页 / 共23页
数学建模自来水运输与货物装运.docx_第2页
第2页 / 共23页
数学建模自来水运输与货物装运.docx_第3页
第3页 / 共23页
数学建模自来水运输与货物装运.docx_第4页
第4页 / 共23页
数学建模自来水运输与货物装运.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

数学建模自来水运输与货物装运.docx

《数学建模自来水运输与货物装运.docx》由会员分享,可在线阅读,更多相关《数学建模自来水运输与货物装运.docx(23页珍藏版)》请在冰豆网上搜索。

数学建模自来水运输与货物装运.docx

数学建模自来水运输与货物装运

数学建模课堂作业

第一题:

自来水运输问题

【问题分析】

分配供水量是安排从三个水库向四个区送水的方案,目标是获利最多。

而从题目给出的数据看,A,B,C三个水库的供水量160千吨,不超过四个区的基本生活用水量与额外用水量之和300千吨,因而总能全部卖出并获利,于是自来水公司每天的总收入是900*(50+60+50)=144000元,与送水方案无关。

所以,要使利润最大,只需要使引水管理费最小即可。

另外,送水方案自然要受三个水库的供应量和四个区的需求量的限制。

【模型建立】

很明显,决策变量为A,B,C三个水库(i=1,2,3),分别向甲、乙、丙、丁四个区(j=1,2,3,4),的供水量。

设水库i向j区的日供水量为Xij。

由于C水库与丁区之间没有输水管道,即Xij=0,设水库i向j区的引水管理费为Cij因此只有11个决策变量。

由上分析,问题的目标可以从获利最多转化为引水管理费最少。

于是有:

Min

约束条件有两类:

一类是水库的供水量限制,另一类是各区的需求量限制。

由于供水量总能卖出并获利,水库的供应量限制可以表示为

;

;

;

考虑到各区的基本生活用水量与额外用水量,需求量限制可以表示为:

;

;

;

;

【模型求解】

利用LINGO软件求解,程序为:

model:

!

3供应点4居民区运输问题;

sets:

waters/w1..w3/:

capacity;

vendors/v1..v4/:

demand1,demand2;

links(waters,vendors):

cost,volume;

endsets

!

目标函数;

min=@sum(links:

cost*volume);

!

需求约束;

@for(vendors(J):

@sum(waters(I):

volume(I,J))>=demand1(J));

@for(vendors(J):

@sum(waters(I):

volume(I,J))<=demand2(J));

!

供应约束;

@for(waters(I):

@sum(vendors(J):

volume(I,J))=capacity(I));

!

这里是数据;

data:

capacity=506050;

demand1=30701010;

demand2=801403050;

cost=160130220170

140130190150

19020023010000;

enddata

end

得到结果为:

Globaloptimalsolutionfound.

Objectivevalue:

Totalsolveriterations:

13

 

VariableValueReducedCost

CAPACITY(W1)

CAPACITY(W2)

CAPACITY(W3)

DEMAND1(V1)

DEMAND1(V2)

DEMAND1(V3)

DEMAND1(V4)

DEMAND2(V1)

DEMAND2(V2)

DEMAND2(V3)

DEMAND2(V4)

COST(W1,V1)

COST(W1,V2)

COST(W1,V3)

COST(W1,V4)

COST(W2,V1)

COST(W2,V2)

COST(W2,V3)

COST(W2,V4)

COST(W3,V1)

COST(W3,V2)

COST(W3,V3)

COST(W3,V4)

VOLUME(W1,V1)

VOLUME(W1,V2)

VOLUME(W1,V3)

VOLUME(W1,V4)

VOLUME(W2,V1)

VOLUME(W2,V2)

VOLUME(W2,V3)

VOLUME(W2,V4)

VOLUME(W3,V1)

VOLUME(W3,V2)

VOLUME(W3,V3)

VOLUME(W3,V4)

RowSlackorSurplusDualPrice

1

2

3

4

5

6

7

8

9

10

11

12

送水方案是:

A水库向一区供水50千吨,B水库向乙、丁区分别供水50,10千吨,C水库向甲、丙分别供水40,10千吨。

引水管理费为24400元,利润为24400=47600元。

讨论:

如果A,B,C三个水库每天的最大供水量都提高一倍,则公司总供水能力为320千吨,大于总需求量300千吨,水库供水量不能全部卖出,因而不能像前面那样,将获利最多转为引水管理费最少。

此时我们首先需要计算A,B,C三个水库分别向甲、乙、丙、丁四个区供应每千吨水的净利润,即从收入900元中减去其他管理费450元,再减去引水管理费,得到表二。

净利润(元/千吨)

A

290

320

230

280

B

310

320

260

300

C

260

250

2200

/

于是决策目标是:

Max

其中Cij表示第i个水库向第j个区供水的净利润.

由于水库供水量不能全部卖出,所以上面约束应改为:

;

;

;

将上式构成的线性规划模型输入LINGO求解得到:

model:

!

3供应点4居民区运输问题;

sets:

waters/w1..w3/:

capacity;

vendors/v1..v4/:

demand;

links(waters,vendors):

cost,volume;

endsets

!

目标函数;

max=@sum(links:

cost*volume);

!

需求约束;

@for(vendors(J):

@sum(waters(I):

volume(I,J))=demand(J));

!

供应约束;

@for(waters(I):

@sum(vendors(J):

volume(I,J))<=capacity(I));

!

这里是数据;

data:

capacity=100120100;

demand=801403050;

cost=290320230280

310320260300

2602502200;

enddata

end

得到结果为:

Globaloptimalsolutionfound.

Objectivevalue:

Totalsolveriterations:

6

 

VariableValueReducedCost

CAPACITY(W1)

CAPACITY(W2)

CAPACITY(W3)

DEMAND(V1)

DEMAND(V2)

DEMAND(V3)

DEMAND(V4)

COST(W1,V1)

COST(W1,V2)

COST(W1,V3)

COST(W1,V4)

COST(W2,V1)

COST(W2,V2)

COST(W2,V3)

COST(W2,V4)

COST(W3,V1)

COST(W3,V2)

COST(W3,V3)

COST(W3,V4)

VOLUME(W1,V1)

VOLUME(W1,V2)

VOLUME(W1,V3)

VOLUME(W1,V4)

VOLUME(W2,V1)

VOLUME(W2,V2)

VOLUME(W2,V3)

VOLUME(W2,V4)

VOLUME(W3,V1)

VOLUME(W3,V2)

VOLUME(W3,V3)

VOLUME(W3,V4)

RowSlackorSurplusDualPrice

1

2

3

4

5

6

7

8

送水方案为:

A水库向乙区供水100千吨,B水库向甲、乙、丁区分别供水30,40,50千吨,C水库向甲、丙、区分别供水50,30千吨。

总利润为88700元。

评注:

本题考虑的是将某种物资从若干供应点运往一些需求点,在供需量约束条件下使总费用最小,或总利润最大,这类问题一般称为运输问题,是线性规划应用最广泛的领域之一。

在标准的运输问题中,供需量通常是平衡的,即供应点的总供应量等于需求点的总需求量。

本题中供需量不平衡,但这并不会引起本质的区别,一样可以方便地建立线性规划模型求解。

第二题货机装运

【问题分析】

本题中,目标是使得在本次飞行中获利最大。

货仓的重量限制、体积限制表中已给出。

同时也已知了各货物的种类、重量、所占空间以及所获利润,由此可以表示出决策变量、目标函数以及约束条件,通过LINGO软件即可求出结果。

【模型假设】

问题中没有对货物装运提出其它要求,我们可做如下假设:

1)每种货物可以分割到任意小;

2)每种货物可以在一个或多个货舱中任意分布;

3)多种货物可以混装,并保证不留空隙。

【模型建立】

决策变量:

用Xij表示第i种货物装入第j个货舱重量(吨),货舱j=1,2,3分别表示前仓、中仓、后仓.Ci表示第i种货物所得的利润(元/吨),Di表示第i种货物所占的空间。

决策目标是最大利润,即

Max

;

约束条件包括以下四个方面:

1)供装载的四种货物的总重量的约束,即

;

;

;

;

2)三个货舱的重量限制,即

;

;

3)三个货舱的空间限制,即

;

;

;

4)三个货舱装入重量的平衡约束,即

【模型求解】

将以上模型输入LINGO中求解,程序为:

model:

sets:

huowu/w1..w4/:

product1,product2,profit;

huocang/c1..c3/:

limit1,limit2;

links(huowu,huocang):

c,x;

endsets

data:

product1=18152312;

product2=480650580390;

profit=3100380035002850;

limit1=680087005300;

limit2=10168;

enddata

max=@sum(links(i,j):

profit(i)*x(i,j));

@for(huowu(i):

@sum(huocang(j):

c(i,j))<=1);

@for(huocang(j):

@sum(huowu(i):

c(i,j))<=4);

@for(huocang(j):

@sum(huowu(i):

x(i,j))

@for(huocang(j):

@sum(huowu(i):

product2(i)*x(i,j))<=limit1(j));

@for(huowu(i):

@sum(huocang(j):

x(i,j))<=product1(i));

@for(huocang(j)|j#lt#3:

@sum(huowu(i):

x(i,j))/limit2(j)=@sum(huowu(i):

x(i,j+1))/limit2(j+1));

运行结果为:

Globaloptimalsolutionfound.

Objectivevalue:

Totalsolveriterations:

10

 

VariableValueReducedCost

PRODUCT1(W1)

PRODUCT1(W2)

PRODUCT1(W3)

PRODUCT1(W4)

PRODUCT2(W1)

PRODUCT2(W2)

PRODUCT2(W3)

PRODUCT2(W4)

PROFIT(W1)

PROFIT(W2)

PROFIT(W3)

PROFIT(W4)

LIMIT1(C1)

LIMIT1(C2)

LIMIT1(C3)

LIMIT2(C1)

LIMIT2(C2)

LIMIT2(C3)

C(W1,C1)

C(W1,C2)

C(W1,C3)

C(W2,C1)

C(W2,C2)

C(W2,C3)

C(W3,C1)

C(W3,C2)

C(W3,C3)

C(W4,C1)

C(W4,C2)

C(W4,C3)

X(W1,C1)

X(W1,C2)

X(W1,C3)

X(W2,C1)

X(W2,C2)

X(W2,C3)

X(W3,C1)

X(W3,C2)

X(W3,C3)

X(W4,C1)

X(W4,C2)

X(W4,C3)

RowSlackorSurplusDualPrice

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

 

实际上不妨将所得到的最优解做四舍五入,结果为货物2装入前仓10吨,装入后仓5吨,货物3装入中仓13吨,装入后仓3吨,货物4装入中仓3吨。

最大利润约121516元。

 

若限制条件,每种货物只能放在一个货仓,该如何求解问题。

【模型建立】

决策变量:

用Xij表示第i种货物装入第j个货舱重量(吨),货舱j=1,2,3分别表示前仓、中仓、后仓.Ci表示第i种货物所得的利润(元/吨),Di表示第i种货物所占的空间。

决策目标是最大利润,即

Max

;

约束条件包括以下四个方面:

2)供装载的四种货物的总重量的约束,即

;

;

;

;

2)三个货舱的重量限制,即

;

;

3)三个货舱的空间限制,即

;

;

;

4)三个货舱装入重量的平衡约束,即

5)为了表示每种货物只能放在一个货仓,故引入0-1变量

=1表示第i种货物装入第j个货舱。

=0则表示第i种货物未装入第j个货舱,则有:

=0,1

【模型求解】

将以上模型输入LINGO中求解,程序为:

model:

sets:

huowu/w1..w4/:

product1,product2,profit;

huocang/c1..c3/:

limit1,limit2;

links(huowu,huocang):

c,x;

endsets

data:

product1=18152312;

product2=480650580390;

profit=3100380035002850;

limit1=680087005300;

limit2=10168;

enddata

max=@sum(links(i,j):

profit(i)*x(i,j));

@for(links:

@bin(c));

@for(huowu(i):

@sum(huocang(j):

c(i,j))<=1);

@for(huocang(j):

@sum(huowu(i):

c(i,j))<=4);

@for(huocang(j):

@sum(huowu(i):

x(i,j))

@for(huocang(j):

@sum(huowu(i):

product2(i)*x(i,j))<=limit1(j));

@for(huowu(i):

@sum(huocang(j):

x(i,j))<=product1(i));

@for(links:

x=c*x);

@for(huocang(j)|j#lt#3:

@sum(huowu(i):

x(i,j))/limit2(j)=@sum(huowu(i):

x(i,j+1))/limit2(j+1));

end

运行结果为:

Localoptimalsolutionfound.

Objectivevalue:

Extendedsolversteps:

0

Totalsolveriterations:

48

 

VariableValueReducedCost

PRODUCT1(W1)

PRODUCT1(W2)

PRODUCT1(W3)

PRODUCT1(W4)

PRODUCT2(W1)

PRODUCT2(W2)

PRODUCT2(W3)

PRODUCT2(W4)

PROFIT(W1)

PROFIT(W2)

PROFIT(W3)

PROFIT(W4)

LIMIT1(C1)

LIMIT1(C2)

LIMIT1(C3)

LIMIT2(C1)

LIMIT2(C2)

LIMIT2(C3)

C(W1,C1)

C(W1,C2)

C(W1,C3)

C(W2,C1)

C(W2,C2)

C(W2,C3)

C(W3,C1)

C(W3,C2)

C(W3,C3)

C(W4,C1)

C(W4,C2)

C(W4,C3)

X(W1,C1)

X(W1,C2)

X(W1,C3)

X(W2,C1)

X(W2,C2)

X(W2,C3)

X(W3,C1)

X(W3,C2)

X(W3,C3)

X(W4,C1)

X(W4,C2)

X(W4,C3)

RowSlackorSurplusDualPrice

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

结果分析:

结果表示应放入货物一应放入中仓10吨,货物二应放入中仓6吨,货物三应放入后仓8吨,货物四应放入前仓10吨。

由此可得最大利润为元。

 

小组成员:

李肖098

罗欢欢125

郭建志049

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1