第3章 排队系统建模与仿真 教案
| 项目 | 内容 |
|---|---|
| 课程名称与性质 | 交通运输系统仿真(Transportation System Simulation);交通运输专业本科专业必修课(理论课) |
| 课程编号·学分·学时 | 0030108805 · 2 学分 · 32 学时(第 V 学期) |
| 授课对象 | 交通运输专业(2023 级,2025 秋) |
| 授课教师 | 李季涛(交通运输工程学院交通运输系) |
| 使用教材 | 李季涛编《交通运输系统仿真——使用AnyLogic》,中国铁道出版社,2025 |
| 对应课件 | 课件03《排队系统建模与仿真》(共 46 页) |
| 对应大纲模块与课程目标 | C3 排队系统建模与仿真;支撑 O2(电子表格排队仿真)、O4(AnyLogic 建模与简单实验设计);通过与排队论结果对照,兼顾 O1 |
| 本章学时 | 8 学时(4 课次 × 2 学时,每课次 90 分钟),第 14–15 周 |
课程教学进度安排
| 课次 | 周次 | 教学内容(对应课件页码范围) | 学时 |
|---|---|---|---|
| 9 | 第14周 | 3.1 排队模型(自学检查,P2);3.2 随机数的生成(P3–9);3.3 随机变量的产生(P10–19,含随机变量的产生方法与均匀、指数、三角分布的反变换法) | 2 |
| 10 | 第14周 | 3.4 用电子表格进行排队系统仿真:变量设置、表格设计、仿真运行、仿真实验(P20–30) | 2 |
| 11 | 第15周 | 3.5 AnyLogic 排队系统仿真:软件概述(无对应课件页,教师补充)、阶段1 逻辑模型、阶段2 创建动画(P31–35) | 2 |
| 12 | 第15周 | 3.5 阶段3 统计数据收集、阶段4 蒙特卡洛仿真实验;灵敏度分析与均值比较(教师补充);本讲总结(P36–46) | 2 |
教学目标与重点难点
教学目标
- 知识:说明伪随机数的含义与好的随机数发生器应满足的 5 项要求,写出线性同余法的递推公式并说明最大密度与最大循环周期;写出反变换法生成指数、均匀、三角分布随机变量的公式;说明单服务台排队系统电子表格仿真中各列的递推关系。
- 能力:用 Excel 建立自动售票机单服务台排队仿真模型,输出平均排队等待时间、平均系统逗留时间、服务台利用率、必须排队概率,并设计重复实验给出均值与置信区间半长;用 AnyLogic 过程建模库搭建同一系统,完成动画、统计收集和蒙特卡洛实验。
- 素养:能把"单次运行"与"重复实验的统计结论"区分开来,用置信区间而不是单个数字表述仿真结果;养成记录参数、如实报告实验次数的习惯。
教学重点
- 线性同余法 及其周期。
- 反变换法生成随机变量的原理与公式(,)。
- 依据离散事件原理设计单服务台仿真表格(到达时间、开始服务时间、结束服务时间、排队等待、空闲的递推)。
- 蒙特卡洛重复实验:重复 N 次、记录每次平均排队等待时间,计算均值与置信区间半长。
- AnyLogic 过程建模库四个基本模块(Source、Queue、Delay、Sink)的参数设置与统计数据收集。
教学难点
- 反变换法的原理:为什么把 随机数代入分布函数的反函数就得到服从该分布的变量。突破策略:用 的三行推导,结合课件 P13、P15 的 CDF 图(由 作水平线、再向下作垂线得到 ),再用 在三角分布上手算,把"概率累积到哪里就取哪个值"画在 CDF 图上。
- 重复实验设计及直方图绘制(单次运行与 N 次运行的区别)。突破策略:先让学生按 F9 反复重算,看到平均等待时间每次不同,再引入"运行实验"宏,把每次结果收集成直方图。
- AnyLogic 中参数、变量、智能体的区别(课件 P35、P37、P40 分别用到 Parameter、Variable)。突破策略:以"旅客自己带的属性(arrivalTime、PassengerType)= 智能体参数;全局计数(servicedNumber)= 变量"做对照表,让学生判断其他例子归属。
- 数据收集中谁在何时记录时间(P38 的 On exit / On enter 三处代码)。突破策略:画旅客经过 Source→Queue→Delay→Sink 的时间轴,在轴上标出"盖时间戳"和"读时间戳"的位置。
- 均值比较:两组实验的置信区间是否重叠。突破策略:在课次12用"平均到达间隔 5 分钟与改动后"两组 Monte Carlo 结果对比,并回到课次7 的重复仿真与置信区间概念。
思政目标
- S01:随机数可重复、实验可复核。从"随机数应是可重复的"(P6)和线性同余法"由固定递推公式产生、必然循环"(P8)出发,要求作业2注明参数与实验次数,不挑选"好看的一次",培养科研诚信。
- S02:对旅客负责的工程判断。结合铁路车站自动售票机排队系统,说明候票时间关系到旅客体验与客流疏导,结论要用置信区间表述,不以一次运行下结论、不夸大仿真结果。
- S03:科学使用工具并认清局限。伪随机数是确定性算法产生的,Excel 与 AnyLogic 的结果都依赖模型假设;用仿真辅助决策时,要交代假设、验证模型并说明适用范围,体现工程师的责任意识。
教学方式与媒体资源
主要教学方式
- 案例驱动:全章围绕课件同一个铁路车站自动售票机(TVM)单服务台系统,Excel 与 AnyLogic 两种实现相互印证。
- 课堂演算:先验算课件 P8 线性同余例子的前几项,再用一个小模数()的线性同余发生器手算随机数,进而手算 6 位旅客的仿真表格,验证递推逻辑。
- 教师演示 + 学生跟做:Excel 与 AnyLogic 部分教师逐步演示,学生同步操作并在关键节点自查。
- 对照比较:Excel 结果与 AnyLogic 结果对照,单次运行与重复实验对照,仿真结果与排队论结果对照。
使用媒体资源
- 课件03(P1–46);课件02 中自动售票机案例、M/M/1 公式、重复仿真与置信区间部分(用于回顾与对照)。
- Excel:随机变量公式(P21–22)、定义名称(P23)、输入/输出区与指标公式(P24)、仿真表格与单元格公式(P25–26)、按钮与 VBA 宏(P27、P29–30)、实验结果表(P28)。
- AnyLogic:Process Modeling Library、Space Markup、3D Objects、Analysis、Presentation 面板(P32–44)。
- 教师预先完成的 Excel 工作簿与 AnyLogic 模型(TVM),作为演示与应急备份。
- 课程网站发布课件、授课模型与作业提交入口(见大纲"课程网站")。
参考书与参考资料
- [1] 李季涛编. 交通运输系统仿真——使用AnyLogic. 中国铁道出版社, 2025.(主教材)
- [2] Jerry Banks 著, 王谦译. 离散事件系统仿真(原书第5版). 机械工业出版社, 2019.(随机数、随机变量产生、排队系统相关章节)
- [3] Averill M. Law 著, 范文慧等译. 仿真建模与分析(原书第5版). 机械工业出版社, 2017.
- [4] 刘亮编. 复杂系统仿真的AnyLogic实践(第2版). 清华大学出版社, 2023.
- [5] Andrei Borshchev. The Big Book of Simulation Modeling. AnyLogic North America, 2013.
课前准备
教师准备
- 准备课次9、10 的手算数据单(线性同余发生器序列、三个分布的反变换计算、6 位旅客计算表)及参考答案;课前复算演示数据,并预备 Excel 中 RAND、LN 函数的演示。
- 准备课件 P8 的线性同余序列表()作为验算对照。
- 备好 Excel 示例工作簿(含 Model、Experiment 两个工作表、"仿真运行"与"运行实验"两个按钮;宏代码中的引号须为英文半角引号)和 AnyLogic 的 TVM 模型逐阶段版本(阶段1至阶段4各存一份),防止现场操作卡住。
- 确认教室电脑安装的 AnyLogic 版本及授权;提前在其上试跑一遍 P32–44 的全部步骤。
学生准备
- 课次9 前:自学 3.1 排队模型,复习课件02 中 M/M/1 的服务强度、平均排队长、平均排队等待时间公式及 2.6 节置信区间。
- 课次10 前:带电脑(Excel 2010 及以上,能启用宏),复习 Excel 的 AVERAGE、MAX、IF、COUNTIF、RAND、LN 函数。
- 课次11 前:安装 AnyLogic(学习版或学校提供版本)。
- 课次12 前:完成课次11 的逻辑模型与动画,带模型文件到课堂。
教学过程
第9课次(第14周)随机数与随机变量的产生
| 环节与时间 | 教学内容(课件页) | 教师活动 | 学生活动 | 设计意图 / 学习证据 |
|---|---|---|---|---|
| 导入(5') | 回顾课件02 手工仿真输入数据;P1–2 本讲结构 | 展示课件02 自动售票机输入表,说明"到达间隔来自均值5分钟的指数分布,服务时间来自三角分布"。提问:"这些数字是怎么'抽'出来的?电脑里没有骰子。" | 回答并口头猜测抽取方法。 | 引出随机数需求;证据:学生能说出"需要先有 随机数"。 |
| 3.1 自学检查 + 3.2.1 随机数概述(10') | P2、P4–5 | 随机抽 2 名学生用自己的话说明 M/M/1 的三个符号、服务强度含义,补一句"3.1 为课前自学内容"。讲 P4:随机数是 上等概率出现的数,密度 ,,;讲 P5:随机数序列必须满足均匀性与独立性,并展示 1000 个均匀随机数的直方图,提问"直方图应该是什么形状?偏离多少算问题?" | 回答;观察直方图是否近似平坦,写下一条判断依据。 | 复核自学效果并衔接;证据:口头回答、判断依据一句话。 |
| 3.2.2–3.2.3 伪随机数与生成方法(20') | P6(伪随机数及 5 点要求);P7–9(线性同余法、计算举例、最大密度与最大循环周期) | 讲清"确定性递推算法产生的 均匀序列叫伪随机数",逐条解释 5 点要求(速度、可移植、周期足够长、可重复、均匀独立)。P7:线性同余法(Lehmer,1951),; 为种子、 乘子、 增量、 模数, 称混合同余法, 称乘同余法。P8:以 为例,,对应 ;表中 时 回到种子,周期为 63。P9:最大密度( 在 上没有大间隔, 取大整数时影响很小)与最大循环周期(至多 ),实际软件常取 或 。再用小例子演示:,(练习数据)。 | 课堂演算:先验算 P8 的 ;再手算小例子 ,记在演算纸上,并继续算到序列回到 7。 | 理解"周期"与"可重复";参考答案 =6, 1, 8, 11, 10, 5, 12, 15, 14, 9, 0,其后 3, 2, 13, 4, 7,周期 16。证据:演算纸。 |
| 3.3.1–3.3.2 随机变量与生成方法(20') | P11–13 | 讲随机变量定义、选择算法的三项要求(准确性、效率、复杂性)及四类方法(反变换法、组合法、卷积法、舍选法,P11)。P12:反变换法是最常用且最直观的方法,要求 连续且严格递增、反函数易求;算法为 ① 产生 ,② 返回 。重点推导:;结合 P13 的图()说明几何含义与"符合原密度函数"的正确性。 | 跟推导,在图上标出 、、 对应关系,回答"若 是离散的怎么办"(取使 的最小 )。 | 突破难点;证据:学生能口头复述"概率累积值反查取值"。 |
| 3.3.3 常用随机变量的生成(20') | P14–19(指数、均匀、三角) | 按课件顺序讲三个公式。指数分布(P14–16,参数 ,均值 ):由 解得 ,因 与 同分布,课件写作 ;P15 用图示解释,P16 比较 200 个均匀随机数与由其变换得到的 200 个指数随机数的直方图()。均匀分布(P17,区间 ):。三角分布(P18–19,端点 、,众数 ):(),()。指出 时 无定义,工程上常用 的形式。 | 课堂演算:用上一环节小例子的 (0.375, 0.0625, 0.5, 0.6875, 0.625, 0.3125)算均值5的指数变量;算三角分布 (最小0.5、众数3、最大7)在 与 时的取值。 | 掌握公式使用;参考答案:指数 2.35, 0.32, 3.47, 5.82, 4.90, 1.87;三角 2.52、4.45(分界 )。证据:演算纸、同桌互查。 |
| 练习与检验(10') | P5、P16 对照;P21–22 预告 | 在 Excel 里用 =RAND() 与 =-5*LN(1-RAND()) 各生成 1000 个数,做直方图,对照 P5 的均匀直方图与 P16 的指数直方图形状;无电脑时由教师演示。 | 观察并判断均匀、指数直方图是否符合预期。 | 实证随机数发生器;证据:直方图判断一句话。 |
| 小结与布置(5') | P45 前两条主要内容 | 总结"→反变换→各分布"链条;发布作业2 说明(服务时间为三角分布 ;课件的 Excel 示例服务时间为均匀分布 ,作业需自行改为三角分布)。 | 记录作业要求,提出疑问。 | 衔接作业2;证据:学生记录的作业要点。 |
第10课次(第14周)用电子表格进行排队系统仿真
| 环节与时间 | 教学内容(课件页) | 教师活动 | 学生活动 | 设计意图 / 学习证据 |
|---|---|---|---|---|
| 导入(7') | P20;回顾课件02 手工仿真表 | 把课件02 的手工仿真"事件表"与 P25 的"每位旅客一行"的表格对比,提问:"单服务台先到先服务,只靠每位旅客的哪几个数就能递推全部结果?" | 讨论并回答:到达时刻、上一位的结束时刻。 | 建立"逐旅客递推"思路;证据:口头回答。 |
| 3.4.1–3.4.2 随机变量生成与变量设置(10') | P21–23 | 说明输入分布:到达间隔服从均值 5 分钟的指数分布,购票时间服从 1~6 分钟的均匀分布;在单元格里用 RAND 与反变换法生成:服务时间 =1+5*RAND()(可用 ROUND 控制精度),到达间隔 =-5*LN(RAND())。演示"公式→定义名称",讲解 P23 变量表(如 MeanInterarrivalTime 在 E4、InterarrivalTime 为 J5:J104)为何用名称而不用单元格地址。 | 在自己的工作簿定义 3 个名称:MeanInterarrivalTime、MinServiceTime、MaxServiceTime。 | 提高公式可读性;证据:学生工作簿中的名称管理器截图。 |
| 3.4.3 仿真表格设计:手算逻辑(20') | P25 表格;P26 公式 | 展示 P25 的前 10 位旅客,指出第 6 位旅客到达 29.98、开始 35.56、等待 5.58(其前一位旅客 35.56 才结束服务)。逐列讲递推(对应 P26 的单元格公式):到达 ;开始 ;结束 ;等待 ;逗留 ;空闲 。第 1 位旅客在仿真开始时刻 0 到达并立即开始服务。 | 课堂演算:用课次9 小例子的随机数流(到达间隔用 、服务时间用 分别按"均值5指数""均匀(1,6)"变换,练习数据),手算 6 位旅客的表格。 | 理解 L 列用 MAX 的含义。参考答案:到达 0, 2.35, 2.67, 6.14, 11.95, 16.86;开始 0, 2.56, 7.31, 13.00, 18.38, 22.19;等待 0, 0.21, 4.64, 6.86, 6.42, 5.33(均值约 3.91,6 人中 5 人需排队)。证据:计算表。 |
| 3.4.3 公式与性能指标(12') | P24、P26 | 讲 P24 的输入区(平均到达间隔 5 分钟,最小/最大服务时间 1/6 分钟,旅客总数 100,仿真开始时间 0,仿真结束时间 EndTime)/输出区布局与 E15–E18 指标公式:平均排队等待 =AVERAGE(TimeInLine)、平均逗留 =AVERAGE(TimeInSystem)、服务台繁忙的概率 =1-SUM(IdleTimeOfServer)/EndTime、必须排队概率 =COUNTIF(WaitedInQueue,">0")/NumberOfPassengers。P26 的首行公式:J6 =-MeanInterarrivalTime*LN(RAND())、M5 =MinServiceTime+(MaxServiceTime-MinServiceTime)*RAND()、Q6 =IF((K6-N5)>0,K6-N5,0)。 | 在 Excel 中输入第 1、2 行公式并下拉,核对手算结果。 | 手算与公式相互验证;证据:Excel 结果与手算一致的截图。 |
| 3.4.4–3.4.5 仿真运行与蒙特卡洛实验(21') | P27–30 | 演示"仿真运行"按钮宏(P27:先令 Model 表 EnableCalculation = True 触发重算,再置为 False):反复运行得到不同结果,展示 P24 示例单次结果(平均排队等待 6.64 分钟,平均逗留 9.95 分钟,必须排队概率 0.76)。再引出实验:"运行实验"宏循环 N 次,把每次的 Model!E15 写入 Experiment 表(P29–30,实验次数在 D3,结果区 B11:C110),并用 P28 的公式统计均值(AVERAGE)、中值(MEDIAN)、置信区间半长(CONFIDENCE.T(0.05, 标准差, 实验次数))、最小值、最大值、标准差(示例:均值 4.20、中值 3.80、半长 0.43、最小 1.38、最大 11.74、标准差 1.94)。强调 P28 的结果区间,说明"单次 6.64 是随机波动的一个样本"。 | 学生参照 P27、P29–30 编写宏(代码中的引号用英文半角),设置实验次数 50,运行并看到每次不同的等待时间;在实验表上画平均等待时间直方图。 | 理解重复实验必要性;证据:50 次实验表与直方图。 |
| 讨论:与理论模型对照(15') | P28;课件02 M/M/1、重复仿真 | 提问:"只有 100 位旅客、从'空闲且无人'开始,算出的平均等待能否代表系统长期水平?"。本例到达率 、服务时间均匀(1,6),、、,用 M/G/1 的 P-K 公式 可算得约 4.78 分钟;与 P28 的实验结果(均值 4.20,半长 0.43,区间约 3.77~4.63)对照,讨论初始状态偏差与有限样本。 | 小组讨论 3 分钟,推选代表发言;写下"不一致可能的两个原因"。 | 对应 O1 的"与理论模型比较";证据:小组发言要点。 |
| 小结与布置(5') | P45 第3条 | 总结表格仿真四步:设计表格、设公式、运行、重复实验;提示作业2 的直方图(单次旅客等待时间、平均等待时间累积分布图)可用 Excel 的频数统计(如 FREQUENCY、COUNTIFS)或直方图图表工具完成。 | 记录,明确作业2 的截止时间和提交方式。 | 学生课后可独立开展;证据:作业2 进展询问。 |
第11课次(第15周)AnyLogic 排队系统逻辑模型与动画
| 环节与时间 | 教学内容(课件页) | 教师活动 | 学生活动 | 设计意图 / 学习证据 |
|---|---|---|---|---|
| 导入(5') | P31 | 提问:"Excel 版要手写每一列公式,若改成两台自动售票机或增加优先队列,要改多少?" 引出基于过程建模库的搭建方式。 | 讨论 Excel 实现的不足。 | 说明工具必要性;证据:学生列出 2 条不足。 |
| 软件概述(12',教师补充) | 无课件页 | 演示 AnyLogic 界面:Projects、Palette、Properties 面板、Main 编辑窗口,运行与停止;区分 Agent(带属性的实体)、Parameter(智能体的属性)、Variable(全局量)。 | 对照界面找位置;记录三个概念的区别。 | 为难点"参数、变量、智能体"打基础;证据:学生判断练习(见难点)。 |
| 阶段1 逻辑模型(23') | P32 | 演示新建项目 TVM、时间单位设为分钟;拖入 Source、Queue、Delay、Sink 四个模块并连接;设置:Source 的 Arrivals defined by 选 Interarrival time,Interarrival time 为 exponential(0.2) 分钟;Queue 容量 20;Delay 模块(命名 TVM)延时 uniform(1,6) 分钟。强调 AnyLogic 的 exponential 参数是速率 0.2(均值5分钟),与 Excel 中均值5分钟一致。 | 跟做,完成逻辑模型;运行一次并观察队列中的数字。 | 完成可运行的逻辑模型;证据:学生机上能运行的 TVM 模型。 |
| 阶段2 动画(一):空间标记(15') | P33 | 讲 Point Node 与 Path 的作用:Point Node 的 Color 设为 TVM.size() > 0 ? red : green,把 Point Node 关联到 TVM 的 Agent location,把 Path 关联到 queue。 | 绘制 Path、设置颜色表达式,运行后观察绿/红切换。 | 把逻辑模型"看得见";证据:运行时售票机变红截图。 |
| 阶段2 动画(二):智能体与 3D(20') | P34–35 | 新建 Agent 类型 Passenger(选 Person),在 Source 的 New agent 里关联;添加 ATM 三维图形和 3D Window;在 Passenger 内添加 Parameter PassengerType(默认值 uniform_discr(1,6)),为 6 个人物 3D 对象设置 Visible 条件。 | 完成 Passenger 动画;说明 PassengerType 是智能体参数还是全局变量,并说出理由。 | 理解参数与智能体的关系;证据:学生口头判断、模型运行效果。 |
| 运行检验与讨论(10') | P32–35 | 运行模型,提问:"Excel 中 L 列 MAX(N5,K6) 对应 AnyLogic 里哪个模块行为?Queue 容量20 满了会怎样?" | 分组讨论后回答。 | 建立两种实现之间的对应;证据:对应关系表(Excel 列 ↔ AnyLogic 模块)。 |
| 小结与布置(5') | P32–35 | 小结阶段1–2;布置课程设计(使用 AnyLogic 建模,进度表要求):确认选题并准备下次的统计数据收集。 | 保存模型,记录课后任务。 | 衔接课程设计与课次12;证据:已保存的模型文件。 |
第12课次(第15周)统计数据收集与蒙特卡洛仿真实验
| 环节与时间 | 教学内容(课件页) | 教师活动 | 学生活动 | 设计意图 / 学习证据 |
|---|---|---|---|---|
| 导入(5') | P36 | 检查学生是否带来上次模型;提问:"要得到 Excel 里的 E15–E18 指标,AnyLogic 里应该去哪里读?" | 打开模型,回答。 | 明确本次目标;证据:学生模型文件。 |
| 阶段3(一)内置统计与条形图(10') | P36 | 讲 TVM.statsUtilization.mean() 与 queue.statsSize.mean();演示 Bar Chart(Title、Color、Value)设置。 | 添加两个条形图,运行并读数。 | 获得利用率与平均队长;证据:运行截图。 |
| 阶段3(二)收集等待与逗留时间(20') | P37–39 | 画时间轴说明三处代码:Source 的 On exit 写 agent.arrivalTime = time();,Queue 的 On exit 写 waitTimeDistr.add(time() - agent.arrivalTime);,Sink 的 On enter 写 timeInSystemDistr.add(time() - agent.arrivalTime);。演示 Passenger 添加 arrivalTime(double),添加两个 Histogram Data(20 个区间,初始区间 0.01)及 Histogram 图。 | 按步骤完成并运行;在时间轴上标出各行代码位置。 | 突破数据收集难点;证据:运行后出现两幅直方图、时间轴图。 |
| 终止条件与运行(10') | P40–41 | 添加变量 servicedNumber(初值0),在 TVM 的 On exit 里加1,达到100调用 getEngine().finish();展示运行结果(P41 示例:自动售票机利用率 0.607,平均服务时间 3.634,平均排队等待时间 2.702,平均系统逗留时间 6.337 分钟;单次运行结果随随机数而变)。 | 实现停止条件,运行并读取平均等待时间。 | 与 Excel 100位旅客设置一致;证据:模型在第100位旅客处停止。 |
| 阶段4 蒙特卡洛实验(25') | P42–44 | 演示 New Experiment→Monte Carlo;迭代次数100;新建直方图,Expression root.waitTimeDistr.mean();Model time 的 stop 设为 Never(由模型自身 finish 终止);添加 Text 显示 histogram0_data.mean() 与 meanConfidence();添加 Statistics 数据 staQueueMean(离散型),在 After simulation run 写 staQueueMean.add(root.queue.statsSize.mean()); 并显示均值与半长(P44 示例:100 次迭代,平均排队等待时间均值 4.667、半长 0.464、标准差 2.339;平均排队长度均值 0.982、半长 0.118)。 | 创建实验并运行;记录平均排队等待时间的均值与置信区间半长、平均队长的均值与半长。 | 完成实验设计;证据:实验窗口截图与记录的四个数。 |
| 均值比较与灵敏度分析(15',教师补充) | 无对应课件页;回顾 P28、P43–44 | 把平均到达间隔改到 4 分钟(即 exponential(0.25)),再跑一次 Monte Carlo,比较两组"均值 ± 半长"是否重叠;提示若要系统地变动参数,可用参数变化类实验(教师视时间演示)。让学生对比 Excel 与 AnyLogic 结果(课件示例:Excel 为 4.20 ± 0.43,AnyLogic 为 4.667 ± 0.464,两个区间有重叠;均与 M/G/1 理论值约 4.78 分钟及理论平均队长 相近)。 | 改参数、重跑、比较两组区间,在课堂记录表上写出结论。 | 对应进度表"均值比较""灵敏度分析";证据:对比结论一句话。 |
| 本讲总结(5') | P45–46 | 对照 P45 主要内容与基本要求做自评清单:Excel 单服务台仿真与实验;AnyLogic 逻辑、动画、统计、蒙特卡洛。 | 勾选自评并提出疑问。 | 回顾与自查;证据:自评清单。 |
课堂练习与课后作业
- 课堂练习:课次9 线性同余手算与三个分布的反变换计算;课次10 6 位旅客表格手算与公式校验;课次11–12 AnyLogic 搭建、统计与实验的跟做步骤。
- 课程作业2(电子表格仿真,个人,10 分,支撑 O2):依据课次9–10 内容用 Excel 实现单服务台排队仿真和蒙特卡洛实验。要求:单次运行输出平均排队等待时间、平均系统逗留时间、服务台利用率、排队等待概率,并画旅客排队等待时间直方图;实验次数大于 50,输出平均排队等待时间的均值与置信区间半长,画平均等待时间直方图和累积分布图;输入:到达间隔为指数分布(均值 2–6 分钟自定),服务时间为三角分布(0.5, 3, 7),终止条件为完成购票旅客不少于 50 人。提交文件名"学号+姓名-第2次作业"。
- 课程设计(团队,与课次11–12 对应):使用 AnyLogic 为自选轨道交通运输组织问题建立仿真模型,课后继续完成统计数据收集与实验设计,为课程作业4 打基础。
教学评价
| 形成性评价证据 | 对应课程目标 | 评价要点 |
|---|---|---|
| 课次9 手算演算纸、反变换计算 | O1 | 公式使用正确、能解释周期与反变换含义 |
| 课次10 6 位旅客手算表、Excel 公式核对截图 | O1、O2 | 递推正确,Excel 结果与手算一致 |
| 课次10 蒙特卡洛实验表与直方图 | O2 | 实验次数、均值与置信区间半长、图形完整 |
| 课次10 与理论模型对照发言 | O1 | 能解释仿真与理论结果差异的原因 |
| 课次11 逻辑模型与动画运行截图 | O4 | 参数设置正确,能运行 |
| 课次12 统计收集代码与 Monte Carlo 实验记录 | O4 | 数据收集位置正确,会读均值与半长,会比较两组结果 |
| 课程作业2(总结性) | O2 | 按作业评分标准 |
| 课堂表现 | 课堂表现(5分) | 参与度、纪律 |
O3(输入数据分析)与 O5(国际发展趋势)本章不直接评价;本章仅用"输入分布由哪些变量生成"预告 O3。
板书设计
第3章 排队系统建模与仿真
3.2 随机数 U(0,1) 伪随机数:确定性递推 + 5点要求
X_{i+1} = (a X_i + c) mod m , R_i = X_i / m (周期 ≤ m)
3.3 随机变量 反变换法:X = F^{-1}(R)
指数 -(1/λ) ln(1-R) | 均匀 a+(b-a)R | 三角 分段(分界 (b-a)/(c-a))
3.4 Excel 行=旅客:K=K'+J ; L=MAX(N',K) ; N=L+M ; O=L-K ; P=N-K
单次运行 → 重复 N 次 → 均值 ± 半长
3.5 AnyLogic Source → Queue → Delay(TVM) → Sink
动画:Point Node / Path / Agent
统计:arrivalTime → Histogram Data → Monte Carlo
教学反思(课后填写)
- 学生是否能说清反变换法的含义,而不只是记住公式?哪些学生在手算 时出错,错在哪一步?
- 学生从手算表格到 Excel 公式、再到 AnyLogic 模块的对应关系是否建立起来?课堂上哪一个环节用时超出计划?
- 学生是否能用"均值 ± 半长"而不是单次结果描述仿真结论?课后作业2 提交时暴露了哪些共性问题?