资源描述:
《垃圾回收物流仿真系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
实验23垃圾回收物流仿真系统设计(大纲)一.实验目的 仿真程序研究如何设计物流系统,能够使收集系统在满足时间约束,载重约束的条件下,使垃圾处理公司的物流总成本最低.二.实验设备与仪器 1.微机;2.Witness仿真软件三.实验计划与安排计划学时4学时,每次一个班30人;四.实验步骤 1.明确地理及需求信息:各个收集点所有的人口数,距离垃圾转运站,公司停车场的距离信息. 2.明确与收集车辆有关的信息:固定成本;可变成本;行驶速度;收集时间;卸载时间. 3.明确与垃圾相关的信息:人均垃圾量;垃圾比例; 4.建立收集垃圾的成本函数 5.分析系统逻辑结构:垃圾产生模块;叫车模块;收集模块;收工模块;数据处理模块. 6.仿真模型建立.五.实验报告要求 1.要求建立具有2个垃圾收集点,一个垃圾转运站的Witness垃圾回收仿真模型. 2.要求有元素定义;元素显示;元素详细设计;数据处理子模块; 3.仿真运行与结果分析六.预习及思考题 1.复习Witness建模元素; 2.学习输入规则和输出规则以及劳动者规则; 3.预习Witness程序设计基础 4.预习归档器及其应用; 5.预习优化器及其应用.实验23垃圾回收物流仿真系统设计(总体概述与结果预览)精选范本,供参考! 在Witness软件认识实验中,我们设计了简单的流水线生产系统。在系统中,元素之间的逻辑关系比较简单,很容易掌握。今天,我们将试着设计一个相对复杂的物流系统,实验中,将会用到更多的元素和Witness语法知识。希望大家能集中精力,力争完成。模型概述 我们设计垃圾回收模型由居民小区垃圾投放点、垃圾中转站、垃圾运输车辆、道路、垃圾回收公司停车场等组成。物流系统可描述为:生活垃圾积累(居民区垃圾投放点)→达到收集量后发出清理请求→公司派车(及人员)清运→装载台装载→中转站(卸载),如图1所示。图1物流系统示意图 已知信息 小区1居民1.4千人每天产生垃圾4吨; 小区2居民1.8千人每天产生垃圾5吨; 小区1、2间距1公里,小区1和回收公司间距1公里,小区1和中转站间距3公里; 清运车辆1部,载重3吨。模型最终布局 见图2。精选范本,供参考! 图2模型布局图(75%)返回实验专题注:上述模型是对《Witness工业物流仿真平台基础教程》垃圾回收模型的简化。 启动Witness,另存为dump.mod。通过菜单Window/control...将布局区背景设为白色。点击displayedit工具条上grid按钮,取消栅格,见图1。图1取消布局区栅格在系统布局区中添加垃圾(dump1dump2)、垃圾箱(buffer1buffer2)道路(road0_1road1_0road1_2road2_1road1_troadt_1)、车辆(dumpcart)、公司停车场(corppark)、中转站(transfer_station)等元素。布局如图2所示。元素细节设定见表1。精选范本,供参考! 图2插入元素后的初步可视化设计注意图中的路径元素(如road0_1)的方向(黑箭头),如何改变track、conveyer等元素的传输方向,见“在简单的流水线仿真模型设计(第二阶段)”一文。表1实体元素列表名称类别说明初步设定(detail)dump1Part小区1产生的垃圾 dump2Part小区2产生的垃圾 dumpcartVehicle垃圾回收车 buffer1Buffer小区1垃圾箱 buffer2Buffer小区2垃圾箱 CopperTrack公司停车场 Transfer_stationBuffer中转站 road0_1Track停车场向小区1方向的道路PhisicalLength=1road1_0Track小区1向停车场方向的道路PhisicalLength=1road1_2Track小区1向小区2方向的道路PhisicalLength=1road1_2Track小区2向小区1方向的道路PhisicalLength=1road1_tTrack小区1向中转站方向的道路PhisicalLength=3roadt_1Track中转站向小区1方向的道路PhisicalLength=3精选范本,供参考! get1get2Track车辆通过它们收集垃圾箱中的垃圾,相当于装载台 以上可视化设计和实际相差太大。下面对其进行修改。1.利用菜单View/PictureGallery,打开PictureGallery窗口,选中预留图片位置32、33,右击,由import子菜单分别导入图片,见图3。然后选中依次选中buffer1、buffer2、Transfer_station,点击,将菜单选项置于图4所示位置,点击选定新增加的图片32、33,见图5,之后点击Draw按钮,在buffer1等附近绘出。图3导入新的元素图片(icon)图4元素外观设计工具条精选范本,供参考! 图5选择元素标志图片(icon)仿照上述方法,你还可以修改垃圾运输车dumpcart、公司停车场等元素的标志。图6为修改后的布局图。图6修改后的布局图实验23垃圾回收物流仿真系统设计(定义变量) 要使物流模型系统正常正常运转,需要添加一些变量(逻辑元素)。见表1。变量添加方法和添加其它元素相同,见图1。表1逻辑元素名称类别说明备考精选范本,供参考! capacitycartInteger垃圾车载重量,2.5吨 laborneedInteger跟车工人数,1人 loadnumInteger垃圾车在垃圾收集点的收集量quantity=2unloadspeedReal空载速度1.5KM/Min loadspeedReal重载速度1.0Km/min loadtimeReal装车时间quantity=2unloadtimeReal卸车时间 图1添加Real变量实验23垃圾回收物流仿真系统设计(元素详细定义)●系统初始化(intitializeactions),通过选择系统菜单model、initializaction...菜单项,得到初始化程序编辑框,输入程序:capacitycart=3unloadtime=0laborneed=1●dump1详细设计双击dump1打开其detailpart窗口,按图1进行设定。点击to...按钮,设置to规则为pushtobuffer1。精选范本,供参考! 图1dump1细节设置interarrival:工作循环间隔,这里设为1440分钟,即1天;FirstArrival:事件Events发生顺序,dump1为0.0001,dump2为0.0002,这样的话,dump1事件就先发生,即首先生成每天的生活垃圾;lostsize:这里指每天生产的垃圾量,4吨。●dump2详细设计和dump1差不多,见图2。to...规则设置为pushtobuffer2精选范本,供参考! 图2dump2细节设置 ●垃圾车dumpcart详细设定照图3设置,to...规则设为pushtocorppark精选范本,供参考! 图3垃圾车详细设置Capacity:3,表示车辆载重3吨;unloaded:1.2,表示空车行驶速度loaded:1.0,表示重车行驶速度。 ●垃圾箱buffer1详细设定照图4设置,actiononinput规则设为:IFNPARTS(buffer1)>=4CALLdumpcart,get1,road1_t,0VSEARCHCorppark,road0_1,road1_0,road1_t,roadt_1,road1_2,road2_1,get1,get2ENDIF图4buffer1详细设置Capacity:10,表示垃圾箱容量为10吨;●垃圾箱buffer2详细设定照图5设置,actiononinput规则设为:精选范本,供参考! IFNPARTS(buffer2)>=4CALLdumpcart,get2,road1_t,1VSEARCHCorppark,road0_1,road1_0,road1_t,roadt_1,road1_2,road2_1,get1,get2ENDIF图5buffer2详细设置Capacity:10,表示垃圾箱容量为10吨;●路径get1详细设定照图6设置,actiononFront规则设为:IFNFREE(dumpcart)>=NPARTS(buffer1)loadnum(1)=NPARTS(buffer1)ELSEloadnum(1)=NFREE(dumpcart)ENDIFloadtime(1)=3+loadnum(1)*1000/60*laborneedoutputto...规则设为:PUSHtoroad1_t(1)精选范本,供参考! 点击loading选项钮,照图7设置,inputloadingrule设置为PULLfrombuffer1图6get1详细设置图7get1的loading(装车)设置精选范本,供参考! Quantityto:loadnum(1),表示车辆在垃圾收集点处的收集量;Timetoload:loadtime(1),表示收集时间Condition:NPARTS(buffer1)>0,表示垃圾收集条件为垃圾箱中有垃圾。●路径get2详细设定照图8设置,actiononFront规则设为:IFNFREE(dumpcart)>=NPARTS(buffer2)loadnum(2)=NPARTS(buffer2)ELSEloadnum(2)=NFREE(dumpcart)ENDIFloadtime(2)=3+loadnum(2)*1000/60*laborneeddayloadtime=dayloadtime+loadtime(2)这里60是垃圾清运工的装车速度:60公斤/分钟注释:ifNFREE(dumpcart)>=NPARTS(buffer2)表达式包含了两个函数:NFREE和NPARTS,表达式的含义是“假如垃圾车dumpcart的剩余载重量大于或等于垃圾桶buffer2中的垃圾数量”。outputto...规则设为:PUSHtoroad2_1(1)点击loading选项钮,照图9设置,inputloadingrule设置为PULLfrombuffer2精选范本,供参考! 图8get2详细设置图9get2的loading(装车)设置 ●停车场corpark详细设定精选范本,供参考! outputto...规则设为:IFNDemands(dumpcart)>=0PUSHtoroad0_1ELSEWaitENDIF注:NDemands(dumpcart)>=0意思为:假如垃圾车回收任务未完成。●道路roat0_1详细设定outputto...规则设为:IFVEHICLE(road0_1,1)=dumpcartIFNPARTS(buffer1)>=4PUSHtoget1ELSEPUSHtoroad1_2ENDIFELSEWaitENDIF注释:IFVEHICLE(road0_1,1)=dumpcart用来判断垃圾车是否在路径road10_1的头部,判断是否在尾部用VEHICLE(road0_1,0)。●道路roat1_0详细设定outputto...规则设为:IFVEHICLE(road1_0,1)=dumpcartPUSHtoCorppark(1)ELSEWaitENDIF精选范本,供参考! ●道路roat1_2详细设定outputto...规则设为:IFVEHICLE(road1_2,1)=dumpcartPUSHtoget2ELSEWaitENDIF●道路roat2_1详细设定outputto...规则设为:IFVEHICLE(road2_1,1)=dumpcartIFNPARTS(buffer1)>0ANDNFREE(dumpcart)>0PUSHtoget1ELSEPUSHtoroad1_tENDIFELSEWaitENDIF●道路roat1_t详细设定outputto...规则设为:PUSHtoroadt_1(1)Actiononfront规则设为:IFVEHICLE(road1_t,1)=dumpcartunloadtime=3+NPARTS(dumpcart)*1000/100/laborneeddayunloadtime=dayunloadtime+unloadtimeENDIF这里100是垃圾清运工的卸车速度:100公斤/分钟精选范本,供参考! 点击unloading选项钮,对照图10进行设置。outputunloadingrule设为:PUSHtoSHIP图10roat1_t的unloading设置道路roatt_1详细设定outputto...规则设为:PUSHtoroad1_0实验23垃圾回收物流仿真系统设计(几个重要的函数)NFree(vehicle_name):返回车辆剩余载重量;NPARTS(buffer_name):返回容器元素中实物数量;NDEMANDS(vehicle_name):返回车辆未完成任务数;CALL叫车函数,例如CALLdumpcart,get1,road1_t,0的意思是请求车辆dumpcart把get1处的货物运送到road1_t。VSEARCH在指定路径上搜索车辆。例如:精选范本,供参考! VSEARCHCorppark,road0_1,road1_0,road1_t,roadt_1,road1_2,road2_1,get1,get2意思是在垃圾回收物流系统所有路径上搜索车辆。【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】精选范本,供参考!