仿真与建模实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告
13工业工程2班李伟航 13工业工程2班
实验10
一、实验目的:
1.学习库存系统查库与订货处理的结构建模方法
2.学习用Equation模块、Equation(I)模块读写数据库的方法
3.学习用Equation模块、Equation(I)模块进行编程计算的方法
二、实验问题
1.打开上次实验你保存的文件(这个文件要保存好,下次实验还要使用),然后根据以上视频,进行操作实验。

2.简述用Equation模块计算订货量的程序逻辑。

3.简述用Equation(I)模块计算并累加总订货成本到数据库中的程序逻辑。

4.Equation模块与Equation(I)模块有何不同?
5.在本案例的假设前提下,在一笔订货的在途货物运输期间(即提前期期间),会不会再次发出订货指令?或者换句话说,每次查库时,会不会有已订但未到的货?为什么?
三.实验过程
1.生成查库员(查库信号)
用Create模块每天生成一个库存检查员实体(实际代表一个查库信号)Create 模块具体设置如下图:
2.判断是否需要订货
利用Select Item Out模块、Equation模块和Simulation Variable模块检查库存,并判断是否需要订货。

若需要,就将库存检查员实体发送到Select Item Out模块的上端口输出进行后续处理;若不需要订货,就将库存检查员实体发送到下端口输出,简单地离开系统。

其中,Equation模块的设置如下图。

3.无需订货的处理
由上一步Equation中设置可知,当s=1时,即无需订货的情况下,直接将库存检查员实体从Select Item Out模块下端口输出,通过Exit模块离开系统。

Select Item Out模块设置如下,当s=0时从上端口输出,否则从下端输出。

4.订货处理-建立模型
当s=0时,即需要订货的情况下,库存检查员实体有Select Item Out模块上端口输出,后续订货处理模型如下图:
5.计算订货量
用一个Equation模块获取数据库中的当前库存(kc)和最大库存(ds),计算订货量dh。

Equation模块设置如下:
6.设置订货量属性
将第5步Equation模块计算得到的订货量(dh)输出给Set模块,将订货量赋值给检查实体dh属性。

Set属性设置如下图。

7.用Equation(I)模块计算并累加总订货成本到数据库中
因此用Equation(I)模块获取数据库中固定费(gdf)和可变订货费(kbf),再根据订货量算出本次订货成本,把它累加到总订货费用(toc)并写入数据库中。

具体Equation(I)模块设置如下图。

8.设置提前期
从下订单到所订货物入库的这段时间为订货提前期,这里用Activity模块表示,设置该提前期服从0.5-1天的均匀分布。

订货提前期的设置如下。

9.到货后更新数据库中的库存数据
库存检查实体离开Activity,表示提前期结束,货物到达,到货后用Get模块获取订货量,用Write模块将订货量累加到数据库中的sc表的当前库存(kc)中,根据订货动态增加当前库存。

Write模块设置如下。

10.观察运行结果
运行模型,观察数据库sc表中的库存(kc)由变为13,累计订货费用达到了11125。

四.实验问题的分析解答
1.上述过程即为实验步骤。

本实验实验模型如下:
2. 答:用Equation模块计算订货量的程序逻辑:是当检测到库存小于订货点
xs时,用最大库存ds减去目前库存,即为订货量,即dh=ds-kc;过程如实验步骤5所示。

3. 答:用Equation(I)模块计算并累加总订货成本到数据库中的程序逻辑是:因为每订货一次的成本=固定费(gdf)+可变订货费(kbf)*订货量(dh),将每次的订货成本累加到总订货成本当中去,即toc=toc+gdf+kbf*dh,即更新了总订货成本。

具体步骤如步骤7所示。

4.答:Equation模块是由value库中添加的值模块,是用来读取传递系统产生的值(如产生的随机数)并进行相应的逻辑运算,而对于实体传来的属性则不可以读取;而相反的,Equation(I)模块是由Item库中添加的实物模块,用来读取和传递实体属性并进行相应的逻辑运算。

两者都可以读取数据可中的数据。

5.答:一笔订货的在途货物运输期间,不会再次发出订货指令。

因为在Create 模块中设置了检查实体到来的间隔为1天,而订货提前期服从0.5-1的均匀分布,所以不会出现每次查库有已订但未到的货的情况。

实验11
一、实验目的
1.通过实验理解各种库存性能指标的含义
2.学习用Read模块读取数据库数据的方法
3.学习用Max&Min模块、Mean模块、Equation模块以及各种计算模块计算和采集库存系统性能指标的方法
二.实验问题
1.打开上次实验你保存的文件(这个文件要保存好,下次实验还要使用),然后根据以上视频,进行操作实验。

2.本实验中,用read模块读数据库数据时,在其option页要做何设置?
3.用Mean Variance模块计算平均每天总成本的均值和置信区间时,模块对话框要做何设置?
4.利用本次实验建立的模型,实验比较以下各组(s,S)下的平均每天总成本:(20, 40) (20, 60) (20, 80) (20, 100)
(40, 60) (40, 80) (40, 100)
(60,80) (60,100)
(80,100)
对每种情况重复运行20次,写出各项配置下的平均每天总成本的均值和置信区间。

并写出以上最优的(使得平均每天总成本最低)的(s,S)。

5.添加必要的模块,分别计算平均每天缺货成本、平均每天储存成本、平均每天订货成本的均值和置信区间。

6.用Plotter,Discrete Event模块绘制当前库存水平的波动曲线,并同时绘制一条高度为20(即订购点)的水平直线,和一条高度为0的水平直线(连接constant模块到plotter DE模块),观察并库存曲线的波动情况以及和两条直
线的关系,根据你的观察,缺货情况经常发生吗?
三.实验过程
1.在库存发生变化时读取数据库中当前库存水平
每当库存数据发生变化时,用Read模块读取库存(kc)的值,Read设置如下:
2.计算平均每天储存成本
当库存大于0时,通过max模块与0比较得到当前库存值,并通过Mean&Varience 模块(运行10次)计算平均每天的库存,再用Equation模块计算平均每天储存成本。

计算平均每天储存成本的模型与设置如下所示:
3.计算平均每天缺货成本
当库存小于0时,通过max模块与0比较得到当前缺货数,并通过Mean&Varience 模块(运行10次)计算平均每天的缺货数,用Equation模块(缺货数取反)计算平均每天缺货成本。

计算平均每天缺货成本的模型与设置如下所示:
4.计算平均每天订货成本
利用Read模块读取运行完后数据库中的总订货成本,再用Math模块除以系统运行当前时间,得到平均每天订货成本。

平均每天订货成本模型和设置如下:
5.计算平均每天总成本
利用Math模块将第2、3、4步所计算出的平均每天储存成本,平均每天缺货成本和平均每天订货成本相加即得到平均每天总成本。

6.计算平均每天总成本的均值和置信区间
在Math模块后用Mean&Varience模块计算运行10次之后的平均每天总成本的均值和置信区间。

四.实验问题的分析解答
1. 上述过程即为实验步骤。

本实验实验模型如下:
2.答:由于本实验要求在库存发生变化时读取数据库的库存水平,因此在Read 模块中的Option选项中,选择Discrete event-read data during when 以及勾中data sources change,意思即为数据发生变化时读取数据库。

设置如下:
3.答:用Mean&Varience模块计算平均每天总成本的均值和置信区间时,要勾中Calculate for multiplte simulations,意思是计算出运行多次情况(这里为10)次时平均每天总成本的均值和置信区间。

4.答: 10种情况的运行结果如下,其中最优的(s,S)为(20,60)。

(20,40)(20,60)(20,80)
均值:125.8870元均值:120.3812元均值:121.4371元
置信区间(125.8870±2.2602)置信区间(120.3812±1.8750)置信区间(121.4371±1.0904)
(20,100)(40,60)(40,80)
均值:128.1696元均值:127.3233元均值:127.5943元
置信区间(128.1696±1.1935)置信区间(127.3233±1.2890)置信区间(127.5943±0.8358)
(40,100)(60,80)(60,100)
均值:134.0826元均值:146.2447元均值:147.6999元
置信区间(134.0826±1.2611)置信区间(146.2447±1.3544)置信区间(147.6999±1.1276)
(80,100)
均值:167.5711元
置信区间(167.5711±1.2291)
5.答:用3个Mean&Varience模块计算平均每天存储成本、缺货成本和订货成本的均值和置信区间,Mean&Varience模块勾中Calculate for multiplte simulations。

添加模块后的模型以及运行结果如下:
平均每天存储成本:平均每天缺货成本
均值约为9.5140元均值约为16.2608元
置信区间为(9.5140±0.2234)置信区间为(16.2608±0.9608)
平均每天订货成本:
均值约为98.7903元
置信区间为(98.7903±1.3140)
6.答: Plotter Discrete Event模块设置和运行后的库存水平波动曲线如下图所示,由曲线图可以看出库存水平在0和20之间以及上下变动。

由图可以看出,位于0以下的曲线分布比较多,这意味着缺货的情况发生的比较频繁;曲线在0和20之间的分布也较多,这意味着需要订货的情况也发生的比较多。

实验12
一.实验目的:
1.学习库存仿真优化方法
2.学习如何设置模块表格的内容为决策变量
二.实验问题
1.打开上次实验你保存的文件,然后根据以上视频,建立优化模型。

2.在优化模块(Optimizer)中,整数型决策变量和连续型(实数型)的输入方法有何不同?
3.请在你的模型上,使用Extendsim软件提供的优化器来寻找(s,S)的最佳设置(总成本最小)。

令s在1和99之间取值(步长为1,即为整数),S在2和100之间取值(步长为1,即为整数)。

要注意s和S必须是整数而且满足s < S。

a.优化器参数由先选择Quicker Defaults,写出优化结果(s,S)和平均每天总成本。

b.再将优化器参数由选择Better Defaults,写出优化结果(s,S)和平均每天总成本。

4.在上题(第2题)的基础上,通过将库存检查间隔(Evaluation Interval,目前为1天)作为变量加入到优化变量集中,来研究在每天开始工作时查看并补充(当需要时)库存是否是最佳方案,让该值在半天到5天之间连续取值, s 和S的取值情况与上题相同。

应用优化器求取最优设置。

a.先优化器参数选择Quicker Defaults,写出优化结果(s,S)、Evaluation Interval和平均每天总成本。

b.再将优化器参数选择Better Defaults,写出优化结果(s,S)、和平均每天总成本。

三.实验过程
1.用Data Init模块初始化最小最大库存(s,S)
2.设置Optimizer模块目标函数和决策变量
从value库中将Optimizer模块放进模型中,在查库与订货处理模型中将决策变量订货点(xs,1~99)和最大库存(ds,2~100)和输出变量平均每天总成本(toc)克隆拖放到Optimizer模块上,然后建立目标函数方程和约束条件。

Optimizer 模块设置如下:
3.设置Optimizer模块约束方程
在Optimizer模块中的Constraints中添加约束方程,约束条件为s和S必须是整数而且满足s < S,约束条件的代码设置如下:
4.设置Optimizer模块运行参数
在Optimizer模块下的Run Parameters中,由于模型为随机模型,所以单机Random mode下的Quicker Defaults按钮快速设置所有优化参数(速度快精度低),然后点击New Run。

运行结束后选择Better Default按钮设置规模更大的优化参数(耗时长精度高),并比较两次的结果。

5.运行优化,查看结果
通过Optimizer模块下的Results可以看MinCost数值的变化,运行结束时最顶行会给出最优解。

分别用Quicker Defaults参数和Better Defaults参数运行两次比较结果。

结果见实验结论3。

四.实验问题的分析解答
1.实验过程如上述实验步骤所示。

2.答:整数型决策变量的输入方法为输入范围的时候不要输入小数点,如1;而实数型的输入方法为输入范围时输入带有小数点的数字,如1.0。

3. 答:选择Quicker Defaults参数,(s,S)优化结果为(27,43),平均每天总成本约为122.37627元。

Quicker Defaults
选择Better Defaults参数,(s,S)优化结果为(20,58),平均每天总成本约为130.8615元。

Better Defaults
4.答:将库存检查间隔ei克隆拖入Optimizer模块上,在订货模型create模块后加队列防止其堵塞,ei的范围设置如下。

分别运行Quicker Defaults参数Better Defaults进行优化。

Quicker Defaults做法
第一步:选择Quicker Defaults参数,并开始运行
第二步:分析结果。

(s,S)优化结果为(9,74),Evaluation Interval(ei)为1.0186,平均每天总成本约为123.0515元。

Quicker Defaults
Better Defaults做法
第一步:选择Better Defaults参数
第二步:分析结果。

(s,S)优化结果为(38,54),Evaluation Interval(ei)为1.0714,平均每天总成本约为,120.19126元。

Better Defaults。

相关文档
最新文档