管理建模与仿真仿真实验指导书慕静天津科技大学经济与管理学院2006-8-18Witness仿真软件简介Witness仿真软件是由英国lanner公司推出的功能强大的仿真软件系统。它可以用于离散事件系统的仿真,同时又可以用于连续流体(如液压、化工、水力)系统的仿真。目前已成功运用于国际数千家知名企业的解决方案项目,有机场设施布局优化、机场物流规划、电气公司的流程改善、化学公司的供应链物流系统规划、工厂布局优化和分销物流系统规划等。Witness的安装与启动:安装环境:推荐P41.5G以上、内存512MB及以上、独立显卡64M以上显存,Windows98、Windows2000、WindowsNT以及WindowsXP的操作系统支持。安装步骤:⑴将Witness2003系统光盘放入CD-ROM中,启动安装程序;⑵选择语言(English);⑶选择Manufacturing或Service;⑷选择授权方式(如加密狗方式)。启动:按一般程序启动方式就可启动Witness2003,启动过程中需要输入许可证号。Witness2003的用户界面:系统主界面:正常启动Witness系统后,进入的主界面如下图所示:主界面中的标题栏、菜单栏、工具栏状态栏等的基本操作与一般可视化界面操作大体上一致。这里重点提示元素选择窗口、用户元素窗口以及系统布局区。元素列表窗口:共有五项内容,分类显示模型中已经建立和可以定义的模型元素。Simulation中显示当前建立的模型中的所有元素列表;Designer中显2示当前DesignerElements中的所有元素列表;System中显示系默认的特殊地点;Type中显示Witness系统中可定义的所有元素类型;SystemFunction中显示Witness系统中可以定义的所有函数类型。用户元素窗口:系统提供的默认用户元素窗口中提供了各种元素的可视化效果的定义,不过在建模过程中,当这些缺省的设置不能很好的表示实际系统时,用户可以在该窗口定义自己的相关元素的名称、可视效果等,保存以便日后使用。定义方法可以鼠标右击页框标题,将出现弹出式菜单,其中可以添加、重命名、删除、加载原有设计元素组等项目。向页框中添加自定义元素的步骤一般分为Define、Display、Detail三步。自定义元素设定完毕后,需要保存成*.des文件,通过菜单File/saveAs,然后选定文件类型为DesignerElementFiles(*.des),输入文件名即可。系统布局区:也叫系统布局窗口,在布局窗口中,设置实际系统构成元素的可视化效果以及它们的二维相对位置,可以清楚的显示实际系统的平面布局图。Witness一共提供了八个窗口,可以通过这些窗口,使提仿真项目以不同的角度显示其可视化效果。对系统布局窗口的设置主要有三项内容:添加元素、设置窗口名称及窗口背景色。如何添加元素在实验步骤中介绍。设置窗口名称及窗口背景色可以通过菜单Window/Control…,如下图所示。Witness建模元素:3现实商务或事物系统总是有一系列相互关联的部分组成的,如制造系统中的原材料、机器设备、仓库、运输工具、人员、加工路线等,服务系统中的顾客、服务台、服务路线等。Witness软件使用与现实系统相同的事物组成相应的模型,通过运行一定的时间来模拟系统的绩效。模型中的每个部件被称为“元素(Element)”。该仿真软件共有五类元素来构建现实系统的仿真模型:离散型元素:它是为了表示所要研究的现实系统中可以看得见的、可以计量个数的物体,一般用来构建制造系统和服务系统等。主要包括:零部件(Part):可以代表在其它离散型元素间移动的任何事物。零部件进入模型有两种方式:一是被动式,即被动地等其它元素来取;二是主动式,即零部件主动地以固定时间间隔、不规则的时间间隔、随机的时间间隔等形式进入模型。机器(Machine):机器是获取、处理零部件并将其送往目的地的离散型元素,如一台车床、一个机场登记服务台、一个机器人焊接工等。有7种机器来建立不同类型处理过程的模型:⑴单处理机(single),一次处理一个零部件;⑵批处理机(batch),一次处理多个零部件;⑶装配机(assembly),将多个零部件组装成一个组件输出;⑷生产机(production),一个零部件输入后产生多个输出;⑸通用机(general),输入一批零部件,输出的是相同数目或不同数目的一批零部件;⑹多周期处理机(multiplecycle),模拟机器衽的是经过许多独立的处理周期来完成一次操作;⑺多工作站机(multiplestation),它有多个不同的部件加工位置,每个部件将依次通过每一个工作站,完成一系列的工序。输送链(Conveyor):是实现带传送和滚轴传送的离散元素,在设计输送链时,可以对它的长度、最大容量、部件移动每单位长度所需的时间等项进行设定。它有固定式和队列式两种。固定式(Fixed),保持其上面零部件间距不变的输送链;队列式(Queuing),这种输送链允许部件累积,假如该输送链上的部件被阻塞,部件仍不断滑向一起,直到这个输送链被塞满。4缓冲区(Buffer):用于存入零部件的被动型元素,它既不能主动获取零部件,也不能主动送出零部件。一般是将缓冲区与机器相结合,成为机器的输入或输出缓冲区。车辆(Vehicle),用来将一个或多个零部件从一个地点运送到另一个地点,如卡车,起重机、铲车等。车辆必须沿着轨道(Track)行动。轨道(Track),一种代表车辆运输部件时所遵寻的路径。轨道是单向的,车辆在“尾部(rear)”进入并向“前部(front)”运动。劳动者(Labor):劳动者是代表资源,负责对其它元素进行处理、装配、修理或清洁的离散型元素,如机器人,工具等。可以对模型中的劳动者设置班次,用不同的工作方式,休息和加班时期来进行试验。劳动者具有使用优先权。路径(Parth),是设定零部件和劳动者(或其它资源)从一个元素到达另一个元素的移动路线的离散型,在模型中用它来代表现实系统中行程的长度和实际路线。模块(Module),根据模型设计和分析的需要将模型中其它一些元素集合在一起,形成一个模块。连续型元素:用来表示加工或服务对象是流体的系统,如化工、饮料等。主要包括:流体(Fluid);管道(Pipe);处理器(Processor);容器(Tank)。运输逻辑型元素:主要用于建立物料运输系统,包括:运输网络(Network):由一系列的路线,工作站和单件运输小车组合在一起构成。分为自动提供能量和路线集提供能量两种类型。使用运输网络必须注意两点,一是在同一个网络中,只能使用路线集,工作站和单件运输小车;二是网络所应用的类型和班次也被应用于所有配置在该网络中的路线集,单件运输小车和工作站。单件运输小车(Carriers):单件运输小车沿线集或工作站来运输部件,它的运输方式取决于网络的类型。使用单件运输小车应注意七点:一是每个小车的搬运量只能是一个部件;二是小车可以从一个网络移动到另一个网络;三是可以在每个网络中使用多个类型的单件运输5小车;四是小车只有在路线集提供能量的网络中才能跨越式运动;五是一个单件运输小车的入口规则支持“PUSH,PERCENT和SEQUENCE”输出规则;六是可以把一个小车从一个模块推到另一个模块;七是当定义一个小车的时候,必须把它配置到网络中去(注:WITNESS只有在模型运行时才去检查这一点)。路线集(Section):是一种代表单件运输上车所走路径的提供动力的单体要素。在模型中,路线集是网络的组成部分。工作站(Station):是代表一个点的提供动力的单体要素,该点在路线集的起始或末尾,在这个点上,可以对单件运输小车或者其里面的部件实施操作。共有四种类型的工作站:基站(Basic)、装载站(Loading)、卸载站(Unloading)、停泊站(Parking)。逻辑元素:逻辑元素用来处理数据、定制报表、建立复杂结构的元素,通过这些可以提高模型的质量和实现对具有复杂结构的系统的建模。主要包括:属性(Attribute):属性是反映单个部件、劳动者或者单件运输小车特性的元素。可以在仿真过程中改变属性的值,属性的值可以变量也可以常数。变量(Variable):变量的的数据类型有整型、实数型、名型和字符型四种。WITNESS中系统变量、全局变量和局部变量三种类型。分布(Distribution):用来代表从“现实世界”搜集的数据在模型中具有规律的变化。在建立模型时,既可以根据自己搜集的数据情况采用自定义分布,也可以采用WITNESS提供的最适当的标准分布。函数(Function):函数元素是能返回有关模型状态的信息或者使得模型显得更具有真实性的一组命令集合。WITNESS提供了大量能直接使用的函数,同时也能创建自己的函数。文件(File):它是可以使我们从仿真模型外部将数值输入模型(从一个“READ”型文件)或从模型中输出值(到一个“WRITE”型文件)的一个元素。如,我们能从其它软件生成的文件读入如周期时间这样的值,或者生成适当的报告。6零部件文件(Partfile):“READ”型零部件文件是从外部数据文件读入零部件清单到模型中去的一个逻辑元素。“WRITE”型零部件文件是将零部件清单写入外部文件的逻辑元素。零部件文件可用于从一个模型中生成输出,然后将其用于另一个模型中。零部件文件对于追溯零部件离开仿真的确切时间和零部件在那时的属性值也是很有用的。使用零部件文件必须注意两点:一是不要在一个不要在一个仿真运行时对同一个文件进行读和写的操作。二是假如有两个模型在仿真运行,应该保证它们不对同一个文件进行写入操作,但是从同一个文件中读出是可行的。班次(Shift):是一个能用来创建一个班次模式或一系列班次模式的逻辑元素,它作用于一连串的工作和非工作时期。其它元素仿真班次工作时可以引用班次模式。图形元素:图形元素可以将模型的运行绩效指标在仿真窗口动态的表现出来。主要包括:时间序列图(Timeseries):时间序列图是以图形方式来画出仿真随时间变化的值,从而表现仿真结果的图形元素。垂直的Y轴代表值,水平的X轴代表时间。饼状图(Piechart):饼状图用来在仿真窗口表示仿真结果,显示如何使用一个或一组元素的图形元素。例如,我们可以用一个饼状图来分块表示一个给定时段的空闲时间,装配时间和工作时间。直方图(Histogram):直方图是一种在仿真窗口用竖条式的图形来表示仿真结果的图形元素。在模型中适当的地方我们可以用“record”、“drawbar”、“addbar”行为在直方图中记下值。Witness中的规则:我们一旦在模型中创建了元素,就必须说明零部件,流体,车辆和单件运输小车在它们之间是怎样流动以及劳动者是怎样分配的,这就要用到规则。WITNESS共有三类不同的规则:7输入规则(inputrules):指零部件进入系统或进入某个模型元素的规则。如是主动进入还是被动拉入。设置输入规则有两种方式:一是通过元素细节(detail)对话框中的“FROM”按钮;二是通过Element工具栏上的“VisualInputRules”图标,弹出如下所示的输入规则对话框,然后进行输入规则的设定:输出规则(outputrules):输出规则用于设定当前元素中的零部件、流体、车辆和单件运输小车输出的目的地和数量以及输出方式。输出规则的设定方式与输入规则在致相同。劳动者规则(laborrules):用于详细说明实体元素为完成任务所需要的劳动者类型和数量。有三种劳动者规则:一是NONE规则,表示该元素不需要劳动者;二是MATCH规则,用来为某个元素完成的任务按给定规则匹配所需的劳动者。三是WAIT规则,定义一个元素如何等待。WITNESS的建模与仿真过程:(1)定义系统元素:可以通过在布置窗口中点鼠标右键,选定快捷菜单中的“define”菜单项,来定义模型基本元素的名称、类型、数量;(2)显示系统元