Library / 知识库

建模、统计与实验的
共识语言

一份持续维护的系统仿真术语表。每条解释都尽量回答三件事:它是什么、它在工程里解决什么问题、它最容易被怎样误用。

14 个核心条目3 个主题分组与课程内容对应

仿真领域的很多争论,其实不是方法之争,而是词义之争。有人说「事件」,指的是状态变化;有人说的是「活动」;有人把「验证」和「确认」混在一起。术语表的目的不是背定义,而是让建模讨论有一个共同的坐标系。

阅读顺序建议:先看建模要素,再看统计,最后看实验与决策。每一组都对应课程体系中的一层。

01 · 建模要素

Modeling Primitives

系统仿真

System Simulation

用一个抽象模型在计算机中重现系统随时间的行为,以便在低成本、低风险的前提下比较方案、理解机制、暴露风险。它不是「预测未来」的水晶球,而是对若干候选方案做相对比较的实验工具。

按时间处理方式,常见三类:离散事件仿真(DES)只在事件发生时更新状态;连续仿真用微分方程描述连续变化;系统动力学关注反馈与累积。离散事件仿真适合流程、排队、资源与物流系统,也是 Simusce 课程的主线。

最常见的误用,是在问题本身并不需要仿真时强行建模:如果可以用简单公式回答,或者根本没有可比较的方案,仿真只会增加成本与不确定性。

实体

Entity

在系统中被处理、移动、排队或占用资源的对象。在离散事件仿真里,实体是状态变化的载体:它进入系统、被加工、等待、被分流,最后离开。实体通常带有属性,例如订单号、优先级、产品类型、到达时间。

可区分临时实体与永久实体:临时实体流经系统(工件、患者、订单、托盘),永久实体长期存在(设备、工位、仓库区域)。很多建模错误来自把「永久资源」当成「临时实体」,或反之,导致容量与占用关系失真。

建模前先确定:实体代表什么粒度?一个托盘还是一个零件?粒度选择直接影响模型规模与结论的解释力。

事件

Event

使系统状态发生瞬时变化的时点。例如「工件到达」「加工完成」「设备故障」「班次结束」。事件没有持续时间;发生的那一刻,状态从一个值跳到另一个值。

离散事件仿真通常采用事件调度机制:维护一个按时间排序的事件表,反复取出最早事件执行并推进仿真钟。同一时刻可能有多个事件,处理顺序会影响结果,因此需要明确的优先级规则。

事件与活动容易混淆:事件是「点」,活动是「段」。把「加工 8 分钟」称为事件,会让时间推进逻辑变得含混。

活动

Activity

两个事件之间持续一段时间的处理过程。例如加工、运输、清洗、检验。活动通常消耗资源,并在结束时安排一个完成事件。活动开始与结束都是事件,活动本身占据时间。

在 Arena 等工具里,活动常与「延迟」区分:延迟不占用资源,只是让实体等待一段确定或随机的时间;活动则需要资源容量。这个区别直接影响队列与利用率。

建模时不要把所有等待都写成活动。等待资源应进入队列,等待外部条件应写成约束或状态,否则资源统计会失真。

队列

Queue

等待某个资源或条件的实体集合。队列不只是「排队的人」,还包括等待设备、等待批次、等待搬运工具的实体。队列规则决定谁先被服务:先进先出、后进先出、优先级、最短加工时间优先等。

队列容量可以是有限的,也可以是无限的。有限容量会导致阻塞:当队列满时,上游不能继续释放实体,拥堵会向上游传播。很多产线问题不是设备慢,而是阻塞与排队规则把产能吃掉了。

排队系统里常用 Little 定律连接平均队长、到达率与平均停留时间:

L = λ · WL 是平均在系统内的实体数,λ 是平均到达率,W 是平均停留时间。它是稳态关系,不能直接套在瞬态或非平稳场景。

资源

Resource

容量有限、可被实体占用的服务单元。资源可以是人员、设备、工位、车辆、托盘位。关键属性包括容量、可用时间、故障与维修、班次与切换规则。

资源利用率高不一定是好事。利用率接近 100% 往往意味着队列迅速膨胀、等待时间变长、系统对波动极其敏感。评估产能时,应同时看吞吐、周期、在制品与等待,而不是只看一个百分比。

还需要区分「占用」与「可用」:设备名义上存在,不代表在需要时可用。班次、故障、换型、维修都会改变有效容量。

仿真钟

Simulation Clock

离散事件仿真中用于推进时间的机制。它不按固定步长前进,而是直接跳到下一个事件发生的时刻。两次事件之间,系统状态保持不变,因此无需计算中间过程。

这种「下一事件时间推进」是离散事件仿真高效的原因:空闲时段被直接跳过。代价是模型必须把所有状态变化都表达为事件,否则会出现时间已经推进、但逻辑尚未处理的错误。

当多个事件安排在同一时刻,处理顺序需要规则;否则同一模型可能因运行顺序不同而得到不同结果。这也是「可复现性」必须写进建模规范的原因之一。

02 · 不确定性与统计

Uncertainty & Statistics

随机分布

Probability Distribution

描述随机变量取值可能性的数学模型。仿真里用它生成到达间隔、加工时间、故障间隔、需求数量等不确定输入。常用分布包括指数、正态、对数正态、均匀、三角、Weibull 与 Gamma。

选择分布应先看生成机制,再看数据。例如到达过程若近似无记忆,指数分布是自然起点;加工时间通常有下界且右偏,对数正态或 Gamma 往往比正态更合适;当数据只有最小值、最可能值与最大值时,三角分布可以作为粗粒度近似。

不要只看拟合优度。一个分布可能拟合得很好,却在尾部低估极端事件;而对产能与风险而言,尾部恰恰是关键。分布选择必须和敏感性分析一起做。

输入建模

Input Modeling

从现场数据与专家判断出发,构造可信输入参数的过程。它包括数据清洗、分组、独立性检验、分布选择、参数估计、拟合检验与敏感性分析,而不是在软件里点一下「拟合分布」。

三个常被忽略的前提:样本是否独立同分布、过程是否非平稳、采集口径是否一致。把不同班次、不同产品、不同季节的数据混在一起拟合,往往得到一个「平均正确、局部错误」的模型。

输入建模的终点不是一条漂亮的曲线,而是一份说明:用了哪些数据、做了哪些假设、哪些参数最影响结论、还需要补采什么。

置信区间

Confidence Interval

用来表达估计不确定性的区间。仿真输出本身是随机变量:同一模型重复运行,会得到不同的平均值。只报告一次运行的点估计,等于隐藏了不确定性。

常用做法是独立重复运行,或用批均值法把一次长运行切成若干近似独立的批次,再计算均值的标准误与区间。区间宽度反映噪声大小;要变窄,通常需要更多重复或更长的运行。

置信区间的「95%」描述的是重复抽样下区间覆盖真实均值的长期频率,不是「真实值有 95% 概率落在这一次区间内」。在给管理层的报告里,除了区间,还应说明样本量、warm-up 处理与随机种子设置。

暂态与稳态

Transient & Steady State

暂态是系统从初始条件走向稳定行为的过渡阶段;稳态是统计特征不再随时间明显变化的阶段。从空系统开始仿真,前一段时间的数据往往不代表长期表现,直接平均会低估或高估指标。

终止型仿真有明确起止(例如一个班次、一个项目周期),应按整个区间统计;稳态型仿真关注长期平均,通常需要删除 warm-up 段,或采用更严格的稳态检测方法。

warm-up 长度没有通用答案,取决于系统、初始条件与指标。正确做法是做预实验,观察关键指标随时间的漂移,而不是套用固定比例。

方差缩减

Variance Reduction

在不改变结论的前提下降低仿真输出噪声的技术。常见方法包括公共随机数、对偶变量、分层抽样与对照变量。它们让有限的计算预算产出更窄的置信区间。

比较两个方案时,公共随机数尤其有用:让两套方案面对同一组随机输入,差异就更接近方案本身造成的差异,而不是随机波动。注意它要求两次运行使用可对齐的随机流,否则会引入偏差。

方差缩减不是「让结果更好看」,而是让实验更有效率。方法选择应与实验设计一起考虑,不能事后随意套用。

03 · 实验与决策

Experimentation & Decision

实验设计

Design of Experiments

用结构化方式安排因子、水平与重复,以便分离主效应与交互作用。在仿真里,因子可能是批量、人员配置、调度规则、缓冲区容量。实验设计回答的是:哪个因素真正影响输出,因素之间是否互相放大。

一次只改一个因子(OFAT)会漏掉交互作用,也难以评估噪声。全因子设计覆盖完整组合,但成本随因子数指数增长;部分因子设计用更少实验换取主效应与部分交互的信息,代价是混杂。

仿真实验还需要考虑随机化与重复。随机种子不是装饰:它决定了误差估计是否可信。实验开始前就应确定重复次数与统计方法,而不是跑完再挑结果。

仿真优化

Simulation Optimization

在决策变量空间内搜索,使仿真目标函数更优。典型问题是人员数量、设备配置、批量大小、调度规则。与解析优化不同,目标函数由仿真评价,带噪声且计算昂贵。

先定义三件事:决策变量、目标函数、约束。目标不清楚时,优化器只会放大错误的问题定义。随机目标需要多次评价,否则搜索会追着噪声跑;搜索结果还应做稳健性检查,而不是采信单次最优点。

优化输出是候选方案,不是决策本身。成本、风险、可实施性与组织约束,通常不在模型里,却决定方案能否落地。

验证与确认

Verification & Validation

验证(Verification)问的是「模型是否被正确构建」,确认(Validation)问的是「模型对真实系统是否足够可信」。两者都通过,才谈得上用模型支撑决策。

可执行的检查包括:与一线人员面谈、用历史数据回放、测试极端条件、做敏感性分析、追踪实体逻辑、检查守恒关系。检查不需要昂贵设备,但需要在项目计划里预留时间。

可信度不是二元的。模型总有为特定目的服务的使用边界;报告应写清适用范围、关键假设与不确定性,而不是宣称「模型已经验证」。被高估的模型,往往不是算错了,而是被用在了不适用的地方。

把术语放进一次完整建模

知识库解释概念,课程带你把它们串成一条可运行、可解释的链路。

查看课程体系