我在Arena中创建了一个模拟模型,并要求我将其初始化偏差与其他模型进行比较 有人可以帮我从输出中检索这个参数吗? 或者至少指导我查看模拟图表,以便我能够自己决定图表中的初始化偏差值?
感谢。
答案 0 :(得分:3)
仿真模型的初始配置对其结果的影响是初始化偏差。理想情况下,结果中不应存在任何初始化偏差。
例如,假设您正在为制造洗衣机的工厂建模。当您的模拟开始时,最简单的初始状态是工厂没有正在进行的工作 - 也就是说,工厂的任何部分都没有洗衣机部件。在模拟运行时,您将介绍部件,这些部件将通过模拟进行,直到完成洗衣机的运输。
假设您计算模拟出货的洗衣机数量。然后,您可以估算每小时运送的洗衣机的平均数量,如下所示:
mean hourly throughput = (number of washing machines shipped) / (simulation time in hours)
但是,我们将看到初始化偏差,因为模拟完成第一台洗衣机需要时间;我们可能暂时不会运送任何洗衣机。
现在,让我们说平均而言,这家工厂平均每小时运送200台洗衣机(为简单起见,我们假设吞吐率没有变化),并且需要两个小时来制造一台完整的洗衣机。如果我们在每小时结束时测量平均每小时吞吐量,我们会看到如下内容:
Time Units Shipped Throughput
0 0 0.00
1 0 0.00
2 0 0.00
3 200 66.67
4 400 100.00
5 600 120.00
6 800 133.33
我们实际上从未实际看到每小时输出200台洗衣机,因为前两个小时我们没有发货,因此对于任何n> = 2的值,(n - 2) * 200 / n
总是小于200
然而,这种初始状态是不现实的,因为当工厂每天结束生产时,它将装有洗衣机部件。当它第二天启动时,它将立即开始生产洗衣机。如果我们开始模拟完全填充洗衣机部件(这不是简单的实现),那么我们会看到更像这样的东西:
Time Units Shipped Throughput
0 0 0.00
1 200 200.00
2 400 200.00
3 600 200.00
4 800 200.00
5 1000 200.00
6 1200 200.00
(同样,假设生产率没有变化)。
在第二种情况下,模拟初始化为与其稳态一致的状态,因此几乎没有初始化偏差。您可以通过比较两组输出来轻松计算此统计数据的偏差。
应该清楚的是,初始化偏差既是模拟的初始起始状态,也是收集统计数据的时间长度。
如果您的模拟模型是非终止,并且达到稳定状态,那么删除初始化偏差的最简单方法是重置所有一些预热期后的统计数据。 (在上面的例子中,2小时的预热就足够了,但更一般地说,一旦系统达到稳定状态就会这样。)我从未使用 Arena ,但是如果在热身期之后,它没有重置统计数据的机制,我会感到惊讶。
与尝试将模拟初始化为更接近其稳态操作的模拟相比,使用统计重置进行的预热更容易实现,也更可靠。
如何重置?在上面的例子中,运输的洗衣机数量应设置为0,平均吞吐量计算如下:
平均每小时吞吐量=(发运的洗衣机数量)/(自上次重置后的小时模拟时间)
现在,我们应该看到如下输出(在预热期间收集的统计数据被丢弃):
Time Units Shipped Throughput
3 200 200.00
4 400 200.00
5 600 200.00
6 800 200.00
在这种情况下,现在没有初始化偏差。