建模与仿真
实验设计(论文)报告
课题名称:单一生产线建模与仿真
学校:
系别:
班级:
姓名:
学号:
日期: 2011年 4 月 16 日
摘要:针对传统数值方法难以求解复杂排队系统模型的问题,采用新一代面向对象的Simio仿真软件进行建模和仿真分析。采用Simio 软件构建序列表和运输器的仿真模型,认识关于SOURCE,SERVER,SINK 等对象的更多建模知识,对基于部件类型的处理时间及单个发生器和多种处理类型进行设定,然后对模型进行统计分析,并对系统的方案进行思考和改进。分析结果表明,利用Simio软件可方便地对各领域的模型及其相关问题进行建模仿真,具有较大的应用潜力。
关键词:实体序列表;运输器;处理时间;发生器
目录
一.序言
1.1 Simio系统仿真背景
1.2 系统建模与仿真现状分析
1.3 本课题的研究意义
二.Simio系统仿真的模型
2.1 模型的选择
2.2 建立模型
2.2.1系统模型
2.2.2建立模型的步骤
三.仿真的运行与调整
3.1 仿真的运行
3.2 仿真的调整
3.2.1 能力选择调整
3.2.2 参数选择的调整
四.结论分析
五.建议
一、序言
1.1背景
Simio是由一个极富行业经验的团队所创造的。本软件的缔造者C. Dennis Pegden博士拥有30年以上的仿真经验,是公认的行业领军人物。当前在仿真软件市场份额上领先的SLAM和Arena就是在他的领导下研发的。团队的其他成员的背后同样也闪耀着一连串仿真行业突破性进展的光芒。正是这样一个团队,现在聚集到一起,集中他们的全部智慧以及总计超过100年的仿真经验为你创造出了下一代的仿真工具,也许是最好的仿真工具Simio。
作为仿真工具的革命性进展,Simio完全是从零开始开发的。它采用了继“面向事件”和“面向过程”之后的“面向对象”的建模方法,并支持这三种建模方法的无缝衔接。Simio还同时支持离散和连续系统建模,以及基于“智能主体”(Agent-Based)的大规模应用。这些不同的建模范式可以在同一个模型中自由地揉合。
1.2 Simio系统建模与仿真现状分析
当前,仿真技术已经成为分析、研究各种复杂系统的重要工具,它广泛应用于工程领域和非工程领域。仿真可定义为:在全部时间内,通过对系统的动态模型性能的观测来求解问题的技术。对复杂物流系统进行仿真,起目的是通过仿真了解物料运输、存储动态过程的各种统计、动态性能。但由于现代生产物流系统具有突出的离散性、随机性的特点,因此人们希望通过对生产物流系统的计算机辅助设计及仿真
的研究,将凭经验的猜测从屋里系统设计中去除,能使物流合理化从而提高企业生产率。计算机的辅助仿真时在系统结构得到足够的定义,并存在描述系统预期表现的计算方法的情况下,由计算机推演的分析过程。但传统的计算机仿真技术存在许多不尽人意之处,一是复杂系统的数学模型往往涉及许多领域的专门知识,难以建立;二是对系统各种特性的统计数据,难以理解。人类对基于图像、声音等感官信息的理解能力远远大于对数据和文字等抽象信息的理解能力。于是随着计算机硬件技术的发展,人们希望并可以借助二维和三维虚拟仿真软件建立物流系统的系统仿真模型。下图是Simio主要应用领域
生产制造和装配布局规
划
卫生医疗
机场军事补给商业流程
战略/策略分析市场动力
学
呼叫中心
经济资产和组合优化运输
社会系统分
析
复杂供应链人口动力学
电力系
统
计算机和电信网络物流系统设计
人群和车辆移动应急和疏散规
复杂自适应系统
划
生物和生态现象分析仓储系
分拨中心
统
快速消费品服务系统国防
农业系统灾害管理精益、6西格玛
1.3本课题的研究意义
将一个小型制造单元,有3个工作站构成,4个部件被加工,工作站的布局是单向环形的,用Simio创建系统模型并进行仿真,通过对参数的设定,观察部件不同工作站在什么产量、加工时间、部件类型和人员数量下达到最优。
二、Simio系统仿真的模型
2.1模型的选择
一个制造单元对不同部件的加工的模型。
2.2 建立模型
2.2.1系统模型
一个小型的制造单元,由3个工作站组成,有4种部件被加工。工作站A,B,C的布局是单向环形的,部件的加工按照这种布局流动。如下图所示:
布局:
所有的部件从“Parts Arrive ”这个SOURCE 到达,在”Parts Leave ”这个SINK 处离开。工作站之间的移动速度是每小时2英里的常数。注意SIMIO 中实体默认速度是英里/秒。 每个工作站之间的距离(码)如下表所示:
工作站路径
距离(码) Parts Arrive
工作站A
25 工作站A 工作站B 35 工作B Parts Leave 20 Parts Leave
工作站C
30 工作站C Part Arrive
40
部件:
每种部件到达如下:
·部件1随即到达,时间间隔平均15分钟。
Station A Station B
Parts Leave
Station C
Parts Arrive
移动方向
·部件2到达间隔平均为17分钟,标准差为3分钟。
·部件3到达时间间隔是14-18分钟的任意值。
·每1小时10分钟到达,每次到达批量为5个。
每种部件(实体)类型在工作站时间的序列(路线)是不同的,实际上,并不是每个部件都经过所有的设备。见下表给定的顺序:
服务器的属性:
·工作站A有一台设备,加工时间为2-8分钟,最可能时间是5分钟。
·工作站B有二台设备,每台加工时间5-11分钟,最可能时间9分钟。
·工作站C有二台设备,在每天的前4小时内运行,1台设备在每天的最后4小时运行,每个设备的加工时间2-11分钟,可能值是6分钟。
2.2.2 系统模型建立的步骤
一、建立模型
步骤1:首先用3个SOURCE和4个实体建立这个SIMIO模型(拖动4个MODELENTITIES到建设区),因为每个产品的到达过程都不同,必须用4个SOURCE,我们还需要三个服务器(代表每一个工作站)和1个SINK,并给每个对象取名,包括实体,以方便后面识别。
步骤2:也许模拟环状路线的最佳方法是在每个站点的入口和出口处,使用BASICNODE。这使实体能够按照序列移动而不用进入不必要的工序。
步骤3:用连线(CONNECTORS)和路径(PATHS)把所有的对象连起来,在环形的行路和服务器对象之间是0距离的,我们用连线。工作站之间的距离将使用5条PATH来计算,它们连接每个入口和出口节点。如图2.1
图2.1
步骤4:修改每个实体的属性,现在它们以每小时2英里的理想速度(Desired Speed)移动。
步骤5:修改每个SOURCE对象的属性,使它们对应正确的部件,使它们对应正确的部件,具有期望到达间隔和到达批量。对于部件1.2.3,我们分别选择了指数分布,正态分布,和均匀分布作为到达间隔的分布函数。开始了相应的参数。对于部件4,我们选择了到达时间间隔为常数70分钟,Entities Pert Arrival属性为5.(以部件2为例,如图2.2)
步骤6:给5条路径设定距离,使它们对应于工作站之间的距离。你
必须把Drawn To Scale属性改成“False”并定义路径的逻辑长度。
(图2.2)(图2.3)
步骤7:使用Pert分布设定每台设备加工时间,通常我们更喜欢用Pert分布代替三教分布。Pert分布和三角分布类似(最小值,最可能值,最大值),但是它的尾巴更“窄“。
二.设定能力
步骤1:设定工作站A和B的能力分别为1和2,。对于工作站C,我们需要增加计划表体现能力方面的变化。:
步骤2:在“Data”标签页左手的面板上选择“Scheduals”,选择”Add Schedual”,修改工作计划表的名称为SchedualForC,Starting Date属性默认值,和仿真运行设置保持一致,我们需要把Days in Work Pattern属性为1,并在高亮选中“Work Cycle”中从12am开始的前4个小时,右键单击添加一个周期项目(Cycle Item).对话框中设定项目为“On Shift”,值为2,并点击OK,现在选中后面4个小时,添加周期项目,修改项目设为“On Shift”,值为1.(如图2.4所示)
图 2.4
步骤3:回到“Facility”视图,设置工作站C的Capacity Type属性为“WorkSchedual”,添加你的工作计划SchedualForC. (如图
2.5)
图 2.5
三.增加序列
步骤1:点击“Add Sequence Table”按钮,重命名为SequencePart1,代表部件1的序列。采用同样的方法,增加其余3种实体的序列表。如图2.6
步骤2:下面增加部件1要访问的节点序列。只需要添加部件1访问的工作节点以及最终的出口。当实体序列设定好以后,实体永远会按照最短路径到达列表中的第一个节点。部件1的正确序列如图2.7
图2.6 图2.7
步骤3:同样为另外3个实体设定序列表。如果你的工作站采用不同的命名方式,那么序列表中显示的名字也会不同。
步骤4:回到“Facility”视图,选中Part1实体,设定Intial
Sequence属性为“SequencePart1”.同样,为其他实体选择相应的序列表。
步骤5:模型中7个TRANSFERNODE(SOURCE和SERVER的输出节点),将它们的Entity Destination Type属性改成“By Sequence”。如图2.8下所示
图2.8
四.修饰:推车运输
步骤1:删除Sink对象和前面BASICNODE之间连线,接着,在两者之间插入一个TransferNode,命名为TransferCart。用Path连接BASICNODE和这个转移节点,将它的长度设成10码。用Path连接TRANSFERNODE和Sink(确保路径是双向的,小车能来回移动),路径长度设为300码。
步骤2:在Facility视图中,从标准库中拖1个Vechile对象到工作区,
步骤3:将转移节点的Ride On Transporter属性改成“True”,选择“True”,选择“Cart”作为运输器的名字。如图2.9所示
图2.9
步骤4:设定Cart的Intial Desired Speed属性为每秒4英尺,搭载能力(Ride Capacity)设定为3,并保证Intial Node(Home)为新增加的TransferCart节点,该节点是小车的初始节点。现在把Cart的Idle Action属性设为“Park At Home”。如图2.10所示
图2.10
步骤5:点击TransferCart节点,从”Appearance”菜单下选择“Draw Quene”.选中ParkingStation.Contents,在Facility视图出现一个十字光标,在画布上从左至右画一条队列线,结束时点击鼠标。
步骤6:运行模型,查看小车的动画效果。
步骤7:在菜单条上选“Animation”,点击“Deteched Queue”.在Facility视图出现光标点,在画布上从左至右画一个队列线,点击右键结束绘画。
步骤8:运行仿真查看分离队列的状况。如下图2.11
图 2.11
模型仿真运行结果
建模与仿真
第1章建模与仿真的基本概念 参照P8例子,列举一个你相对熟悉的简单实际系统为例,采用非形式描述出来。 第2章建模方法论 1、什么是数学建模形式化的表示?试列举一例说明形式化表示与非形式化表示的区别。 模型的非形式描述是说明实际系统的本质,但不是详尽描述。是对模型进行深入研究的基础。主要由模型的实体、包括参变量的描述变量、实体间的相互关系及有必要阐述的假设组成。模型的非形式描述主要说明实体、描述变量、实体间的相互关系及假设等。 例子:环形罗宾服务模型的非形式描述: 实体 CPU,USR1,…,USR5 描述变量 CPU:Who,Now(现在是谁)----范围{1,2,…,5}; Who.Now=i表示USRi由CPU服务。 USR:Completion.State(完成情况)----范围[0,1];它表示USR完成整个程序任务的比例。参变量 X-----范围[0,1];它表示USRi每次完成程序的比率。 i 实体相互关系 (1)CPU 以固定速度依次为用户服务,即Who.Now为1,2,3,4,5,1,2…..循环运行。 X工作。假设:CPU对USR的服务时间固定,不(2)当Who.Now=I,CPU完成USRi余下的 i X决定。 依赖于USR的程序;USRi的进程是由各自的参变量 i 2、何谓“黑盒”“白盒”“灰盒”系统? “黑盒”系统是指系统内部结构和特性不清楚的系统。对于“黑盒”系统,如果允许直接进行实验测量并通过实验对假设模型加以验证和修正。对属于黑盒但又不允许直接实验观测的系统,则采用数据收集和统计归纳的方法来假设模型。 对于内部结构和特性清楚的系统,即白盒系统,可以利用已知的一些基本定律,经过分析和演绎导出系统模型。 3、模型有效性和模型可信性相同吗?有何不同? 模型的有效性可用实际系统数据和模型产生的数据之间的符合程度来度量。它分三个不同级别的模型有效:复制有效、预测有效和结构有效。不同级别的模型有效,存在不同的行为水平、状态结构水平和分解结构水平的系统描述。 模型的可信度指模型的真实程度。一个模型的可信度可分为: 在行为水平上的可信性,即模型是否重现真实系统的行为。 在状态结构水平上可信性,即模型能否与真实系统在状态上互相对应,通过这样的模型可以对未来的行为进行唯一的预测。 在分解结构水平上的可信性,即模型能否表示出真实系统内部的工作情况,而且是惟一表示出来。 不论对于哪一个可信性水平,可信性的考虑贯穿在整个建模阶段及以后各阶段,必须考虑以下几个方面: 1在演绎中的可信性。2在归纳中的可信性。3在目的方面的可信性。 4、基于计算机建模方法论与一般建模方法论有何不同?(P32) 经典的建模与仿真的主要研究思路,首先界定研究对象-实际系统的边界和建模目标,利用已有的数学建模工具和成果,建立相应的数学模型,并用计算装置进行仿真。这种经典的建
计算机建模与仿真--大作业
课程作业报告 课程名称 MATLAB计算及仿真院部名称机电工程 专业电气工程及其自动化班级) 学生姓名 学号 指导教师应明峰 金陵科技学院教务处制
第2章MATLAB概论 1、与其他计算机语言相比较,MA TLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 2、MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 3、安装MA TLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 5、如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 6、存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录
541032动画建模与仿真技术
动画建模与仿真技术(541032)教学大纲 01.教学单位:软件学院 02.课程编号:541032 03.课程名称:动画建模与仿真技术 04.课程英文名称:Technology of animation modeling and simulation 05.课程学时: 32学时,其中含实验0学时 06.课程学分: 2学分 07.课程类别:专业教育课 08.课程性质:选修 09.开课学期:第6学期 10.面向专业:软件工程 11.选用教材 1、侯鹏志等,《3ds Max 2010中文版从入门到精通》,电子工业出版社,2010年 2、杨丽等,《城市仿真建模工具:Creator软件教程》,同济大学出版社,2007年 3、王孝平等,《Vega Prime实时三维虚拟现实开发技术》,西南交通大学出版社,2012年 12.主要参考书 1、鲍虎军等,《计算机动画的算法基础》,浙江大学出版社,2000年。 2、Robert Bridson,《Fluid Simulation for Computer Graphics》,A K Peters,2007. 13.课程教学目的与任务 课程目的:主要讲授利用三维建模软件3ds Max 2010和Multigen Creator 3.0进行三维物体和场景建模的基本方法,利用实时视景仿真软件Multigen Vega Prime提供的Lynx Prime软件和Vega API进行视景仿真的基本方法。 课程任务:一、掌握利用3ds Max创建三维模型的方法 二、掌握利用Multigen Creator 创建三维模型及生成地形的方法 三、掌握利用Multigen Vega Prime进行实时视景仿真的方法。
利用Matlab实现Romberg数值积分算法----系统建模与仿真结课作业
利用Matlab 实现Romberg 数值积分算法 一、内容摘要 针对于某些多项式积分,利用Newton —Leibniz 积分公式求解时有困难,可以采用数值积分的方法,求解指定精度的近似解,本文利用Matlab 中的.m 文件编写了复化梯形公式与Romberg 的数值积分算法的程序,求解多项式的数值积分,比较两者的收敛速度。 二、数值积分公式 1.复化梯形公式求解数值积分的基础是将区间一等分时的Newton —Cotes 求积公式: I =(x)[f(a)f(b)]2 b a b a f dx -≈ +? 其几何意义是,利用区间端点的函数值、与端点构成的梯形面积来近似(x)f 在区间[a,b]上的积分值,截断误差为: 3" (b a)()12 f η-- (a,b)η∈ 具有一次的代数精度,很明显,这样的近似求解精度很难满足计算的要求,因而,可以采用将积分区间不停地对分,当区间足够小的时候,利用梯形公式求解每一个小区间的积分近似值,然后将所有的区间加起来,作为被求函数的积分,可以根据计算精度的要求,划分对分的区间个数,得到复化梯形公式: I =1 1 (b a)(b a) (x)dx [f(a)f(b)2(a )]2n b a k k f f n n -=--≈+++∑? 其截断误差为:
2" (b a)h ()12 R f η--= (a,b)η∈ 2.Romberg 数值积分算法 使用复化的梯形公式计算的数值积分,其收敛速度比减慢,为此,采用Romberg 数值积分。其思想主要是,根据I 的近似值2n T 加上I 与2n T 的近似误差,作为新的I 的近视,反复迭代,求出满足计算精度的近似解。 用2n T 近似I 所产生的误差可用下式进行估算: 12221 ()3 n n n I T T T -?=-=- 新的I 的近似值: 122 n n j T T -=?+ j =(0 1 2 ….) Romberg 数值积分算法计算顺序 i=0 (1) 002T i=1 (2) 102T (3) 012T i=2 (4) 202T (5) 112T (6) 022T i=3 (7) 302T (8) 212T (9) 122T (10) 032T i=4 (11) 402T (12) 312T (13) 222T (14) 132T … … … … 其中,第一列是二阶收敛的,第二列是四阶收敛的,第三列是六阶收敛的,第四列是八阶收敛的,即Romberg 序列。
三维建模及运动仿真
三维建模及运动仿真 Pro/Engineer 软件集产品的三维造型设计、加工、分析、仿真及绘图等功能于一体,是一套使用方便、参数化造型精确的软件,其强大的造型功能及仿真分析功能受到众多工程人员的青睐。本节将采用Pro/E 软件,完成少齿数齿轮传动机构中所有零件的参数化建模,并对少齿数齿轮减速器进行虚拟装配,在此基础上,对传动机构进行运动仿真。 3.1 齿轮的参数化建模 3.1.1 零件分析 齿轮建模的操作步骤如下: (1)添加齿轮设计参数 (2)添加齿轮关系式 (3)创建齿轮的齿廓曲线 (4)创建螺旋线方程 (5)实体生成: 1)创建螺旋线线方程 2))拉伸 3))阵列 3.1.2 绘制齿轮 (1)新建文件: 启动PROE Wildfire4.0,单击工具栏新建工具,或单击菜单“文件/新建”。出现如图3.1所示对话框。选择系统默认“零件”,子类型“实体”方式,“名称”栏中输入“canshuhuachilun ”,同时注意关闭“使用缺省模板”。选择公制模板mmns-part-solid ,如图3.2所示,然后单击“确定”。 (2)创建齿轮程序。 选择菜单栏“工具/程序”命令,出现如图3.3所示对话框。单击“编辑设计”, 依次添加齿轮设计参数及初始值,添加完毕单击“确定”。选择工具菜单“工具/程序”命令,出现如图3.4信息窗口,在其中输入程序如下: Y0=(1/4)*PI*MT+XT*MT*TAN(α t) Xc=(HANX+CNX-XN)*MN-ρ
Yc=(1/4)*PI*MT+HANX*MN*TAN(αt)+ρ*COS(αt) (3)添加齿轮四个圆的关系式。 1)选择“插入/模型基准/ 草绘”特征工具,或单击工具栏 草绘命令,出现如图3.5所示对话框。单击“草绘”确认,进入二维草绘模式如图3.6所示。