摘要:出镇第一站是应用版图。本节按街区横扫多智能体系统的落地现场:交通街区的路口配时是分布式约束优化、仓储调度是合同网的实物展柜;电网街区的电力出清是拍卖机制的直接翻版,分布式能源交易还要请信任声誉坐镇;机器人街区的群集靠反应式规则叠出来、编队靠联合意图撑住。每站回答同样的问题:用了哪章的机制、真实世界逼你改了哪里、改完还剩哪些没解。
街区巡礼的规矩先立好:不许只看热闹。每个街区都带着同一张登记表进店——机制对号(这是第几章的哪套东西)、改造清单(真实世界逼出了哪些让步)、未解之难(哪里还在将就)。带着这张表你会发现,应用并不神秘:几乎没有从零发明的机制,全是旧零件在新约束下的重装。真实世界的新约束翻来覆去就几样——通信会丢会延迟、智能体参差不齐、约束每小时都在变、出错要有人担责。前八章的所有理论,都是在给这四样让步做准备。
路口是理解分布式协调的最小教具。把每个路口当作智能体,各相位绿灯时长是变量,相邻路口的排队长度互相牵制——同一绿波带里的路口应当错峰放行,冲突汇入方向应当错开。这正是一个分布式约束优化问题(第 4 章 DCOP 的变量、约束、目标三件套原封不动):全局目标是最小化全网排队,约束写在路口与路口的接壤处,没有任何一个路口看得见全网。工程上的让步是实时性:精确求解赶不上车流变化,于是普遍退到局部贪心加滚动重优化,每小时重算一次配时方案,方案之间做平滑过渡。改造清单上还有一条容易被忽视:路口智能体的"传感器"是地磁与视频,输入本身带噪声,DCOP 的约束要写成软约束带罚项,而不是课本里的硬约束。
同一条街的仓库里,合同网(第 4 章)找到了它最踏实的展柜。订单像雪片一样落进仓储系统,调度台(工头)逐单广播招标,自动搬运车(投标者)按自身位置、电量、在手任务报出标价,工头把单子授给标价最低者。下面把这个闭环压缩成可运行的微缩版,看标价怎么影响分配:
class Task: def __init__(self, tid, pick): self.id, self.pick = tid, pick class AGV: def __init__(self, name, pos, speed): self.name, self.pos, self.speed = name, pos, speed def bid(self, task, backlog): """标价 = 空驶时间 加 在手任务越多越挤的惩罚项。""" return abs(task.pick - self.pos) / self.speed + 1.5 * backlog def contract_net(agvs, tasks): """合同网闭环:工头逐单招标 车辆就地报价 最低价中标并记账。""" log, backlog = [], {a.name: 0 for a in agvs} for t in tasks: offers = [(a.bid(t, backlog[a.name]), a.name) for a in agvs] price, name = min(offers) backlog[name] += 1 log.append((t.id, name, round(price, 2))) return log, backlog agvs = [AGV("甲车", 2, 1.0), AGV("乙车", 9, 1.2), AGV("丙车", 5, 0.8)] tasks = [Task("拣选一", 8), Task("拣选二", 3), Task("拣选三", 6), Task("拣选四", 1)] for tid, who, price in contract_net(agvs, tasks)[0]: print(f"{tid} → {who} 标价 {price}")
四行输出值得逐行读:拣选一(取货点 8)由乙车以空间优势拿走;拣选二(取货点 3)甲车近在咫尺轻松拿下;到拣选三时,甲车已背上在手任务,惩罚项把它的标价顶了上去,订单流向清闲的丙车;拣选四甲车虽带着负载,架不住取货点就在家门口,仍以最低总价夺回。负载均衡不是谁安排的,是标价函数里那个惩罚项自动长出来的——同时距离逻辑依旧作数,两股力量在标价里讨价还价。同时也别神化它:逐单贪心不是全局最优(第 4 章的优化算法能算得更省),它换来的是可解释、可随时插单、单点故障不影响整体的三项工程美德。真实仓库还会在标价里加电量衰减与通道拥堵项,方法不变,加项而已。
电力是全网瞬时平衡的商品,天然适合市场机制。发电侧各机组报价竞价,交易所在每一段时间内按报价从低到高撮合,直到报量满足需求,最后一台入选机组的报价成为统一出清价,所有入选机组都按这个价结算。熟悉吗?这正是第 6 章拍卖与机制设计的翻版,而且统一价格的激励逻辑也一并搬了过来:压低报价不会改变能否入选(按报价排序),抬价则可能把自己挤出局,于是"按真实成本报价"成为占优策略的近似——机制设计者梦寐以求的说真话性质,在现货市场里成了日常。
bids = [("风电甲", 0.32, 50), ("光伏乙", 0.41, 30), ("水电丙", 0.55, 40), ("气电丁", 0.78, 30)] # 名称 报价 每度 容量 demand = 60 # 需求量 def clear(offers, demand): """按报价升序撮合 出清价 = 最后一台入选机组的报价。""" filled, price = 0, 0.0 for name, quote, cap in sorted(offers, key=lambda b: b[1]): if filled + cap >= demand: price = quote filled = demand break filled += cap return price price = clear(bids, demand) print(f"出清价 {price} 每度") for name, quote, cap in bids: if quote <= price: print(f"{name} 报 {quote} 结算 {price} 毛利 {round(price - quote, 2)}")
需求六十度电,风电与光伏的低价容量绰绰有余,出清价落在站在入选线上的光伏报价,水电气电出局。逐行输出毛利是理解机制的钥匙:入选机组一律按统一价结算,风电报价与出清价之间的差额,是它足够便宜而挣到的报酬。激励的压强集中在边际机组身上——光伏若抬价越过水电,报价排序垫底、直接出局;若压价低于真实成本,入选即亏损。两头一夹,"报真话"成了省心策略。至于既便宜又体量大的机组,抬高报价确实可能把出清价整体顶高——那是市场势力问题,电力监管盯的就是它,机制设计与市场监管从来是配套工程。负荷侧同样可以入场:需求响应让大用户在电紧时挂出"减载卖单",等于负荷也来投标,价格信号自动完成"谁让电"的分配,省去行政拉闸。至于户与户之间的分布式能源互济(屋顶光伏余电上门),那就要把第 5 章的信任声誉请进场——交易对手是陌生邻居,历史履约记录直接进报价权重,赖账者价格再低也无人应标。
机器人街区有两种气质相反的活法。一种是群集:搜索救援、环境监测里成百台小型机器人没有指挥官,每台只守几条反应式规则(第 2 章包容架构的血统)——与邻居保持距离、向邻居的平均航向看齐、向目标中心靠拢,群集图案从规则的迭代里涌现出来。它的美德是极其皮实:掉几台,图案皱一下又合拢;它的代价是没法直接派单——"你去搜东南象限"这种命令在纯群集里没有收件人。另一种是编队:无人机表演、协同搬运需要明确的角色与队形,联合意图与团队协作模型(第 4 章)上场——共享队形目标、互相承诺角色、失联时按约定重构。工程上常见的是两层混搭:编队层用团队模型定角色,单机层用反应式规则兜底防撞,一层管纪律、一层管保命。
工业街区与金融街区顺路一逛。柔性产线把每台机床当作提供加工服务的智能体,订单在产线上走合同网招标,品种切换时标价随模具更换成本浮动,产线自动长出"小批量也划算"的柔性;设备维护再叠一层学习(第 7 章)做故障预警,预告性地把检修任务插进空闲档期。供应链是一张跨企业的重复博弈网络:上游压价、下游砍单都是一次性博弈里的占优策略,长期关系把它们驯服成合作(第 6 章无名氏定理的生意版本),订单共享与违约记录就是这条街的信用档案。公共安全与应急救援场景则是本节三种机制的合订本:群集铺开搜索、编队建立通信中继、任务分配用拍卖——机制选型没有新东西,只有组合。
| 街区场景 | 用到的机制 | 出处 | 落地必须改造的部位 |
|---|---|---|---|
| 路口配时 | 分布式约束优化 | 第 4 章 | 硬约束改软约束,滚动重算代替精确解 |
| 仓储调度 | 合同网 | 第 4 章 | 标价加入负载、电量、拥堵项 |
| 电力出清 | 统一价格拍卖 | 第 6 章 | 申报容量约束、网络阻塞定价 |
| 分布式能源交易 | 信任声誉 | 第 5 章 | 履约记录进报价权重,结算引入担保 |
| 无人机表演 | 联合意图 | 第 4 章 | 失联重构预案、地面安全围栏 |
| 柔性产线 | 合同网加学习 | 第 4、7 章 | 换模成本进标价,维护任务预告插单 |
⚠️ 常见坑一:演示智能体太同质——沙盘里复制粘贴的智能体能力相同,真实街区里参差不齐,机制要在一开始就写进能力异构的假设。坑二:用中心化思维写分布式代码——留着一个"事实上知道一切"的调度台,扩展性灾难只是被推迟。坑三:跳过安全直接上线——街区系统个个都连着物理世界,第 8 章的认证与纵深防御不是选修课。
💡 关键直觉:应用创新的固定套路是旧机制加新约束——把新约束(噪声、延迟、异构、责任)显式写进模型与标价函数,而不是推倒机制重来。看到"全新算法"的落地案例,先找找它的合同网或拍卖骨架藏在哪。
这条街走下来,登记表填得满满当当:交通街抄走 DCOP 与合同网,电网街抄走拍卖与声誉,机器人街把反应式与团队模型叠成两层,工厂与金融街区展示同一套骨架的产业变奏。机制落地不是终点——街区越大越开放,新问题就从旧机制的接缝里冒出来:规模顶到天花板怎么办、黑盒怎么向公众交代、人给机器让渡多少权。这就是下一节镇议会的议程。