当前位置: 主页 > 科教商情 > 论文精选 >

系统建模与仿真教学实践探究

2018-07-12 | 编辑:中机教育网 | 来源:机械创新与产教融合新思 | 浏览量:

系统建模与仿真教学实践探究

朱传军  曹静
(湖北工业大学 机械工程学院,湖北 武汉 430068)
 
摘  要:为了满足工业工程专业教育中系统建模与仿真方面课程中仿真内容的教学,探讨了工业工程中常用的建模方法以及常见的各种仿真软件。在此基础上,研究了本专业目前已有仿真软件基础上的相应的建模方法及其仿真分析方法,提出了以仿真分析来提高学生的建模兴趣。
关键词:系统建模;仿真教学方法;解析模型[1]

1  建模与仿真方法概述

建模是解决现实世界中各类问题的一种手段。在很多情况下,如果通过实物实验找到正确的解决方案,其开销往往过于巨大:不论是构造实验、销毁实验还是在实验中进行任何的调整或改变都可能太过昂贵、危险或不切实际。因此,选择离开现实世界而进入模型世界,用建模的语言来构造现实世界中的模型。这个过程采用了抽象的方法,忽视那些看起来不相关的细节,并保留重要的部分,从而使模型远比现实世界的系统更为简单。整个建模过程的本质,就是在一个零风险的,允许犯错、撤销、返回和重复的模型世界中,找到针对特定问题的解决方案。
常用的模型包括解析模型和仿真模型。解析模型(analytical model)是指模型中的模型参数、初始条件和其他输入信息以及模拟时间和结果之间的一切关系均以公式、方程式和不等式来表示。基于公式的解析模型存在着局限性,即有很大一类问题的解并不存在或极难求解。因此,现实世界需要另一种建模技术,即仿真建模来分析动态系统。目前为止,仿真建模方法主要包括以下三种:离散事件建模、基于智能体建模和系统动力学建模。每一种建模方法都适用于特定的抽象层级范围。系统动力学建模适合较高的抽象层级,其在决策建模中已经得到了典型应用;离散事件建模支持中层和偏下层的抽象级;基于智能体建模中抽象层级的模型,既可以实现较低抽象层级的物理对象细节建模,也可以实现公司和政府等较高抽象层级的建模。在实际教学中,学生对解析模型中的数学公式很难有兴趣,但对仿真模型尤其是仿真软件更容易感兴趣。

2  常用系统仿真软件

目前市场上的仿真软件一般具有可视化功能,可以利用形象的图标模块以搭积木方式建立仿真模型,支持2D和3D动画。另外,还提供输入数据分布拟合工具、输出数据分析等模块,这些功能支持大大简化了建模过程。商品化的可视化仿真软件主要面向制造系统、物流系统、服务系统等领域,成为研究企业系统、提升企业竞争力的有效工具。常用的仿真软件有以下几种:
1)Arena。Arena是美国Rockwell Automation公司的通用仿真软件产品,它提供可视化、交互式的集成仿真环境,可以与通用的编程语言(如Visual Basic、Fortran和C/C++等)编写的程序连接运行。Arena提供内嵌Visual Basic编程环境Visual Basic for Application(VBA),用户可以利用Visual Basic Editor编写VB代码,灵活定制各种复杂逻辑。
2)AutoMod。AutoMod是Brooks Automation公司(该公司现已被Applied Materials公司收购)的产品。AutoMod采用内置的模块技术,提供物流及制造系统中常见的建模元素,如运载工具(vehicle)、传送带(conveyor)、自动化存取系统(automated storage and retrieval system,AS/RS)、桥式起重机(bridge crane)、仓库(warehouse)、堆垛机(lift truck)、自动引导小车(automated guided vehicle,AGV)、货车(truck)、小汽车(car)等,AutoMod软件的主要应用对象是制造系统以及物料搬运系统。
3)ExtendSim。ExtendSim是美国Imagine That公司的产品,它采用C语言开发,可以对离散系统和连续系统进行仿真,且具有较高的灵活性和可扩展性。ExtendSim不仅能够对实体流动进行可视化建模,而且对数据流动和控制结构也可以可视化建模而无须编写程序。
4)FlexSim。FlexSim是美国FlexSim公司的产品,它采用C++语言开发,采用面向对象编程和OpenGL技术,提供三维图形化建模环境,可以直接建立三维仿真模型。它支持离散系统和连续流体系统建模。
FlexSim提供了众多的对象类型,如操作员、传送带、叉车、仓库、储罐、货架等,可以快速高效地构建制造、物料搬运、服务等系统模型。
5)ProModel。ProModel是由美国ProModel公司开发的系统仿真软件,用于生产、物流和服务系统建模。ProModel提供二维图形化建模及动态仿真环境,并可以转化为三维场景。
6)Witness。Witness是英国Lanner集团开发的通用仿真软件,支持离散系统和连续流体系统建模。Witness提供了丰富的模型单元,包括物理单元和逻辑单元。其中物理单元用于描述系统中的工具、设备等,逻辑单元用于表示系统中对的特征及逻辑关系等。
7)AnyLogic。AnyLogic是俄罗斯AnyLogic公司的开发的系统仿真软件,它是唯一一款完整支持多方法联合建模的仿真软件,AnyLogic既有强大的性能和完备的建模工具,又具有直观友好的图形界面和开放易用的编程方式,能够胜任绝大多数情况下的仿真工作。它支持3种仿真建模方法:系统动力学、离散事件和基于智能体建模,因此可以创造多方法的模型。
实际上,市场上的仿真软件非常多,如Vensim、Quest、Plant Simulation、Simul8等都是非常好的产品。

3  工业工程专业仿真课程的教学

鉴于目前仿真软件非常多,不同的仿真软件侧重不同。人们不可能熟悉教材和市场上所有仿真软件。同时,受学校现有教学条件限制,也不可能买很多仿真软件以供教学用。目前本学校购买了AnyLogic软件和Flexsim仿真软件。所以用AnyLogic仿真软件完成系统动力学仿真,用Flexsim软件完成离散事件动态系统的仿真。如果没有上机时间,就不可能在课堂上建立仿真模型,只能是建立好模型之后进行讲解,并演示运行过程和结果。
工业工程课程体系中两门课程中需要用到仿真教学:“系统工程”和“生产系统建模与仿真”。“系统工程”中主要讲述系统动力学仿真方法。系统动力学方法通过建立系统动力学结构模型、利用DYNAMO仿真语言在计算机上实现对真实系统的仿真实验,从而研究系统结构、功能和行为之间的动态关系。该方法不仅仅是一种系统仿真方法,其方法论充分体现了系统工程的本质特征。
由于学时的限制,在系统工程课程授课中,不可能有时间建立数学模型进行分析,只是建立了相应的数学模型后,采用了AnyLogic软件演示模型的运行过程,让学生对系统动力学建模有一个初步了解。下面的例子是笔者在上课时应用的例子,该例子显示了传染病在人群中传播的模型。
考虑一个人口为TotalPopulation=10000的模型。首先,仅有一个人被感染,而其他每个人都成为疑似染病者。
在感染阶段,每个人平均以接触率ContactRateInfectious=1.25与其他人发生接触。
如果感染者与其他疑似染病者接触,后者被感染的概率为Infectifity=0.6。
当一个人被感染后,会经过时长为AverageIncubationTime=10天的潜伏期。该阶段的人成为染病者。
潜伏期后的平均患病持续时间(感染状态的持续时间)为AverageIllness Duration=15天。
痊愈的患者会对该疾病免疫。
运行结果如图1所示。
图1  传染病在人群中传播的模型
而在生产系统建模与仿真课程中,主要模型是离散时间动态系统模型,因此采用Flexsim仿真软件进行相关教学。由于教学大纲安排了6学时的上机时间,可以先让学生练习一些小例子,以便培养学生对仿真软件的兴趣。最后做一个稍微大一点的习题。由于大多数学生都有计算机,这些可以布置后让学生回去做,有问题在集中上机时间进行讲解和解答。

图2  流程图
小的例子非常多,学生如果能够独立完成,就会对该软件感兴趣,这样就能练习更大的例子。最后完成下面的模型:有如下一个流水加工生产线,不考虑其流程间的工件运输,对其各道工序流程进行建模。该加工系统的流程与相关参数如下:
1)两种工件L_a、L_b,分别以正态分布(10,2)和均匀分布(20,10)min的时间间隔进入系统,首先进入队列Q_in;
2)由操作工人进行检验,每件检验用时2min。不合格的废弃,离开系统,合格的送往后续加工工序,合格率为95%;
3)L_a送往机器M1加工,如需等待,则在Q_m1队列中等待;L_b送往机器M2加工,如需等待,则在Q_m2队列中等待;
4)L_a在机器M1上加工时间为均匀分布(5,1)min,加工后的工件为L_a2;L_b在机器M2上的加工时间为正态分布(8,1)min,加工后的工件叫做L_b2;
5)一个L_a2和一个L_b2在机器Massm上装配成L_product,需时为正态分布(5,1)min,然后离开系统;
6)如装配机器忙则L_a2在队列Q_out1中等待;L_b2在队列Q_out2中等待。
建立上述流水作业线仿真模型,连续仿真一个月的系统运行情况。
建模图如3所示。

图3  流水作业线仿真模型

4  总结

学生对枯燥的数学公式和曲线很难感兴趣,但对仿真模型的兴趣会更大一些。仿真软件在一定程度上类似于游戏软件,通过仿真软件的使用,尤其是对仿真中的动画和系统运行中数字变动可以在一定程度上调动学生建模的兴趣。尽管系统动力学仿真是数字之间的运算,但是从仿真过程能看到数字的实时变动。对教材中讲述的蒙特卡洛仿真方法,除教材上给出的求圆周率的例子外,还可以给出求不规则形状面积的例子。当然,工程实际中有更多的例子是可以采用该仿真方法进行求解的。通过仿真软件的教学,让学生不拘泥于对数学公式的理解,更应该让学生将理论与生产实际结合起来,感受系统实际运行的过程,能够激发学生对系统建模学习的兴趣。

参考文献

[1]    韩鹏,韩英华,等译.Ilya Grigoryev.AnyLogic建模与仿真[M].北京:清华大学出版社,2014.
[2]    秦天保,周向阳.实用系统仿真建模与分析—使用Flexsim[M].第二版.2016.


基金项目:湖北工业大学教研项目:基于霍尔三维结构的工业工程复合型人才培养模式研究(校2016002)。

    上一篇 上一篇:挖掘隐藏道理,培养探究精神

    下一篇 下一篇:新工科的5W2H解析*

    X关闭
    X关闭