p垃圾回收物流仿真系统设计_第1页
p垃圾回收物流仿真系统设计_第2页
p垃圾回收物流仿真系统设计_第3页
p垃圾回收物流仿真系统设计_第4页
p垃圾回收物流仿真系统设计_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

p垃圾回收物流仿真系统设计1.垃圾回收物流系统介绍都市某一区域,共有7个居民小区,每个小区有一个固定垃圾投放处,两个垃圾箱分不投放完全废弃垃圾和可回收利用垃圾;每天有专门公司(垃圾处理公司)派运输车收集垃圾,将垃圾从居民区运送之中转站,再由中转站运至目的地—垃圾处理中心。仿真程序研究如何设计物流系统,能够使收集系统在满足时刻约束、载重约束的条件下,使垃圾处理公司的物流总成本最低。系统配置的项目要紧有车辆载重量、随车工作人员数、客户中意度。2.数据信息仿真系统涉及的数据信息如下:(1)地理及需求信息各个收集点所有的人口数、距离垃圾转运站、公司停车场的距离信息如表一所示。各收集点之间以及停车场和转运站之间的距离信息如表二所示。表一收集点信息收集点名称收集点居民数people(i)(千人)距离停车场距离distance(ip)(km)距离垃圾转运站距离distance(it)(km)Dump0011.5616Dump0021.451627Dump0031.652624Dump0041.853836Dump0051.42826Dump0062.051614Dump0071.6108表二点间距离路径起点路径终点距离(km)符号Tran_stationCorppark11Distance(pt)Dump001Dump00210Distance(12)Dump002Dump00310Distance(23)Dump003Dump00412Distance(34)Dump004Dump00510Distance(45)Dump005Dump00612Distance(56)Dump006Dump0076Distance(67)(2)与收集车辆有关的信息=1\*GB3①固定成本[price(i)]:收集车辆的购买费用;=2\*GB3②可变成本[cost(i)]:车辆的行驶费用、爱护费用和雇职员资;=3\*GB3③行驶速度:分为空车行驶速度[unloadspeed(i)]和载重行驶速度[loadspeed(i)];=4\*GB3④收集时刻[loadtime(i)]:在垃圾收集点收集垃圾所需的时刻=5\*GB3⑤卸载时刻[unloadtime(i)]:在转运站卸载垃圾所需的时刻具体信息如表三所示:表三收集车辆信息车辆名称载重t固定成本万元可变成本元/km载重速度km/h空载速度km/h人员人人职员资元/天.人收集时刻min卸载时刻min车1X12+X1X16072P1603+y*6/P13+X1*6/P1车2X22+1.2*X2X26072P2602+y*8/P22+X2*6/P2讲明:车1用来收集不可回收垃圾;车2用来收集可回收利用垃圾;X1,X2为现有两种车的吨位数,X1取值:3,4或5吨;X2取值:1.5;2;2.5;y为每次收集的垃圾量,单位--吨;P1,P2为两种车可配备的随车工作人员数(能够是1,2,3)。(3)与垃圾有关的信息=1\*GB3①人均垃圾量:平均每人每天产生的垃圾数量=2\*GB3②垃圾比例:各种垃圾成分所占比例假设人均垃圾量服从均值为1.2kg/天的埃尔郎分布,垃圾成分分为两类:一类为可重复利用资源,一类为无用需销毁垃圾,两者比例为1:2。(4)收集垃圾的成本函数现在假设仿真一年365天的垃圾回收工作,决定两种型号的车配置何种吨位以及随车工作人员数,垃圾回收物流成本(TotalLogisticCost,TLC)最低。TLC=车1成本+车2成本车I所耗成本=I的固定成本+I的可变成本+I的服务时刻成本+I的人员成本即:TLC=CC1+CC2CC[i]=X[i]+V[i]+S[i]+P[i]*365*60S[i]=(runtime[i]-240)*mS[i]为垃圾回收的服务时刻成本,m为收集时刻对服务时刻成本的惩处因子。垃圾回收公司在十二点之前收集完毕,社会效应好,给予奖励;在十二点后完成,社会中意度低,阻碍公司信誉,成本增加。runtime[i]为垃圾车将垃圾全部回收完成的最终时刻,也即垃圾车每天的运行时刻;3.系统逻辑结构此垃圾回收物流系统的逻辑结构分为四个字模块:垃圾产生模块、叫车模块、收集模块、收工模块、数据处理模块。(1)垃圾产生模块每天收集工作开始时,系统按照小区的人数、人均垃圾量、两种垃圾量的比例,通过爱尔朗随机分布函数,随机产生各个小区的两种垃圾数量,分不存放入各个小区的两个垃圾箱内。(2)叫车模块在垃圾存放入各个小区的两个垃圾箱过程中,按照每种垃圾的总量以及每种垃圾车的载重量,生成叫车的次数。(3)收集模块叫车次数确定之后,车辆按照需求,沿着最短路径依次收集垃圾。在收集过程中,在一个垃圾点,如果垃圾车收集满了或当天的收集工作全部完成,车辆驶向垃圾中转站,进行卸载操作;如果垃圾车未满,则驶向下一最近垃圾收集点连续收集。(4)收工模块当天的收集工作全部完成之后,车辆驶向公司停车场,当天收集工作完毕。(5)数据处理模块每天车辆收工时,4.仿真模型的建立按照系统逻辑结构和数据信息,我们建立具有7个垃圾收集点、一个垃圾转运站的WITNESS垃圾回收仿真模型。具体步骤如下:元素定义Difine建立仿真模型时,第一定义仿真模型中所需的元素,并设计它们的可视成效。我们将设计的元素分为两类――实体元素和逻辑元素,名称如下。表四实体元素列表:元素名称类型讲明dumpa(1)~dumpa(7)Part七个小区不可回收的垃圾dumpb(1)~dumpb(7)Part七个小区可回收利用的垃圾dumpcart(1)Vehicle专门回收dumpa的垃圾回收车dumpcart(2)Vehicle专门回收dumpb的垃圾回收车buffera(1)~buffera(7)Buffer各小区不可回收垃圾的垃圾箱bufferb(1)~bufferb(7)buffer各小区可回收利用垃圾的垃圾箱CorpparkTrack公司停车场,Transfer_stationBuffer垃圾转运站road(i,j)Track由节点实体i向节点实体j方向的道路road(j,i)track由节点实体j向节点实体i方向的道路Geta(1)~geta(7)Track车辆将通过它们来进行垃圾a的回收Getb(1)~getb(7)Track车辆将通过它们来进行垃圾b的回收表五逻辑元素—变量列表:变量名称类型讲明people(7)integer各小区的居民数量capacitycart(2)integer两种垃圾车每次可收集的垃圾数量,即载重量ndemand(2)integer每天对两种垃圾车的需求次数labor(2)integer两种垃圾车的随车工作人员数SalaryReal工作人员每天工资price(2)Real两种垃圾车的购买价格costrate(2)Real两种垃圾车的运行费率unloadspeed(2)Real两种垃圾车的空载速度loadspeed(2)Real两种垃圾车的实载速度loadnum(2)integer两车辆到达垃圾收集点可收集的垃圾数量nfree(2)integer两车辆剩余载重能力Nparts7)integer每一垃圾收集点在特定仿真时点剩余垃圾量loadtime(2)Real两车辆收集垃圾所需的时刻unloadtime(2)Real两车辆卸载垃圾所需的时刻runtime(2,3)Real储备车辆的时刻参数,runtime(k,1)储备仿真钟的当前数值,runtime(k,2)储备车辆k在当天的运行时刻,runtime(k,3)储备车辆k在仿真过程中总的运行时刻TimeweighReal时刻惩处因子timecost(2)Real时刻惩处成本sumcostReal目标函数objfun中用于统计系统运行的总费用定义一个实数型逻辑函数objfun(),用于运算和统计系统运行一年365天所花费的总费用。元素显示display各个元素的显示设置如下图所示。元素详细设计在该子模块中定义随着仿真钟的推进,装载垃圾的逻辑条件。该系统的工作班次制度采纳每天工作8小时,每一仿真时刻等价于现实时刻一分钟。为了实现系统的仿真运行,需要对系统中的元素进行详细设计。具体设计如下:系统初始化程序设计(initializeactions)personum(1)=1.5personum(2)=1.45personum(3)=1.65personum(4)=1.85personum(5)=1.4personum(6)=2.05personum(7)=1.6!给各小区的人数赋初值,单位:千人FORnum=1TO7 meandump(num)=1.2*personum(num)*1000NEXT!分不生成每天七个小区产生垃圾的均值setcapacityofdumpcart1tocapacitycart(1)setcapacityofdumpcart2tocapacitycart(2)!分不设定两个车辆的载重量,由变量数组capacitycart(1)和capacitycart(2)决定。unloadtime=0!卸载时刻FORnum=1TO7 moddemanda(num)=0 moddemandb(num)=0!决定叫车次数的变量NEXTFORnum=1TO4 roadchoicea(num)=0 roadchoiceb(num)=0!最短路径操纵变量NEXTFORnum=1TO3 runtimea(num)=0 runtimeb(num)=0!车辆运行时刻操纵变量NEXTintervaltime=1440!每天的分钟数timeweigh=5!时刻惩处因子laborneeda=1laborneedb=1!两辆车随车工作人员数!对变量赋初始值b.各个小区垃圾的详细设计垃圾元素详细设计表NameFirstarrivalInterarrivalLotsizeToDumpa10.00011440ERLANG(meandump(1)/3,3,1)PUSHtobuffera1Dumpa20.00021440ERLANG(meandump(2)/3,3,2)PUSHtobuffera2Dumpa30.00031440ERLANG(meandump(3)/3,3,3)PUSHtobuffera3Dumpa40.00041440ERLANG(meandump(4)/3,3,4)PUSHtobuffera4Dumpa50.00051440ERLANG(meandump(5)/3,3,5)PUSHtobuffera5Dumpa60.00061440ERLANG(meandump(6)/3,3,6)PUSHtobuffera6Dumpa70.00071440ERLANG(meandump(7)/3,3,7)PUSHtobuffera7Dumpb10.00011440ERLANG(meandump(1)/3,3,8)PUSHtobufferb1Dumpb20.00021440ERLANG(meandump(2)/3,3,9)PUSHtobufferb2Dumpb30.00031440ERLANG(meandump(3)/3,3,10)PUSHtobufferb3Dumpb40.00041440ERLANG(meandump(4)/3,3,11)PUSHtobufferb4Dumpb50.00051440ERLANG(meandump(5)/3,3,12)PUSHtobufferb5Dumpb60.00061440ERLANG(meandump(6)/3,3,13)PUSHtobufferb6Dumpb70.00071440ERLANG(meandump(7)/3,3,14)PUSHtobufferb7垃圾名称*一天的分钟数Meandump为通过各小区人数运算出来的变量数组决定垃圾的存放*决定每天各个小区的垃圾依次产生,以便于生产叫车次数。C.运输车辆详细设计NameUnloadspeedLoadspeedtoDumpcart11.21.0PUSHtocorppark(1)Dumpcart21.21.0PUSHtocorppark(2)车辆名称空载速度(km/min)实载速度生成时,放入公司停车场的车位D.当垃圾放入垃圾箱时的活动,也即每个垃圾箱的“actionsoninput”中的程序元素buffera1IFMOD(NPARTS(buffera1),cartcapacity(1))=1 CALLdumpcart1,get1,road7_t,1 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,geta1,geta2,geta3,geta4,geta5,geta6,geta7,getb1,getb2,getb3,getb4,getb5,getb6,getb7ENDIFmoddemanda(1)=MOD(NPARTS(buffera1),cartcapacity(1))程序讲明:第一行:判定当buffera1中的垃圾的数量同车辆1的载重量取余为1时,发生if…endif之间的活动;第二行:叫车dumpcart1,该车将在路径get1上装载垃圾,在路径road7_t上卸载垃圾,优先级为1;第三行至第五行:在所有路径上搜索车辆dumpcart1;第七行:汇总非整车垃圾的数量,带到buffera2中连续运算并叫车。Buffera2~buffera7的“actionsoninput”中的程序如下:IFMOD(moddemanda(i-1)+NPARTS(buffera(i)),cartcapacity1)=1 CALLdumpcart1,geta(i),road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,geta1,geta2,geta3,geta4,geta5,geta6,geta7,getb1,getb2,getb3,getb4,getb5,getb6,getb7ENDIFmoddemanda(i)=MOD(moddemanda(I-1)+NPARTS(buffera(i)),cartcapacity1)i表示本垃圾箱的序号,为2,3,4,5,6,7;第一行:将其上一个垃圾箱的非整车垃圾数量同本垃圾箱中的垃圾数相加,然后与车辆一的载重量取余,当结果为1时,叫车。垃圾箱bufferb1~bufferb7的“actionsoninput”同垃圾箱buffera1~buffera7的“actionsoninput”处理逻辑完全一样,只需要将buffera改为bufferb、dumpcart1改为dumpcart2、moddemanda改为moddemandb、geta改为getb即可。E.两点间运输路径上的程序设计下面以road2_3为例,加以讲明其逻辑流程。其它路径类似,能够在路径的generaldetail中的outputto中加以查看。IFVEHICLE(road2_3,1)=dumpcart1 IFNPARTS(buffera3)>0 PUSHtogeta3(1) ELSE PUSHtoroad3_4 ENDIFELSEIFVEHICLE(road2_3,1)=dumpcart2 IFNPARTS(bufferb3)>0 PUSHtogetb3 ELSE PUSHtoroad3_4 ENDIFELSE WaitENDIF第一行到第六行:决定车辆dumpcart1到达路径road2_3末端时,它的运行路径。如果现在垃圾箱buffera3中有垃圾,则车辆dumpcart1驶向路径geta3,进行垃圾收集(第二行到第四行);如果垃圾箱buffera3中没有垃圾,则车辆dumpcart1驶向路径road3_4。第七行到第十二行:决定车辆dumpcart2到达路径road2_3末端时,它的运行路径。如果现在垃圾箱bufferb3中有垃圾,则车辆dumpcart2驶向路径getb3,进行垃圾收集(第八行到第十行);如果垃圾箱bufferb3中没有垃圾,则车辆dumpcart2驶向路径road3_4。如果是其他情形,等待(第十三行到第十四行)。F.路径get系列的设置在Get系列(Geta1~geta7,Getb1~getb7)路径中设置车辆的装载(loading)程序和条件,它们的设定以及程序的处理流程差不多相同,下面举geta2加以讲明。其中装载数量(loadnum)和装载时刻(loadtime)在generaldetail页的actionsonfront中设定;装载程序和条件在loadingdetail页中进行设定。Generaldetail页的actionsonfront程序如下:IFNFREE(dumpcart1)>=NPARTS(buffera2) loadnum=NPARTS(buffera2)ELSE loadnum=NFREE(dumpcart1)ENDIFloadtimea(1)=3+loadnum/1000*loadindexa/laborneedadayloadtimea=dayloadtimea+loadtimea(1)程序讲明:第一行至第五行:如果车辆dumpcart1的空余容量NFREE(dumpcart1)不小于垃圾箱buffera2中的垃圾数量,则收集数量loadnum为垃圾箱buffera2中的所有垃圾;否则,收集数量loadnum为车辆的空余容量。第六行:运算此次收集所需的时刻loadtimea(1),它是此次垃圾收集量、随车工作人员数以及收集时刻系数的函数。下面的图形是路径geta2中的loadingdetail页的设定。在选中loadingenabled(能够装载)前的复选框后,将会显现该界面上的其他内容。TransferMode(装载模式)有三种:if、call、always。我们选择条件模式if,在条件condition:框中输入条件表达式NPARTS(buffera2)>0,即当垃圾箱buffera2中的垃圾数量大于零时,能够装载;装载数量等于Quantityto框中的变量loadnum的值;装载的时刻需要TimetoLoad框中的变量loadtimea(1);装载的源在InputLoadingRule规则中进行设定,为“PULLfrombuffera2”,从垃圾箱buffera2中收集。G.road7_t的设定车辆每次到达路径road7_t的末端时,都要进行卸载处理,因此对路径road7_t的详细设计项目包括卸载所需的时刻,卸载模式等。Generaldetail页的actionsonfront中设定卸载所需的时刻,程序如下:IFVEHICLE(road7_t,1)=dumpcart1 unloadtime=3+6*NPARTS(dumpcart1)/1000/laborneeda dayunloadtimea=dayunloadtimea+unloadtimeELSE unloadtime=2+6*NPARTS(dumpcart2)/1000/laborneedb dayunloadtimeb=dayunloadtimeb+unloadtimeENDIF程序讲明:第一行至第三行,按照函数VEHICLE()的结果,如果到达车辆是dumpcart1,就通过车辆dumpcart1中所装载的垃圾数量NPARTS(dumpcart1)、车辆dumpcart1的随车工作人员数laborneeda来确定卸载时刻unloadtime(第二行),然后统计车辆dumpcart1的总的卸载时刻dayunloadtimeb(第三行)。第四行至第七行,否则,也确实是到达的车辆是dumpcart2,就通过车辆dumpcart2中所装载的垃圾数量NPARTS(dumpcart2)、车辆dumpcart2的随车工作人员数laborneedb来确定卸载时刻unloadtime(第五行),然后统计车辆dumpcart2的总卸载时刻dayunloadtimeb(第六行)。下图是路径road7_t设置中的另一项内容,确实是车辆卸载的有关内容。在选中UnloadingEnabled(能够卸载)前的复选框后,该页面上的其他选项将能够被用户设置。卸载模式(TransferMode)也有三种模式if、call、always,我们选择模式always,只要车辆到达路径road7_t的末端,就进行卸载活动。卸载数量Quantityto设定为All,确实是卸载车辆上的所有垃圾。卸载时刻Timeto设定为变量unloadtime,决定此次卸载所需要的时刻。停车Park设定为公司停车场corppark,决定在当天回收任务完成后,车辆泊放的位置。卸载到什么地点,将由“outputunloadingrule”中的程序决定,程序为:pushtoship,将所有垃圾送出系统。数据处理子模块每天车辆完成收集工作完成后,驶向垃圾处理公司停车场停泊时,都将进行一些数据统计和处理活动。这些程序写在路径road7_0的“ActionsonFront”中,程序及其讲明如下:IFVEHICLE(road7_0,1)=dumpcart1 IFNDemands(dumpcart1)=0 runtimea(1)=TIME runtimea(2)=runtimea(2)+1 runtimea(3)=runtimea(1)-1000*(runtimea(2)-1) timecosta=timecosta+timeweigh*(runtimea(3)-240) daydistance=DISTANCE(dumpcart1)/10-lastdaydistance lastdaydistance=DISTANCE(dumpcart1)/10 dayunloadtimea=0 dayloadtimeb=0 ENDIFELSEIFVEHICLE(road7_0,1)=dumpcart2 IFNDemands(dumpcart2)=0 runtimeb(1)=TIME runtimeb(2)=runtimeb(2)+1 runtimeb(3)=runtimeb(1)-1000*(runtimeb(2)-1) timecostb=timecostb+timeweigh*(runtimeb(3)-240) daydistancea=DISTANCE(dumpcart2)/10-lastdaydistancea lastdaydistancea=DISTANCE(dumpcart2)/10 dayunloadtimeb=0 dayloadtimeb=0 ENDIFENDIFFORnum=1TO4 IFVEHICLE(road7_0,1)=dumpcart1 roadchoicea(num)=0 ELSEIFVEHICLE(road7_0,1)=dumpcart2 roadchoiceb(num)=0 ENDIFNEXT程序讲明:第一行至第十一行,如果立即停泊的车辆是dumpcart1,同时系统现在对车辆dumpcart1的需求是零(第三行);先统计车辆dumpcart1在当天收集工作的完成时刻,并判定是否超过了12点,然后运算当天的时刻惩处成本timecost(第三至第六行);统计车辆的运行距离(第七至第八行);对两个变量置零(第九至第十行)。第十二行至第二十二行,统计如果立即停泊的车辆是dumpcart2的一些数据,讲明同dumpcart1一样。第二十四行至第三十行,对路径选择变量数组置零。目标函数objfun()中的程序如下:sumcost=0!统计总费用的变量置零sumcost=initialcosta+initialcostb+sumcost!将车辆的购置成本加到总费用变量中sumcost=(laborneedb+laborneeda)*60*(runtimea(2)+1)+sumcost!将工作人职员资添加到总费用变量sumcost=DISTANCE(dumpcart001)/10*permilecosta+DISTANCE(dumpcart002)/10*permilecostb+sumcost!将车辆的运行费用添加到总费用变量sumcost=timecosta+timecostb+sumcost!将时刻惩处成本添加到总费用变量RETURNsumcost!返回变量sumcost给目标函数5.仿真运行与结果分析我们现在采纳如下两种配置,来运行该仿真模型,仿真时刻为一年(即365*1440分钟)。项目方案车辆名称载重量(吨)随车人员(人)时刻惩处因子方案一Dumpcart(1)312Dumpcart(2)1.512方案二Dumpcart(1)532Dumpcart(2)2.532其它的项目在两个方案中的值完全相同,参见前面的表格。通过仿真运行后得到如下数据:方案运行距离km运行时刻h时刻成本万元收集时刻h卸载时刻h可变成本万元固定成本万元人员工资万元总成本万元总成本万元一Dumpcart(1)73691231010.274440722.152.239.566.3Dumpcart(2)7433622639.681321711.23.82.226.8二Dumpcart(1)546571366-1.134215727.376.639.863Dumpcart(2)544891292-23328613.656.623.2为了更清晰的比较两种方案的成本参数,将上表的数据绘制成直方图如下:从成本数据比较图上能够看出,当采纳方案二时,车辆吨位数和随车人员的增加,使得固定成本、人职员资都比方案一要大;同时,回收速度要比方案一快的多,使得可变成本和居民中意度较高;时刻惩处成本低于零,即取得了专门好的市场评判和公司品牌效应。在这两种方案下,每年方案二的物流成本比方案一要少3.3万元。从运行参数比较图上能够看出,两种方案的物流成本差异收集时刻、卸载时刻、运行时刻、运行距离的差异引起的。由于方案一的车辆吨位和随车人员都比方案二要少,因此同是收集等量垃圾,它的收集时刻和卸载时刻都比方案二长,它的收集次数要比方案二多,即运行距离比方案二长。附:以上程序当中所涉及的函数介绍如下MODELINFORMATION: ModelName: dumpreverse ModelTitle: thesimulationforreverselogistics ModelAuthor: jiannywang,NUAA CreationDate: SunMar1009:26:202004InitialActions: XLReadArray("\\reverse.xls","input","$B$3:$B$9",personum) FORnum=1TO7 meandump(num)=1.2*personum(num)*1000 NEXTELEMENTNAME:dump1ElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump001(1)Actions Create: IFIUNIFORM(1,3,101)=1 dumpreusable="yes" ELSE dumpreusable="no" ENDIF moddemand(1)=MOD(moddemand(1),cartcapacity)+1 IFmoddemand(1)=cartcapacity moddemand(1)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump1aElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump001a(1)Actions Create: IFIUNIFORM(1,3,101)=1 dumpreusable="yes" ELSE dumpreusable="no" ENDIF moddemand(1)=MOD(moddemand(1),cartcapacity)+1 IFmoddemand(1)=cartcapacity moddemand(1)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump2ElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump002(1)Actions Create: moddemand(2)=MOD(moddemand(2),cartcapacity)+1 IFmoddemand(2)=cartcapacity moddemand(2)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump2aElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump002a(1)Actions Create: moddemand(2)=MOD(moddemand(2),cartcapacity)+1 IFmoddemand(2)=cartcapacity moddemand(2)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump3ElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0001MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump003(1)Actions Create: moddemand(3)=MOD(moddemand(3),cartcapacity)+1 IFmoddemand(3)=cartcapacity moddemand(3)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump3aElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0001MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump003a(1)Actions Create: moddemand(3)=MOD(moddemand(3),cartcapacity)+1 IFmoddemand(3)=cartcapacity moddemand(3)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump4ElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0002MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump004(1)Actions Create: moddemand(4)=MOD(moddemand(4),cartcapacity)+1 IFmoddemand(4)=cartcapacity moddemand(4)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump4aElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0002MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump004a(1)Actions Create: moddemand(4)=MOD(moddemand(4),cartcapacity)+1 IFmoddemand(4)=cartcapacity moddemand(4)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump5ElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0003MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump005(1)Actions Create: moddemand(5)=MOD(moddemand(5),cartcapacity)+1 IFmoddemand(5)=cartcapacity moddemand(5)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump5aElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0003MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump005a(1)Actions Create: moddemand(5)=MOD(moddemand(5),cartcapacity)+1 IFmoddemand(5)=cartcapacity moddemand(5)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump6ElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0004MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump006(1)Actions Create: moddemand(6)=MOD(moddemand(6),cartcapacity)+1 IFmoddemand(6)=cartcapacity moddemand(6)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump6aElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0004MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump006a(1)Actions Create: moddemand(6)=MOD(moddemand(6),cartcapacity)+1 IFmoddemand(6)=cartcapacity moddemand(6)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump7ElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0005MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump007(1)Actions Create: moddemand(7)=MOD(moddemand(7),cartcapacity)+1 IFmoddemand(7)=cartcapacity moddemand(7)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump7aElementType: PartType: VariableattributesGroupnumber: 1InterArrivalTime: 480.0FirstArrivalat: 0.0005MaximumArrivals: UnlimitedInput/OutputRules Output: PUSHtodump007a(1)Actions Create: moddemand(7)=MOD(moddemand(7),cartcapacity)+1 IFmoddemand(7)=cartcapacity moddemand(7)=0 ENDIF_____________________________________________________________ELEMENTNAME:dump001ElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(NPARTS(dump001),cartcapacity)=1 CALLdumpcart001,get1,road7_t,1 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(1)=MOD(NPARTS(dump001),cartcapacity)_____________________________________________________________ELEMENTNAME:dump001aElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(NPARTS(dump001a),cartcapacity)=1 CALLdumpcart001,get1,road7_t,1 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(1)=MOD(NPARTS(dump001a),cartcapacity)_____________________________________________________________ELEMENTNAME:dump002ElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(1)+NPARTS(dump002),cartcapacity)=1 CALLdumpcart001,get2,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(2)=MOD(moddemand(1)+NPARTS(dump002),cartcapacity)_____________________________________________________________ELEMENTNAME:dump002aElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(1)+NPARTS(dump002a),cartcapacity)=1 CALLdumpcart001,get2,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(2)=MOD(moddemand(1)+NPARTS(dump002a),cartcapacity)_____________________________________________________________ELEMENTNAME:dump003ElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(2)+NPARTS(dump003),cartcapacity)=1 CALLdumpcart001,get3,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(3)=MOD(moddemand(2)+NPARTS(dump003),cartcapacity)_____________________________________________________________ELEMENTNAME:dump003aElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(2)+NPARTS(dump003a),cartcapacity)=1 CALLdumpcart001,get3,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(3)=MOD(moddemand(2)+NPARTS(dump003a),cartcapacity)_____________________________________________________________ELEMENTNAME:dump004ElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(3)+NPARTS(dump004),cartcapacity)=1 CALLdumpcart001,get4,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(4)=MOD(moddemand(3)+NPARTS(dump004),cartcapacity)_____________________________________________________________ELEMENTNAME:dump004aElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(3)+NPARTS(dump004a),cartcapacity)=1 CALLdumpcart001,get4,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(4)=MOD(moddemand(3)+NPARTS(dump004a),cartcapacity)_____________________________________________________________ELEMENTNAME:dump005ElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(4)+NPARTS(dump005),cartcapacity)=1 CALLdumpcart001,get5,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(5)=MOD(moddemand(4)+NPARTS(dump005),cartcapacity)_____________________________________________________________ELEMENTNAME:dump005aElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(4)+NPARTS(dump005a),cartcapacity)=1 CALLdumpcart001,get5,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(5)=MOD(moddemand(4)+NPARTS(dump005a),cartcapacity)_____________________________________________________________ELEMENTNAME:dump006ElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(5)+NPARTS(dump006),cartcapacity)=1 CALLdumpcart001,get6,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(6)=MOD(moddemand(5)+NPARTS(dump006),cartcapacity)_____________________________________________________________ELEMENTNAME:dump006aElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(5)+NPARTS(dump006a),cartcapacity)=1 CALLdumpcart001,get6,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(6)=MOD(moddemand(5)+NPARTS(dump006a),cartcapacity)_____________________________________________________________ELEMENTNAME:dump007ElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(6)+NPARTS(dump007),cartcapacity)=1 CALLdumpcart001,get7,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(7)=MOD(moddemand(6)+NPARTS(dump007),cartcapacity)_____________________________________________________________ELEMENTNAME:dump007aElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: FrontActions Input: IFMOD(moddemand(6)+NPARTS(dump007a),cartcapacity)=1 CALLdumpcart001,get7,road7_t,0 VSEARCHroad0_1,corppark,road1_2,road1_0,road2_3,road3_4,road4_5,road5_6,road6_5,road6_7,road7_t,roadt_7,road1_0,road3_6,road6_3,road7_0,road0_7,road2_1,get1,get2,get3,get4,get5,get6,get7 ENDIF moddemand(7)=MOD(moddemand(6)+NPARTS(dump007a),cartcapacity)_____________________________________________________________ELEMENTNAME:dump008ElementType: BufferQuantity: 1Capacity: 65000InputOption: RearOutputOption: First SearchFrom: Front_____________________________________________________________ELEMENTNAME:processmachElementType: MachineQuantity: 1Priority: LowestType: AssemblyAssemblyQty: 5000CycleTime: 1.0Input/OutputRules Input: IFMOD(TIME,480)>400ANDMOD(TIME,480)<460 PULLfromdump008 ELSE Wait ENDIF Output: PUSHtoSHIP_____________________________________________________________ELEMENTNAME:corpparkElementType: TrackQuantity: 1Capacity: 2Zone: 0WorkSearch NoneInput/OutputRules Output: PUSHtoroad0_1(1)_____________________________________________________________ELEMENTNAME:get1ElementType: TrackQuantity: 1Capacity: 1Zone: 0WorkSearch NoneLoading: IfNPARTS(dump001)>0 LoadQuantity: loadnum LoadTime: 2.0Input/OutputRules Output: IFNFREE(dumpcart001)=0 PUSHtoroad1_0 ELS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论