实验4生产库存系统仿真Word格式.docx
- 文档编号:21925437
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:12
- 大小:508.09KB
实验4生产库存系统仿真Word格式.docx
《实验4生产库存系统仿真Word格式.docx》由会员分享,可在线阅读,更多相关《实验4生产库存系统仿真Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
主要功能:
离散事件系统仿真
3.实验要求
1.实验前预习,阅读预习资料;
2.实验按照老师指导实验步骤进行;
3.提交实验报告。
4.实验内容
系统描述与系统参数
某企业要投产一条简单的加工线,如图4-1所示。
图4-1生产-库存系统平面布置示意图
该企业认为市场情况好,能制造出来就能卖出去,因此选择了传统的推动式面向库存的生产模式。
系统假设和系统生产、储存发货流程描述如下:
①保证原材料是充足的;
②原材料送至机器M1前,每耗时uniform(120,20)s加工出一件半成品;
一单位原材料能加工出10件半成品。
③然后依次送到其他各道工序加工:
到机器M2前加工,每件半成品加工时间为uniform(5,2)min;
到机器M3前加工,加工时间normal(300,30)s;
到机器M4前加工,加工时间为normal(6,1)min;
最后成为最终产品。
④每加工两个半成品之间需要uniform(60,10)s的调整时间。
⑤原材料经过四道工序加工成成品,入成品库存储;
假设仓库容量足够大。
⑥当机器M1加工完一个原材料时,立即从原材料库中提料,保持持续生产。
⑦当有订单或需求到达时,按照需求提货出库,订单到达时间间隔服从随机分布uniform(500,10)min;
每个订单的需求量为normal(80,5)个单位的产品。
实验要求:
对这样一个生产库存系统进行建模仿真,分别按1)连续一个月(每天按24h计算)运行和2)每次运行24小时重复30次仿真运行,连续监测库存信息,即库存量随时间的变化情况,并统计有无缺货发生,缺货率和缺货量为多少。
假设存在以下情况,试建模仿真分析。
①预测认为:
每次需求量接近normal(80,5)的随机分布,分析这个投产方案的规划是否合理?
生产中有没有瓶颈?
库存随时间的变化是怎样的?
②假设市场扩大需求增长,每次需求量增长为normal(90,5)的随机分布,仍然采用原来的配置方案,是否还能满足市场需求?
为了满足需求从而占领市场,从扩大生产能力的角度如何调整系统的资源配置?
5.实验步骤
(1)将实际问题抽象成两个子系统:
生产模块和库存控制模块。
(2)按要求编写生产系统的逻辑代码。
(3)编写库存控制系统的逻辑代码。
(4)调试模型。
(5)运行输出与结果分析。
(6)系统调整与分析。
6.具体仿真步骤
(1)构建模型布局
打开Flexism3.0,新建一个模型。
从对象库中拖放所需的对象到建模视图中,并根据实验内容的描述修改各实体的名字如图6-1。
图6-1模型布局
(2)定义工件流程
按住A键,同时用鼠标左键点击Source对象并且按住鼠标左键不放,然后拖动鼠标至M1对象。
此时会出现一条黄线连接Source和M1对象。
然后松开鼠标左键,黄线将变成一条黑线,表示Source对象和M1对象的端口已经连接上。
同理,将M1与Queue1相连,Queue1与M2,将M2与Queue2相连,Queue2与M3相连,M3与M4相连,M4与PartQueue相连,Sourceorder与Separatororder相连,Separatororder与BackOrderQueue相连。
连接后的模型如图6-2所示。
图6-2模型连接
(3)发生器参数设置
双击Source对象,打开其参数对话框,;
修改产品流出间隔时间,从“到达时间间隔”下拉框中选择“常值”并将参数修改为0,如图6-3所示。
图6-3原材料到达时间
如上所述在Sourceorder的“到达时间间隔”下拉框中选择使用均匀分布并将参数修改为最小值为600,最大值为30000,如图6-4所示。
图6-4订单发生器
(4)处理器及暂存区参数设置
双击M1对象,打开其参数对话框,修改处理时间,从“处理时间”下拉框中选择“均匀分布”;
修改选项的默认参数点击Template按钮修改其中的棕褐色的参数值,将最小值设为20,最大值设为120,如图6-4。
分解器界面中点击“一般分解”前得圆圈,选择“指定数量”,并将参数设置为“10”,如图6-5。
同理,将Separatororder的处理时间设置为返回一个为0的常值时间,将分解器的“指定数量”参数设置为normal(80,5)。
图6-4M1加工时间设置
图6-5分解数量设置
双击M2对象,打开其参数对话框,修改处理时间,从“处理时间”下拉框中选择“均匀分布”;
修改选项的默认参数点击Template按钮修改其中的棕褐色的参数值,将最小值设为120,最大值设为300,如图6-6。
同理,将M3的处理时间设置为(normal300,30)s,M4的处理时间设置为(normal360,60)s。
图6-6M2处理时间设置
(5)订单—库存设置
将PartQueue的容量设置为10000,在“暂存区触发器”界面中点击“收集结束触发”后的“AI”键弹出如图6-7的窗口。
图6-7收集结束触发代码窗口
在该代码窗口中输入以下代码:
fsnode*item=parnode
(1);
fsnode*current=ownerobject(c);
//PROSESTART
//库存代码设定
//PROSEEND
//PARAMSTART
//PARAMEND
//
for(intranknum=1;
ranknum<
=content(BackOrderQueue);
ranknum++)
{
fsnode*OtherItem=rank(BackOrderQueue,ranknum);
if(getitemtype(item)==getitemtype(OtherItem))
{
moveobject(item,ShippedParts,0);
moveobject(OtherItem,SatisfiedOrders,0);
return0;
}
}
同理打开BackOrderQueue的“收集结束触发”的代码窗口,并在窗口中输入如下代码:
//订单代码设置
=content(PartQueue);
fsnode*OtherItem=rank(PartQueue,ranknum);
moveobject(item,SatisfiedOrders,0);
moveobject(OtherItem,ShippedParts,0);
点击软件界面顶部的“工具”菜单栏,选择“工具栏”,弹出一个如图6-8的窗口;
点击全局指针弹出一个“全局实体指针列表”,将全局实体指针数设置为4,并分别在每一行输入PartQueue、ShippedParts、BackOrderQueue、SatisfiedOrders,设置后的“全局实体指针列表”如图6-9所示。
图6-8全局数据、事件、代码、标量窗口
图6-9全局实体指针设置
(4)编译运行仿真
先点击编译按钮,在点击运行按钮如图6-9
图6-9编译运行
(5)分析仿真结果
将需求量设置为服从normal(80,5)的随机分布的生产库存系统模型,按每月30天,每天24h连续连续运行后的统计表如表6-1所示。
表6-1生产库存运行统计报告
从上表的数据中我们可以看出BackOrderQueue(订单需求量)的input(需求)为14537,output(满足量)为7218,由此可见该生产系统并不能满足需求,其缺货量为7319,缺货率高达50.34%。
观察该系统的统计报告的contentavg列(平均容量)Queue1为9861,Queue2的值约为10,Queue3的值也约为10,不难发现该生产系统的最大的瓶颈发生在Queue1之后的处理器M2,由于Queue2,Queue的平均库存值也较大因此说明该M3与M4的处理环节也需要进行改进。
如果该系统不变扩大市场需求量为normal(90,5)的随机分布,那该系统市场满足率将更低,如统计报告表6-2所示。
表6-2市场需求增大后的系统统计报告
改进方法:
由于市场需求大于生产系统的生产能力,因此该系统需要从扩大生产力的角度出发解决问题。
发展生产力可以减少单位处理环节的时间,提高效率,根据本系统的实际情况,我们不难发现,要满足市场需求必须将处理器的处理时间进行大幅改变,设置为极小的时间值,这在实际生产环境中很难做到。
因此,在这里建议增加每个环节处理器的数量,同一个环节多个处理器并行运行,提升生产系统的生产能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 生产 库存 系统 仿真