配送与流通加工课程设计Word文件下载.docx
- 文档编号:16408649
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:13
- 大小:37.46KB
配送与流通加工课程设计Word文件下载.docx
《配送与流通加工课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《配送与流通加工课程设计Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
扩建建设费率CTj(万元/万吨)
A1
(28,12)
×
砼搅拌站
改建
400
10
A2
(1,16.5)
水泥厂
600
A3
(11.5,2.5)
1号备选地块
新建
1700
15
A4
(24,5)
2号备选地块
1500
3、表3各初始配送中心的经营费用及生产能力参数
固定费用Fj(万元/年)
可变费用gj(元/吨)
最小生产能力Aj(万吨/年)
允许扩建的最大生产能力Bj(万吨/年)
允许配送半径rj(公里)
100
25
60
18
800
80
1300
150
22
1100
160
(3)道路运输参数
道路运输参数是各个备选配送中心到各需求区域中心的交通距离和运输系数,如表4。
4、表4备选配送中心到需求区域中心的交通距离及运输系数
交通距离(公里)
运输系数(万元/吨.公里)
12
17
1.2
1.1
1.3
7
20
23
1
1.4
9
28
13
11
2、课程设计背景材料分析
3、模型构建过程
3.1变量设置
1、标号为Ai(i=1…4)的四个配送中心的最小规模、选用情况、初期建设费用、扩建费率、固定费用、可变费用、最小生产能力、允许扩建的最大生产能力、允许配送的半径分别为ZXGM、XYQK(XYQK=1表示选用该配送中心,XYQK=0表示不选用该配送中心)、CQJS、KJFL、GDFY、KBFY、ZXSC、ZDNL、PSBJ。
2、标号为XQLj(j=1…5)的五个需求区域的需求量。
3、JTJLij表示从标号为Ai(i=1…4)四个配送中心到标号为Dj(j=1…5)五个需求区域的交通距离(公里)。
4、YSXSij表示从标号为Ai(i=1…4)四个配送中心到标号为Dj(j=1…5)五个需求区域的运输系数[万元/(万吨.公里)]。
5、YSLij表示从标号为Ai(i=1…4)的四个配送中心到标号为Dj(j=1…5)的五个需求区域的运输量。
3.2模型构建
目标函数:
min=初期建设费用+扩建建设费用+固定费用+可变费用+运输费用=∑CQJSi*XYQKi+∑KJFLi*(ZXGMi-ZXSCi)*KJQKi+∑GDFYi*XYQKi+∑KBFYi*ZXGMi*XYQKi+∑JTJLij*YSXSij*YSLij
约束条件:
1、最小生产能力<
最小规模<
允许扩建的最大生产能力:
ZXSCi<
ZXGMi<
ZDNLi
2、各个配送中心的选用情况所代表的数字>
=其相应的配送中心是否扩建的情况:
XYQKi>
=KJQKi
3、各配送中心到需求区域的距离<
各配送中心允许配送的半径:
JTJLij<
PSBJi(i=1..4,j=1..5)
4、各配送中心到某个需求区域的运输量>
=该需求区域的需求量:
∑YSLij>
=XQLj
5、各个配送中心的最小规模>
=各个配送中心的运输量:
ZXGMi>
=∑YSLij
4、模型构建过程
4.1lingo语言特点
4.2lingo模型实现
model:
sets:
DC/1..4/:
ZXGM,XYQK,CQJS,KJFL,GDFY,KBFY,ZXSC,ZDNL,PSBJ,K;
NP/1..5/:
XQL;
CONNECTION(DC,NP):
JTJL,YSXS,YSL;
endsets
data:
CQJS=40060017001500;
KJFL=10101510;
GDFY=60080013001100;
KBFY=10080150160;
ZXSC=25253025;
ZDNL=6080100100;
PSBJ=18182218;
XQL=3440263830;
JTJL=127102018
152092211
1825221310
1723281018;
YSXS=1.211.21.41.3
1.11.211.31
1.31.41.211.1
1.21.41.311.2;
enddata
mincost=@sum(DC:
CQJS*XYQK)+@sum(DC:
KJFL*(ZXGM-ZXSC)*K)+@sum(DC:
GDFY*XYQK)+@sum(DC:
KBFY*ZXGM*XYQK)+@sum(CONNECTION(i,j):
JTJL(i,j)*YSXS(i,j)*YSL(i,j));
@for(DC:
K=@if(ZXGM#GT#ZXSC,1,0));
ZXSC<
=ZXGM);
ZXGM<
=ZDNL);
@bin(XYQK));
XYQK>
=K);
@for(CONNECTION(i,j)|PSBJ(i)#LT#JTJL(i,j):
YSL(i,j)=0);
@for(NP(j):
@sum(CONNECTION(i,j):
YSL(i,j))>
=XQL(j));
@for(DC(i):
YSL(i,j))<
=ZXGM(i));
YSL(i,j))=@if(XYQK(i)#EQ#0,0,@sum(CONNECTION(i,j):
YSL(i,j))));
end
6、运行结果
Feasiblesolutionfound.
Extendedsolversteps:
0
Totalsolveriterations:
54
VariableValue
MINCOST32560.88
ZXGM
(1)59.74352
ZXGM
(2)26.00000
ZXGM(3)64.48303
ZXGM(4)25.24697
XYQK
(1)1.000000
XYQK
(2)1.000000
XYQK(3)1.000000
XYQK(4)1.000000
CQJS
(1)400.0000
CQJS
(2)600.0000
CQJS(3)1700.000
CQJS(4)1500.000
KJFL
(1)10.00000
KJFL
(2)10.00000
KJFL(3)15.00000
KJFL(4)10.00000
GDFY
(1)600.0000
GDFY
(2)800.0000
GDFY(3)1300.000
GDFY(4)1100.000
KBFY
(1)100.0000
KBFY
(2)80.00000
KBFY(3)150.0000
KBFY(4)160.0000
ZXSC
(1)25.00000
ZXSC
(2)25.00000
ZXSC(3)30.00000
ZXSC(4)25.00000
ZDNL
(1)60.00000
ZDNL
(2)80.00000
ZDNL(3)100.0000
ZDNL(4)100.0000
PSBJ
(1)18.00000
PSBJ
(2)18.00000
PSBJ(3)22.00000
PSBJ(4)18.00000
K
(1)1.000000
K
(2)1.000000
K(3)1.000000
K(4)1.000000
XQL
(1)34.00000
XQL
(2)40.00000
XQL(3)26.00000
XQL(4)38.00000
XQL(5)30.00000
JTJL(1,1)12.00000
JTJL(1,2)7.000000
JTJL(1,3)10.00000
JTJL(1,4)20.00000
JTJL(1,5)18.00000
JTJL(2,1)15.00000
JTJL(2,2)20.00000
JTJL(2,3)9.000000
JTJL(2,4)22.00000
JTJL(2,5)11.00000
JTJL(3,1)18.00000
JTJL(3,2)25.00000
JTJL(3,3)22.00000
JTJL(3,4)13.00000
JTJL(3,5)10.00000
JTJL(4,1)17.00000
JTJL(4,2)23.00000
JTJL(4,3)28.00000
JTJL(4,4)10.00000
JTJL(4,5)18.00000
YSXS(1,1)1.200000
YSXS(1,2)1.000000
YSXS(1,3)1.200000
YSXS(1,4)1.400000
YSXS(1,5)1.300000
YSXS(2,1)1.100000
YSXS(2,2)1.200000
YSXS(2,3)1.000000
YSXS(2,4)1.300000
YSXS(2,5)1.000000
YSXS(3,1)1.300000
YSXS(3,2)1.400000
YSXS(3,3)1.200000
YSXS(3,4)1.000000
YSXS(3,5)1.100000
YSXS(4,1)1.200000
YSXS(4,2)1.400000
YSXS(4,3)1.300000
YSXS(4,4)1.000000
YSXS(4,5)1.200000
YSL(1,1)18.74881
YSL(1,2)40.24774
YSL(1,3)0.1817944
YSL(1,4)0.000000
YSL(1,5)0.1817944
YSL(2,1)0.1817944
YSL(2,2)0.000000
YSL(2,3)25.63641
YSL(2,4)0.000000
YSL(2,5)0.1817944
YSL(3,1)0.1817944
YSL(3,2)0.000000
YSL(3,3)0.1817944
YSL(3,4)34.28131
YSL(3,5)29.45462
YSL(4,1)14.88760
YSL(4,2)0.000000
YSL(4,3)0.000000
YSL(4,4)3.718687
YSL(4,5)0.1817944
RowSlackorSurplus
10.000000
20.000000
30.000000
40.000000
50.000000
634.74352
71.000000
834.48303
90.2469739
100.2564773
1154.00000
1235.51697
1374.75303
140.000000
150.000000
160.000000
170.000000
180.000000
190.000000
200.000000
210.000000
220.000000
230.000000
240.000000
250.2477366
260.000000
270.000000
280.000000
290.3833852
300.000000
310.3835102
326.458893
330.000000
340.000000
360.000000
6、结果分析
(1)计算结果有:
mincost=34249.21
各厂址建设最小规模
最小规模/万吨
(28,12)
Xx砼搅拌机
55
(1,16.5)
Xx水泥厂
68.2
(11.5,2.5)
41.9
(24,5)
2好备选地块
37
各配送中心到各需求地的运量
需求区域
配送中心
7、设计体会
(2)杨红友设计体会
通过课程设计,我受益良多。
以前常听一些道学佛学或者风水学的人说世上万事万物皆有道可循,有章可序,但我本肉眼凡胎,窥不见其理,觅不着其章,只是一头雾水,视奇门遁甲,八字命理,风水学说等为迷信,然本课程设计则不然。
回想起曾经学习运筹学的时候,学到一些简单的数学建模还觉得可笑,因为那样的对象关系已能一目了然,何用如此麻烦?
当解答过程中计算了累计过多的时候,甚至头疼,进而降低做题的精力,效率也大大削减。
那时候对运筹学数学建模求解所谓的实际问题对我来说根本就是毫无意义的事,但今天不一样,那是所说的实际问题只是一个代名词,根本谈不上什么实际问题。
建模过称过于简单也只不过是为了让所有学者能提高接受那种知识技能的效率,所以通常给出的对象也是少少几个。
那样就可以用建模的思路和凭自己的经验判断两种方法将题目求解出来,加以对比,加深学者对建模思想的信任和加强。
而今天的配送与流通加工课程设计所给出的对象、条件已经不是当年学运筹学数学建模那样,给出几个简单数据和条件,然后草草了事,目的旨在让我们了解和熟悉建模的思想和方法。
此课程设计的数据多达几十,条件也数不胜数,有时候当挖掘一个隐含条件都得绞尽脑汁,搔首踟蹰,好大半天才写出一个约束条件,这已经快令我这小脑袋瓜都承受不住了,但这都不算,后续工作更是令人头晕目眩。
就那假设变量来说吧,本次课程设计所用的初始变量就多大十几个,还不计算过称变量。
就这十几个变量,在每个约束条件里神出鬼没,绕来绕往,令我好几次找不着北。
第二部在找相关变量之间关系的时候更是有想敲破脑袋的感觉,总是每每想出一个关系式子,写出一个约束条件又疑心太重,不敢相信此式是对是错。
仔细仿佛琢磨又发觉不对,重新分析已知条件和隐含条件,重复思考才又将新的约束条件写出来,三番两次打磨才确定一个约束条件,这种过程的繁杂程度可想而知,要不是我等学者拥有高中三年磨练出来的坚强意志可能还真承受不住。
实不相瞒,感觉找寻约束条件这种思路和过程非常抠门,抠抠弄弄好大半天抠出一个约束条件,才能将约束式子表示出来。
并且你还不能放过任何一个有用的隐含条件,即不能放过任何一个约束条件,否则所有努力就只能前功尽弃,半途而废,根本没有任何收获。
所以就专门找寻约束条件写约束式子就把我们这组精锐部队给折腾得人不像人鬼不像鬼了,剩半条命也跟每命差不多,各个都精神匮乏萎靡不振。
不过庆幸的是,我们齐心协力,走过一山又一水,终于把每个隐含条件都给挖掘出来,把约束式子给写足了。
然而高兴只在一瞬,接下来又得根据约束条件写目标函数。
还好这目标函数不像挖掘条件来写约束式子那么繁杂,不然可能我们几个所剩无几的小命都要给消耗得一丁点儿也没有了。
在目标函数和约束条件都写完后,经过反复推敲和打磨,觉得没问题了,就进入下一步工作,编写lingo程序,希望能将所有表达式翻译成lingo语言,通过lingo软件快速而准确无误地帮我们将答案计算出来。
在这个过程,起主要作用的是我们的带头大哥叶尔强。
他的lingo知识是我们组学得最好的,我们只是在旁边听从他的吩咐,为他打打下手,并在我们稍微强一点的一些知识点上做点微薄的贡献。
看着我们强哥敲啊敲的,键盘喀喀喀的声音在我们耳边来回荡漾。
虽然看我们强哥一脸的憔悴相,不过说实在的看着他每写出来的一步程序将每个数学表达式演绎得那么生灵活现,令我们不得不拍案叫绝,赞叹不已。
在这个过程也是非常复杂的,有时候写着写着突然就不知道该怎么写了,就停下来分析,心无旁骛。
因为有时候要把这数学思维翻译进lingo世界并不是像我们想象的那么简单。
可以这么说吧,有时候一个数学表达式的思维看似简单,但要将其翻译成lingo语言,不仅在语法上磨合千难万难,而且两者的思路在连接的过程上非常坎坷。
最难的就是在有些时候明明思路对了,语法上的磨合也每什么问题,就是不知道要该怎么表达。
比如在0、1变量约束定义时,就因为前面少了一个for,运行前次万次总出不来结果,也找不出错在哪里。
当好不容易从网。
(3)友涵设计体会
通过这次课程设计发现这其中需要的很多知识我们没有接触过,上网查找资料的时候发现我们以前所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。
同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要自己不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。
在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。
在本次课程设计过程中,使我掌握了更多的课外的知识,不仅充实了自己的专业技能,而且提高了自己的动手能力。
更重要的是让我体会到了一个团队合作的精神。
选址是一件既坚苦而又有意义的工作,在每个阶段都要严格遵守方法。
我们在选址过程中要充分了解用户的需求,再根据用户的需求导出系统相应的功能,只有这样才能使选址有真正的意义。
我们用了很多时间进行分析。
在编码阶段,有时会为了一个小小的错误而大伤脑筋,花上好些时间。
因此,每个开发阶段都要经过一番仔细的思考和琢磨。
通过本次课程设计,我觉得不管做什么,始终都要相信自己。
不要畏惧,不要怕遇到困难,什么都要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来它并没有你你想象的那么难。
如果没有自信,没有目标,没有信心就很难把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标。
从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想。
8、附录(小组分工)
组员
负责工作
叶尔强
杨红友
王坚祥
友涵
鲁迪
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 配送 流通 加工 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)