数学建模自来水运输与货物装运.docx
- 文档编号:9035332
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:24
- 大小:60.78KB
数学建模自来水运输与货物装运.docx
《数学建模自来水运输与货物装运.docx》由会员分享,可在线阅读,更多相关《数学建模自来水运输与货物装运.docx(24页珍藏版)》请在冰点文库上搜索。
数学建模自来水运输与货物装运
数学建模课堂作业
第一题:
自来水运输问题
【问题分析】
分配供水量是安排从三个水库向四个区送水的方案,目标是获利最多。
而从题目给出的数据看,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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 自来水 运输 货物 装运