实验2 学生垃圾回收物流仿真系统设计.docx

上传人:b****2 文档编号:17821121 上传时间:2023-08-04 格式:DOCX 页数:18 大小:142.47KB
下载 相关 举报
实验2 学生垃圾回收物流仿真系统设计.docx_第1页
第1页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第2页
第2页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第3页
第3页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第4页
第4页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第5页
第5页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第6页
第6页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第7页
第7页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第8页
第8页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第9页
第9页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第10页
第10页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第11页
第11页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第12页
第12页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第13页
第13页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第14页
第14页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第15页
第15页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第16页
第16页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第17页
第17页 / 共18页
实验2 学生垃圾回收物流仿真系统设计.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验2 学生垃圾回收物流仿真系统设计.docx

《实验2 学生垃圾回收物流仿真系统设计.docx》由会员分享,可在线阅读,更多相关《实验2 学生垃圾回收物流仿真系统设计.docx(18页珍藏版)》请在冰点文库上搜索。

实验2 学生垃圾回收物流仿真系统设计.docx

实验2学生垃圾回收物流仿真系统设计

实验2垃圾回收物流仿真系统设计

实验大纲

一.实验目的

    仿真程序研究如何设计物流系统,能够使收集系统在满足时间约束,载重约束的条件下,使垃圾处理公司的物流总成本最低.

二.实验设备与仪器

    1.微机;2.Witness仿真软件

三.实验计划与安排

计划学时4学时,每次一个班30人;

四.实验步骤

    1.明确地理及需求信息:

各个收集点所有的人口数,距离垃圾转运站,公司停车场的距离信息.

    2.明确与收集车辆有关的信息:

固定成本;可变成本;行驶速度;收集时间;卸载时间.

    3.明确与垃圾相关的信息:

人均垃圾量;垃圾比例;

    4.建立收集垃圾的成本函数

    5.分析系统逻辑结构:

垃圾产生模块;叫车模块;收集模块;收工模块;数据处理模块.

    6.仿真模型建立.

五.实验报告要求(务必每人完成一份,写在实验报告纸上,作为评定部分成绩的标准。

格式要求见最后一页)

    1.要求建立具有2个垃圾收集点,一个垃圾转运站的Witness垃圾回收仿真模型.

    2.实验内容要求有元素定义;元素显示;元素详细设计;数据处理子模块;4大类的详细介绍

    3.仿真运行与结果分析

六.预习及思考题

    1.复习Witness建模元素;

    2.学习输入规则和输出规则以及劳动者规则;

    3.预习Witness程序设计基础

    4.预习归档器及其应用;

    5.预习优化器及其应用.

(注:

大纲要求要求较高,使用Witness教育版无法完成。

根据同学们的学习情况和现有条件,对实验内容进行了调整,同学们做实验和写报告时,以所给教程为准。

总体概述与结果预览[阅读]

实验2垃圾回收物流仿真系统(总体概述与结果预览)

    在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工业物流仿真平台基础教程》垃圾回收模型的简化。

定义元素(Step1)[上机操作]

实验2垃圾回收物流仿真系统(定义元素)

    启动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)

dump1

Part

小区1产生的垃圾

 

dump2

Part

小区2产生的垃圾

 

dumpcart

Vehicle

垃圾回收车

 

buffer1

Buffer

小区1垃圾箱

 

buffer2

Buffer

小区2垃圾箱

 

Corppark

Track

公司停车场

 

Transfer_station

Buffer

中转站

 

road0_1

Track

停车场向小区1方向的道路

PhisicalLength=1

road1_0

Track

小区1向停车场方向的道路

PhisicalLength=1

road1_2

Track

小区1向小区2方向的道路

PhisicalLength=1

road1_2

Track

小区2向小区1方向的道路

PhisicalLength=1

road1_t

Track

小区1向中转站方向的道路

PhisicalLength=3

roadt_1

Track

中转站向小区1方向的道路

PhisicalLength=3

get1get2

Track

车辆通过它们收集垃圾箱中的垃圾,相当于装载台

 

以上可视化设计和实际相差太大。

下面对其进行修改。

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修改后的布局图

注:

具体操作步骤如有疑问,同学之间可讨论解决。

添加变量(Step2)[上机操作]

实验2垃圾回收物流仿真系统(定义变量)

要使物流模型系统正常运转,需要添加一些变量(逻辑元素)。

见表1。

变量添加方法和添加其它元素相同,见图1。

表1逻辑元素

名称

类别

说明

备考

capacitycart

Integer

垃圾车载重量,3吨

 

laborneed

Integer

跟车工人数,1人

 

loadnum

Integer

垃圾车在垃圾收集点的收集量

quantity=2

unloadspeed

Real

空载速度1.2KM/Min

 

loadspeed

Real

重载速度1.0Km/min

 

loadtime

Real

装车时间

quantity=2

unloadtime

Real

卸车时间

 

图1添加Real变量

元素详细设定(Step3)[上机操作]

实验2垃圾回收物流仿真系统(元素详细设定)

●系统初始化(intitializeactions),通过选择系统菜单model、initializaction...菜单项,得到初始化程序编辑框,输入程序:

capacitycart=3

unloadtime=0

laborneed=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)>=4

CALLdumpcart,get1,road1_t,0

VSEARCHCorppark,road0_1,road1_0,road1_t,roadt_1,road1_2,road2_1,get1,get2

ENDIF

图4buffer1详细设置

Capacity:

10,表示垃圾箱容量为10吨;

●垃圾箱buffer2详细设定

照图5设置,actiononinput规则设为:

IFNPARTS(buffer2)>=4

CALLdumpcart,get2,road1_t,1

VSEARCHCorppark,road0_1,road1_0,road1_t,roadt_1,road1_2,road2_1,get1,get2

ENDIF

图5buffer2详细设置

Capacity:

10,表示垃圾箱容量为10吨;

●路径get1详细设定

照图6设置,actiononFront规则设为:

IFNFREE(dumpcart)>=NPARTS(buffer1)

loadnum

(1)=NPARTS(buffer1)

ELSE

loadnum

(1)=NFREE(dumpcart)

ENDIF

loadtime

(1)=3+loadnum

(1)*1000/60*laborneed

outputto...规则设为:

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)

ELSE

loadnum

(2)=NFREE(dumpcart)

ENDIF

loadtime

(2)=3+loadnum

(2)*1000/60*laborneed

dayloadtime=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)>=0

PUSHtoroad0_1

ELSE

Wait

ENDIF

注:

NDemands(dumpcart)>=0意思为:

假如垃圾车回收任务未完成。

●道路roat0_1详细设定

outputto...规则设为:

IFVEHICLE(road0_1,1)=dumpcart

IFNPARTS(buffer1)>=4

PUSHtoget1

ELSE

PUSHtoroad1_2

ENDIF

ELSE

Wait

ENDIF

注释:

IFVEHICLE(road0_1,1)=dumpcart用来判断垃圾车是否在路径road10_1的头部,判断是否在尾部用VEHICLE(road0_1,0)。

●道路roat1_0详细设定

outputto...规则设为:

IFVEHICLE(road1_0,1)=dumpcart

PUSHtoCorppark

(1)

ELSE

Wait

ENDIF

●道路roat1_2详细设定

outputto...规则设为:

IFVEHICLE(road1_2,1)=dumpcart

PUSHtoget2

ELSE

Wait

ENDIF

●道路roat2_1详细设定

outputto...规则设为:

IFVEHICLE(road2_1,1)=dumpcart

IFNPARTS(buffer1)>0ANDNFREE(dumpcart)>0

PUSHtoget1

ELSE

PUSHtoroad1_t

ENDIF

ELSE

Wait

ENDIF

●道路roat1_t详细设定

outputto...规则设为:

PUSHtoroadt_1

(1)

Actiononfront规则设为:

IFVEHICLE(road1_t,1)=dumpcart

unloadtime=3+NPARTS(dumpcart)*1000/100/laborneed

dayunloadtime=dayunloadtime+unloadtime

ENDIF

这里100是垃圾清运工的卸车速度:

100公斤/分钟

点击unloading选项钮,对照图10进行设置。

outputunloadingrule设为:

PUSHtoSHIP

图10roat1_t的unloading设置

道路roatt_1详细设定

outputto...规则设为:

PUSHtoroad1_0

至此元素定义完毕!

如文中有错误和不当之处,希望大家及时指出,谢谢!

几个重要的函数(Step4)[参考]

实验2垃圾回收物流仿真系统(几个重要的函数)

   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

意思是在垃圾回收物流系统所有路径上搜索车辆。

实验报告格式(Step5)——正规实验报告格式(有封皮),不少于8页

实验报告名称

——所属课程,姓名班级学号

一、实验目的

二、实验内容(重点)

三、实验器材

四、实验步骤——见witness仿真程序(这部分简写,并完成程序编制)

五、实验(运行)结果及改进(结合模型具体设计情况,对程序运行结果作简要分析)

实验完成时间、地点

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

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2