第二部分 · 民航:把人安全、便宜地送过距离
航空公司卖的不是航班,是一张网:枢纽辐射与 n² 难题
上一课我们看到,航空公司靠收益管理拼命把每个易逝的座位填满。可现在冒出一个结构性的难题:用有限的飞机,怎么把「几乎任何城市」连到「几乎任何城市」?而且——我的航班为什么偏偏要在某个我根本不想去的陌生城市转一次机?
留下的问题:票便宜了、座位要填满,可航空公司凭什么用有限的飞机连通「任何城市到任何城市」?为什么我的航班偏要绕到一个陌生城市去转机?
本课新增:读完你能说清:两两直飞的航线数大约是 n(n−1)/2,城市一多就爆炸(10 城 = 45 条,100 城 ≈ 5 000 条),而且每条线客流稀薄、飞机坐不满(回扣上一课的易逝座位);解法是枢纽辐射(hub-and-spoke)——大家先飞到一个枢纽(hub)再转出去,只要约 2N 条航线就连通全网,还能把多个流向的客人并到一架满载的飞机上(规模经济);代价是绕路与转机风险。网络,是把「可达」攻克下来的结构。
一、先把「两两直飞」的账算出来
设想最朴素的方案:每两个城市之间都开一条直飞航线,谁也不用转机。听上去最理想——可它有一个会爆炸的代价。
从 N 个城市里任意挑出两个来连一条线,组合数正好是 N × (N−1) ÷ 2,写成 n(n−1)/2。除以 2,是因为「北京到上海」和「上海到北京」算同一条航线。我们来代几个数字进去:
3 城 → 3 条 5 城 → 10 条 10 城 → 45 条 50 城 → 1 225 条 100 城 → 4 950 条
看出问题了吗?城市数 N 只翻了一倍(50 → 100),航线数却涨了约四倍(1 225 → 4 950)。这是因为 n(n−1)/2 大致正比于 N 的平方(∝ N²)——这就是标题里的「n² 难题」。城市越多,新增一个城市要补的直飞航线越多(第 N 个城市要连到前面所有 N−1 个),代价滚雪球。
一家想覆盖全国上百个城市的航空公司,按这个方案得维护近 5 000 条航线——每条都要排飞机、配机组、买时刻、做销售。光是组织这张网就足以压垮任何公司。「两两直飞」在数学上就走不通。
二、第二重代价:客流被摊薄,飞机坐不满
就算你财大气粗、真把 5 000 条航线全开了,还有一记更狠的暴击在等着——它直接回扣上一课。
把所有旅客的出行需求想成一锅水,倒进 5 000 条航线里,每条分到的就只剩薄薄一层。多数城市对之间,一天根本凑不出一架飞机的乘客。比如「兰州到三亚」这种小城市对,可能一天只有二三十个人想飞——你派一架 180 座的客机去,坐不到两成。
而上一课讲过:飞这一趟的固定成本极高(飞机、燃油、机组、起降费几乎与坐多少人无关),没卖出的座位价值永远归零。一架两成上座率的飞机,几乎注定亏本。于是这条稀薄的航线要么开不起来、要么票价贵得没人坐——「可达」依然没被真正攻克。
三、解法:枢纽辐射——少开线,还把客人并成满载航班
解法优雅得近乎狡猾:不让城市两两直连,而是让所有城市都先飞到一个共同的中转点,再从那里转出去。这个中转点叫枢纽(hub),从枢纽伸向各城市的航线叫辐条(spoke),整套结构就是枢纽辐射(hub-and-spoke)——像自行车轮:一个轴心,无数辐条。
先看航线数的暴跌。如果只设一个枢纽,每个城市只需一条线连到枢纽,N 个城市就只要约 N 条这样的辐条(按往返算大约 2N,看你怎么数单双向)。对比一下:
100 城:两两直飞 ≈ 4 950 条 枢纽辐射 ≈ 100 条(约 2N)
从近 5 000 条压到约 100 条——少了一个数量级还多。任何两个城市之间,都能靠「城市 A → 枢纽 → 城市 B」两段拼出来,整张网用极少的航线就连通了。这是枢纽的第一重红利:结构上的省。
但真正精妙的是第二重红利:经济上的并。回到「兰州到三亚」那二三十个人——直飞撑不起一架飞机。可在枢纽辐射下,他们先飞到枢纽(比如北京)。在「兰州 → 北京」这一段上,跟他们同机的还有要去上海的、去广州的、去东京的所有兰州旅客;到了北京枢纽,全国各地想去三亚的人又汇到一起,并成「北京 → 三亚」这一架满载的飞机。
顺带说一句:枢纽的航线数虽然按 N 线性增长(加一个城市只需加一条辐条),而两两直飞按 N² 增长。城市越多,两种方案的差距越悬殊——这正是下面那个小部件要让你亲手拖出来的对比。
四、诚实地算枢纽的代价
枢纽辐射不是免费的午餐。它把「省航线、填满座」换来了,但同时背上三笔新账,旅客和航空公司都得替它买单。
代价一:绕路。从兰州去三亚,地理上明明可以直线南下,现在却要先往北飞到北京、再折回南方——多飞了里程、多花了时间。枢纽把网络的总航线数压低了,代价是抬高了单个旅客的旅程长度。这就是你「为什么要在陌生城市转机」的答案:你绕的那一程,正是整张网得以用极少航线连通的代价。
代价二:转机风险。直飞只有一段,要么准点要么晚点;中转有两段,中间还夹着一次换乘。前一段晚到一点,就可能赶不上后一段——行李掉队、旅客滞留。一架飞机在枢纽晚点,会拖累所有等它转机的人(这种延误如何在枢纽级联放大,正是下一课机场要讲的)。
代价三:枢纽拥堵。把全网客流都灌进一个枢纽,意味着那个机场要在「中转潮」的几个时间窗口里,同时吞吐成百上千架飞机和几万旅客。枢纽因此必须造得极大、极复杂——也极容易在天气或故障时成为全网的单点瓶颈。
五、用这套逻辑,一口气解释三件事
一旦你把航空公司看成「卖的不是单个航班,而是一张连通的网」,许多原本费解的现象立刻全部讲通了。
① 为什么有航空联盟(alliance)。星空联盟、寰宇一家、天合联盟——这些联盟的本质,是让各家航空公司的枢纽互相拼接成一张更大的网。单独一家航司的枢纽只能连它自己飞的城市;几家把枢纽接起来,你就能用一张票,从一家的辐条飞到它的枢纽,再换乘伙伴的航班飞到另一个大洲。联盟卖的,是把多张网缝成一张网带来的「可达」。
② 为什么有代码共享(codeshare)。同一个航班,在两家公司的系统里挂着两个不同的航班号——这就是代码共享。它让 A 公司可以把 B 公司实际执飞的航段,当成自己网络的一条辐条来卖。本质上还是用合作扩大自己那张网的连通范围,而不必真的去飞那条线。
③ 为什么枢纽城市那么大。亚特兰大、迪拜、北京这些枢纽机场之所以巨大,不是因为当地人特别爱飞,而是因为它们承担着全网的中转客流——大量旅客只是路过、换乘,根本不进城。机场的规模,量的是它在网络里的枢纽地位,而不只是城市本身的人口。迪拜地处欧亚非交汇点,把自己设计成连接三大洲的中转枢纽,机场吞吐量远超本地居民的出行需求。
这三件事看似无关,背后是同一个引擎:航空公司经营的是网络,而网络是把「可达」攻克下来的结构。上一课用收益管理攻克了「可负担」,这一课用枢纽网络攻克了「可达」——两块拼图,让一张几百块的机票,能把你送到地球上几乎任何一座城市。
常见误解
- 误解:枢纽辐射永远比点对点更优,是更先进的模式。 (澄清:各有适用。枢纽是给稀薄客流并流用的;在客流密集、城市对自己就坐得满飞机的短程市场,点对点(西南、瑞安)反而更省、更快、更省心。判断只看这条城市对撑不撑得起一架满载飞机。)
- 误解:我的航班绕去陌生城市转机,是航空公司排班排错了。 (澄清:那一程绕路正是枢纽网络的设计代价——它换来了用极少航线连通全网、并把你那班稀薄客流并成满载航班。绕路是结构的特性,不是 bug。)
- 误解:航线数和城市数大致成正比,多覆盖几个城市无所谓。 (澄清:两两直飞的航线数按 n(n−1)/2 ∝ N² 爆炸——50 城 1 225 条,100 城近 5 000 条;翻倍城市,航线翻约四倍。枢纽才把它压回约 2N 的线性增长。)
- 误解:枢纽机场大,是因为那座城市的人特别爱旅行。 (澄清:枢纽的规模主要由全网中转客流决定,很多旅客只是过境换乘、不进城。迪拜、亚特兰大的体量,量的是网络地位,不是本地人口。)