图号 RP-09 · 计算方法
仿真与分析的计算方法
旅客从哪里来、怎样选、怎样计座计票,以及分析中心每个数字的算法。所有公式与软件程序一致;凡是估计或平衡取值,都在文中标明。
对应版本:0.18.28 开发预览 · 旅客模型 2 · 更新:2026-10-14
本页完整说明“线路设计蓝图”里旅客从哪里来、怎样选择、怎样计票计座,以及分析中心每个数字是怎么算出来的。所有公式都与软件当前版本的程序一致;凡是估计或平衡取值,都在文中标明。
版本:软件 0.18.28 开发预览,旅客模型 2。旧存档和旧研究项目继续按模型 1 运行(见第 9 节),不受本页模型 2 的改动影响。
1. 总体思路
- 逐人模拟。每一位“模拟旅客”都是一个独立的个体:有出发地、目的地、出行目的、预算、时间价值和期望到达时间,自己查时刻表、比较方案、订票、上车、换乘、到达。
- 需求不依赖列车,选择才依赖列车。某个城市每天有多少人要出行、去哪里,由人口、城市属性和时间决定;铁路好不好,只影响他们选不选铁路、能不能成行。
- 一个模拟旅客代表一组人(模型 2)。为了在现实规模的客流下仍能流畅运行,每个模拟旅客代表 10 到 30 位(平均 20 位)行程相同的旅客。这一组人一起订票、占座、上车和付款,所有人数和票款都按每组的实际人数累加。
2. 出行需求
2.1 总量
每 5 分钟为一个时段,对每个有车站的城市、每种出行目的,计算该时段期望产生的出行人数:
期望人数 = 人口 × 日出行率 × 城市需求系数 × 需求强度 × 目的占比 × 活跃度 × 收入修正 × 时段权重 ÷ 该目的全天权重之和 × 季节修正 × 节假日修正
- 日出行率(模型 2):每位居民每天 0.04 次跨城出行。依据:2024 年全国全社会跨区域人员流动量 645.92 亿人次(交通运输部《2024 年交通运输行业发展统计公报》),约合每人每天 0.126 次;其中同时跨越地级市边界的比例按约三分之一估计。三分之一是估计,没有公开的分项统计。 对照:2024 年长三角铁路发送旅客 8.9 亿人次,约合三省一市每位居民每天 0.010 次铁路出行。
- 目的占比:商务 22%、旅游 16%、通勤就业 20%、返乡探亲 18%、行政办事 8%、就医就学 10%、机场接驳 6%。
- 活跃度 = 0.7 + 0.3 × √(该城市各车站对此目的的平均吸引力,主站权重 4 倍)。
- 收入修正 = 城市购买力 ^ 收入弹性。各目的的收入弹性依次为 0.30、0.65、0.05、0.15、0.10、0.05、0.50;购买力限定在 0.25 到 4 之间。
- 时段权重:通勤类为 0.08 + e^−((h−8)/2)² + 0.8 × e^−((h−17.5)/2.5)²;旅游和返乡为 0.1 + e^−((h−11)/4)² + 0.5 × e^−((h−19)/3)²。周末商务出行乘 0.55,其他目的乘 1.3。
- 日历:运营第 1 天是 2026 年 10 月 5 日(周一),之后按真实日历推进。
- 季节修正 = 1 + 0.12 × sin(2π × 一年中的第几天 ÷ 365)。
- 节假日再乘 1.3:元旦 1 月 1–3 日、劳动节 5 月 1–5 日、国庆 10 月 1–7 日,以及春节(除夕到初六,2027–2031 年按农历日期)。这是常见的放假模式,不是每年的官方安排,调休也没有模拟。
- 期望人数的整数部分直接产生,小数部分按概率产生。
以上占比、弹性和时段曲线是平衡取值,不是统计数据。
2.2 只在铁路连通的城市之间(模型 2)
需求只在铁路已经连通的城市之间产生。两个城市只要有一个客运车次同时停靠,就算连通;连通可以传递(换乘、或在同一城市换车站都算)。比如只有上海、苏州、南京接入了铁路,上海的旅客就只去苏州和南京;路网扩展后,需求随之增加。没有任何车次停靠的城市不产生需求。
2.3 去哪里
目的地按引力模型抽取:
权重 = √(目的地人口)× 目的地吸引力 ÷(1 + 直线距离 ÷ 衰减距离)
衰减距离:旅游和返乡 250 公里,其他目的 120 公里。返乡和通勤还乘以两城之间的地区联系系数。起点和终点城市内选哪个车站,按车站吸引力抽取,主站权重 4 倍。
2.4 每位旅客的属性
| 属性 | 取值 |
|---|---|
| 准备出发时刻 | 产生后 5–30 分钟 |
| 期望到达时刻 | 准备出发后 2–10 小时 |
| 预算(元) | (40 + q² × 900) × 购买力 × 目的系数;q 在 0–1 间均匀抽取;目的系数依次为 1.25、1、0.75、0.85、0.95、1.10、1.35 |
| 时间价值(元/小时) | (8 + 均匀抽取 0–180(商务)或 0–80(其他)) × √购买力 |
| 舒适偏好 | 0–1 均匀 |
| 每次换乘的代价(元) | 5–35 均匀 |
| 同行 | 旅游和返乡有 15% 结伴出行,结伴者行程、预算相同,尽量同车 |
| 代表人数(模型 2) | 10–30 人均匀抽取 |
3. 查找方案
每 5 分钟,软件把未来 48 小时内的全部列车冻结成一张时刻表快照,旅客在这张快照上查找方案:
- 最多乘 3 段火车,加上同城换站最多 7 段。
- 同城换站走地面:用时 10 分钟加距离 ÷ 30 km/h,费用 3 元加每公里 0.25 元。
- 换乘最少留 5 分钟。
- 先在 4 小时内的发车里找,每个到站最多保留 3 个候选;找不到时放宽到 12 小时、每站 24 个。
- 按到达时间由早到晚展开,到达目的地的路线都是候选。
- 模型 2:同一个车站在相同的乘车段数下只展开一次,也就是最早到达的那一次。车次很密时,这样能避免把搜索浪费在同一批车站上,跨线换乘才找得到。展开总数最多 400 次,放宽时 1000 次。
- 模型 1:每取出一个状态都计数,最多 160 个,放宽时 512 个。
这些上限是为了让大规模客流算得动而设的,可能漏掉需要换乘两次以上的方案,见第 10 节。
4. 选择铁路方案
对每个候选方案,旅客在每一段选一个有余座、买得起、“票价 − 舒适加分”最低的席别。一组旅客需要该席别在所乘区间内有足够多的空位。方案的综合成本(元)为:
综合成本 = Σ(各段票价 − 舒适加分)+ 时间成本 +(段数 − 1)× 换乘代价 + 晚于期望到达的小时数 × 时间价值 − 餐车加分 − 同行加分
- 票价 = 席别每公里单价 × 实际线路里程。默认单价按线路速度:250 km/h 以下 0.39 元(200 级)或 0.28 元,250 级 0.48 元,300 级 0.56 元,350 级 0.62 元;车型有建议票价时用车型的;一等座为二等的 1.6 倍,商务座 2.8 倍。车次可以单独设票价。
- 舒适加分 = 席别舒适度 × 舒适偏好 × 时间价值 × 乘车小时 × 0.2。二等座舒适度 0,一等座 1,商务座 2;卧铺在 4 小时以上或夜间行程中为 1.5–3.2,其他时候打四折。
- 时间成本(模型 2,决定买第一张票时):旅客照着时刻表出门,在发车前 15 分钟到站,此前不在车站干等。
时间成本 =[感受时长(乘车时长 + 15 分钟)+ 0.5 × 出发推迟]× 时间价值
“出发推迟”= 发车时刻 − 15 分钟 − 想走的时刻(不小于 0)。推迟按一半计,是交通经济学里“时刻偏差”通常的权重量级,属于平衡取值。已经在路上的旅客(换乘中、改签)从此刻到到达的每一秒都全额计入。
- 时间价值的边际递减(模型 2):长途旅行中人们会看书、工作、休息,每多一个小时的分量逐渐变轻。
感受时长 = h(h ≤ 1 小时);1 +(h^0.8 − 1)÷ 0.8(h > 1 小时)
也就是第一个小时按全额计,此后第 h 个小时的分量约为 h^−0.2:第 2 小时 0.87,第 4 小时 0.76,第 10 小时 0.63;10 小时的行程按约 7.6 小时计。铁路与其他交通用同一个折算,曲率 0.8 是平衡取值。
- 餐车加分 = 每段有餐车的行程按 min(4, 乘车小时) × 舒适偏好 × 3 元。
- 同行加分:与同行者乘同一组车次,减 100 元。
综合成本最低的方案就是铁路方案。如果所有候选都超出剩余预算,或者都没有余座,旅客记下原因,15 分钟后重试;重试 5 次,或已过期望到达时刻,判定为未成行。
5. 其他交通
旅客在买第一张票之前,把铁路方案与不坐火车的最佳方式比较。
模型 2 有三种方式(距离为两站直线距离,公路里程取直线的 1.3 倍):
| 方式 | 谁能用 | 费用(元) | 门到门用时(小时) | 等候(折算小时) |
|---|---|---|---|---|
| 大巴 | 所有人 | 5 + 0.30 × 公路里程 | 0.75 + 公路里程 ÷ 70 | 0.25(约每小时一班,平均等半小时,按一半计) |
| 自驾 | 有车的人:概率 0.25 + 0.45 × 预算分位,同行者共用一辆 | 20 + 0.55 × 公路里程(每人分摊油费、过路费和停车) | 0.25 + 公路里程 ÷ 85 | 0 |
| 航空 | 直线 400 公里以上 | 50 + 0.55 × 1.1 × 直线距离 | 2.75 + 1.1 × 直线距离 ÷ 750 | 0.5(约两小时一班) |
在预算之内的方式里,取“费用 +[感受时长(用时)+ 等候]× 时间价值”最低的一种。感受时长与第 4 节相同。
判定规则:这种方式买得起,并且它的“费用 + 时间”低于铁路综合成本的 90%,旅客就改走这种方式。90% 相当于给铁路 10% 的偏好(准点、舒适、可以在车上工作),是平衡取值。
模型 1(旧存档)只有一种抽象的其他交通:费用 30 + 0.35 × 直线公里,用时 0.5 + 直线公里 ÷ 70 小时,没有等候。
上面的单价、速度和班次都是取整的平衡取值,参考的是公开票价和车速的量级,没有按某一条线路或某一地区校准。
6. 座位、上车与收入
- 每趟车每个席别、每个站间区间都有库存。订票时,一组旅客在所乘全部区间占用与人数相同的座位;退票时释放。
- 发车时按实际担当的车组核对容量;车组换小、席别不足时,未乘区间退款并重新安排。
- 列车跑完结算:票款 = 每张订单票价 × 该组人数;跨线车次按各线路里程分摊。运行成本 = 实际里程 × 车组每公里成本。晚点 60 分钟以上补偿本次票款的 25%,120 分钟以上补偿 50%。
7. 分析中心的指标
- 需求按产生时刻归入窗口,每人一次,不论乘了几段车、退过几次票。
- 铁路完成满足率 = 已完成出行 ÷ 已产生需求;在途和待乘仍计入需求。
- 客座率 = 乘客公里 ÷ 座位公里。座位按实际担当的车组计;还在路上的列车只计已经驶过的区段。
- 需求去向:已到达、在途、已订票待乘、尚在决定、其他交通(按决定性因素分为票价更低、用时更短、两者兼有、综合更划算,模型 2 还标明是自驾、大巴还是航空)、未成行(超出预算、合适车次已满、没有可乘车次、运行异常)。
8. 诊断与对比
8.1 流失旅客逐人核对
对每位流失的旅客(改走其他交通或未成行),按他的起终点核对时刻表:
-
有直达车:检查前一天到后一天之间,有没有直达车在他准备出发之后开、并在期望到达之前到。
- 没有:时刻不合适。
-
有:再检查那一段是否还容得下这一组人(按结算时的实际载客)。
- 都满了:合适的车满了。
- 有空座:二等座票价超出预算的算“有空座 · 嫌贵”;改走其他交通的算“有空座 · 选了其他交通”;其余算“有空座 · 其他原因”。
-
没有直达车:
- 有车次经过起点或终点却不停:车经过但不停。
- 起点或终点城市没有车停:没有车停。
- 换乘一次(含同城换站)在线路上可以到:按他的实际结果,分为嫌慢或嫌贵(改走其他交通)、车满了、超预算、没衔接上。
- 换乘一次也到不了。
流失最多的起终点会列出主要原因和建议。
8.2 票价曲线
每位旅客在决定买第一张票时,软件记下他面对的铁路票价和除票价外的综合成本(时间、换乘、晚到、舒适度)。票价曲线把同一批旅客放在 0.5 到 1.5 倍的票价下,用第 4、5 节的同一条规则重新判断:
- 票价超过预算的不坐;
- 其他交通的费用加时间低于铁路综合成本九成的,改走其他交通;
- 其余坐火车。
在 1.0 倍处,结果与旅客当时的实际选择一致。票价弹性 =(0.9 倍与 1.1 倍下的乘车人数之差 ÷ 现行乘车人数)÷ 0.2。
曲线没有计入:座位上限(降价多出来的人未必坐得下);涨价后改坐别的车次或席别;没有记录票价条件的旅客(无车可乘、车满了、还在决定中)。
8.3 逐日对比与边际效应
每趟车结算时留下一条日报:发车和到达时刻、二等座每公里票价、座位、乘车人数、乘客公里、座位公里、票款、最满区段载客率、晚点。每天全网的需求去向在两天后汇总(给跨日行程留出时间)。日报保留 400 天。
“对比”页按运营日排列最近 7 天或 30 天:
- 每一行与该车次(或该范围)前一个有记录的运营日相比,标出改了什么(票价、发车时刻、开行列数),以及乘车人数和客座率的变化。
- 只改了票价时给出弹性 =(乘车人数变化 ÷ 前一日乘车人数)÷(票价变化率)。
- 近 7 天与再往前 7 天对比;“变化最大的车次”列出各自最近一次与前一次相比变化最大的车次。
8.4 数据表
“数据表”页把所选日期内的记录列成可排序、可筛选的表,可以导出 CSV:
- 车次:开行、乘车、客座率、最满区段、票款、二等每公里票价、平均晚点、准点率,可按等级筛选;
- 线路:车次数、开行、乘车、客座率、票款、准点率,可按速度档筛选;
- 车站:按始发站统计的需求、坐火车、其他交通、未成行、铁路分担率(来自旅客明细,只覆盖保留期内的日子),可按城市筛选;
- 日期:每天的开行、乘车、客座率、票款、出行需求和铁路分担率,可按工作日和周末筛选。
车次、线路和日期视图来自第 8.3 节的日报,车站视图来自旅客明细。
逐日对比是观察,不是对照实验:不同日子的需求本身不同(星期、季节、节假日),同一天改了几项时,变化不能全部归因于某一项。要排除这些,请在研究项目里用同一份需求做对照运行。
9. 模型 1 与模型 2
| 模型 1(旧存档) | 模型 2(新建) | |
|---|---|---|
| 出行率 | 每人每天 0.001 次(游戏平衡值) | 每人每天 0.04 次(按 2024 年统计估计) |
| 需求范围 | 所有城市之间 | 只在铁路连通的城市之间 |
| 一个模拟旅客 | 1 人 | 10–30 人一组 |
| 等车时间 | 从决定起全额计入 | 照时刻表出门,发车前 15 分钟到站,推迟按一半计 |
| 其他交通 | 一种抽象方式 | 大巴、自驾、航空 |
| 时间价值 | 每小时相同 | 第一个小时之后逐渐递减 |
| 季节与节假日 | 按日序 | 按 2026 年 10 月 5 日起的真实日历 |
| 换乘搜索 | 原有上限 | 每站只展开最早到达的一次 |
研究项目比较两次运行时,如果旅客模型或每组平均人数不同,会提示结果不能直接比较。
10. 已知局限
- 换乘搜索有上限。模型 2 改进后,换乘一次能到的方案基本都能找到;需要换乘两次以上的远距离行程仍可能找不到,被记为“没有可乘车次”或“换乘一次也到不了”。
- 其他交通是简化的:没有真实的公路网、拥堵、大巴和航班时刻,参数没有按地区校准。
- 需求总量不随服务改善而增长:铁路变好只会让更多人选铁路,不会让本来不出行的人开始出行。
- 旅客没有记忆:不会因为昨天坐过、满意或晚点而改变今天的选择。
- 出行率中的三分之一是估计;各目的占比、弹性、时段曲线、预算和时间价值的分布都是平衡取值。
11. 数据来源
- 交通运输部《2024 年交通运输行业发展统计公报》:全社会跨区域人员流动量 645.92 亿人次,其中铁路 43.12 亿、公路 592.9 亿、水路 2.6 亿、民航 7.3 亿。
- 上海局集团公开报道:2024 年长三角铁路发送旅客 8.9 亿人次。
- 车型参数的来源见软件内各车型说明;地图数据见“地图与数据声明”。