<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki2.lessokaji.com/index.php?action=history&amp;feed=atom&amp;title=%E5%9F%BA%E4%BA%8E%E7%BD%91%E7%BB%9C%E6%B5%81%E7%9A%84%E4%B8%9A%E5%8A%A1%E8%A7%84%E5%88%92%E5%99%A8</id>
	<title>基于网络流的业务规划器 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki2.lessokaji.com/index.php?action=history&amp;feed=atom&amp;title=%E5%9F%BA%E4%BA%8E%E7%BD%91%E7%BB%9C%E6%B5%81%E7%9A%84%E4%B8%9A%E5%8A%A1%E8%A7%84%E5%88%92%E5%99%A8"/>
	<link rel="alternate" type="text/html" href="https://wiki2.lessokaji.com/index.php?title=%E5%9F%BA%E4%BA%8E%E7%BD%91%E7%BB%9C%E6%B5%81%E7%9A%84%E4%B8%9A%E5%8A%A1%E8%A7%84%E5%88%92%E5%99%A8&amp;action=history"/>
	<updated>2026-05-16T16:11:12Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki2.lessokaji.com/index.php?title=%E5%9F%BA%E4%BA%8E%E7%BD%91%E7%BB%9C%E6%B5%81%E7%9A%84%E4%B8%9A%E5%8A%A1%E8%A7%84%E5%88%92%E5%99%A8&amp;diff=1023&amp;oldid=prev</id>
		<title>Artheru：​Initial bilingual draft (auto-published)</title>
		<link rel="alternate" type="text/html" href="https://wiki2.lessokaji.com/index.php?title=%E5%9F%BA%E4%BA%8E%E7%BD%91%E7%BB%9C%E6%B5%81%E7%9A%84%E4%B8%9A%E5%8A%A1%E8%A7%84%E5%88%92%E5%99%A8&amp;diff=1023&amp;oldid=prev"/>
		<updated>2026-05-16T11:43:01Z</updated>

		<summary type="html">&lt;p&gt;Initial bilingual draft (auto-published)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 概述 / Overview ==&lt;br /&gt;
&amp;quot;业务规划器&amp;quot;是调度链路最上层的决策器：把 ''业务任务列表''（订单、生产工单）映射成 ''AGV 任务集合''。基于网络流的实现把这一映射建模为 ''最大流 / 最小费用流''问题，让规划在大规模、多约束、多目标的场景下仍然高效收敛。&lt;br /&gt;
&lt;br /&gt;
The '''business planner''' is the topmost decision layer in the scheduling chain: it maps ''business jobs'' (orders, production work-orders) onto ''AGV tasks''. The network-flow implementation casts this as a ''max-flow / min-cost flow'' problem so planning stays tractable at large scale with many constraints and objectives.&lt;br /&gt;
&lt;br /&gt;
== 适用 / When applicable ==&lt;br /&gt;
* 货 ↔ AGV ↔ 工位 三方匹配（混型货物多）/ Goods ↔ AGV ↔ work-station three-way matching with mixed cargo types.&lt;br /&gt;
* 业务有明确成本指标（节拍、能耗、磨损分布）/ Business has clear cost metrics (cycle time, energy, wear distribution).&lt;br /&gt;
* 任务量 ≥ 100 / 小时 / Task volume ≥ 100 / hour.&lt;br /&gt;
&lt;br /&gt;
简单单线场景不需要网络流 —— 用 ''FIFO + 简单贪心''即可。&lt;br /&gt;
&lt;br /&gt;
For small linear deployments, FIFO + greedy is fine.&lt;br /&gt;
&lt;br /&gt;
== 网络流模型 / Network-flow model ==&lt;br /&gt;
最经典模型（最小费用最大流）：&lt;br /&gt;
&lt;br /&gt;
  S (源 / source)&lt;br /&gt;
   │&lt;br /&gt;
   ▼ cap=1 cost=0 (每个 AGV 一条供给边)&lt;br /&gt;
  ┌───────────────────────────────────┐&lt;br /&gt;
  │  Layer 1: AGV agent nodes          │&lt;br /&gt;
  └───────────────────────────────────┘&lt;br /&gt;
           │ cap=∞ cost=c_ij&lt;br /&gt;
           ▼ (c_ij = AGV_i 执行 task_j 的成本)&lt;br /&gt;
  ┌───────────────────────────────────┐&lt;br /&gt;
  │  Layer 2: Task nodes (each task = 1 node) │&lt;br /&gt;
  └───────────────────────────────────┘&lt;br /&gt;
           │ cap=1 cost=0&lt;br /&gt;
           ▼&lt;br /&gt;
  T (汇 / sink)&lt;br /&gt;
&lt;br /&gt;
求解 min-cost flow → 哪 AGV 做哪个任务的指派。&lt;br /&gt;
&lt;br /&gt;
Solve min-cost flow → which AGV does which task.&lt;br /&gt;
&lt;br /&gt;
成本 c_ij 通常包含：&lt;br /&gt;
The cost c_ij typically includes:&lt;br /&gt;
&lt;br /&gt;
* 当前位置到取货点的距离（行驶时间）/ distance from current position to pickup&lt;br /&gt;
* AGV 当前剩余电量与任务能耗的匹配度 / battery vs energy required&lt;br /&gt;
* 当前车型与货物匹配度（如：托盘叉车不能搬料筐）/ vehicle-cargo compatibility&lt;br /&gt;
* 公平性惩罚（让 ''每辆车工作量'' 均衡）/ workload-fairness penalty&lt;br /&gt;
* 时间窗（任务必须 N 秒内取走）/ time-window pressure&lt;br /&gt;
&lt;br /&gt;
== 求解器 / Solvers ==&lt;br /&gt;
SimpleCore 支持几种规模 / 方案：&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 规模 / Scale !! 算法 / Algorithm !! 复杂度 / Complexity&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; 200 任务 || SSP (Successive Shortest Paths) || O(F · (n + m) log n)&lt;br /&gt;
|-&lt;br /&gt;
| 200 – 2000 任务 || Cost-scaling / Network Simplex || O(n³)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt; 2000 任务 || LP 松弛 + 圆整 / LP relaxation + rounding || 近似 / Approximate&lt;br /&gt;
|-&lt;br /&gt;
| 任意 || 增量重规划 / Incremental replanning || 上次解 + δ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 增量重规划 / Incremental replanning ==&lt;br /&gt;
业务规划不能 ''每秒重头跑'' —— 上一次的解大部分可用。MDCS 采用 ''增量更新''：&lt;br /&gt;
* 新任务进入 → 加节点 + 增广路径。&lt;br /&gt;
* AGV 完成任务 → 移除节点 + 重路由其它任务。&lt;br /&gt;
* AGV 故障 → 标该供给边 cap=0，对其原任务重新分配。&lt;br /&gt;
&lt;br /&gt;
The business planner doesn't replan from scratch each second — most of the previous solution stays valid. MDCS uses incremental updates: add tasks via augmenting paths; remove completed tasks; on AGV failure, zero its supply edge and reassign its tasks.&lt;br /&gt;
&lt;br /&gt;
== 与调度内核的关系 / Relation to the scheduler kernel ==&lt;br /&gt;
业务规划器 ''上接''业务系统（WMS / ERP），''下接''调度内核（DPS / 流场）：&lt;br /&gt;
&lt;br /&gt;
  WMS / ERP&lt;br /&gt;
      │  订单 / 工单&lt;br /&gt;
      ▼&lt;br /&gt;
  [业务规划器 / Business planner]   ← 本页 / this page&lt;br /&gt;
      │  任务对 AGV 的指派&lt;br /&gt;
      ▼&lt;br /&gt;
  [调度内核 / Scheduler kernel]&lt;br /&gt;
   - DPS（[[Special:MyLanguage/DPS调度算法详解|DPS调度算法详解]]）&lt;br /&gt;
   - 流场（[[Special:MyLanguage/流场规划|流场规划]]）&lt;br /&gt;
      │  每辆车的具体路径&lt;br /&gt;
      ▼&lt;br /&gt;
  [Car.actualSendScript] → 单车执行&lt;br /&gt;
&lt;br /&gt;
业务规划只关心 ''谁做什么''，不关心具体路径与交管。&lt;br /&gt;
&lt;br /&gt;
The business planner only decides ''who does what''. Paths and traffic control are the scheduler kernel's job.&lt;br /&gt;
&lt;br /&gt;
== 调试与可视化 / Debug &amp;amp; visualisation ==&lt;br /&gt;
* 在 SimpleComposer 中开 ''Planner Trace''：每次规划的所有边 + cost + 求得流值都可视化。&lt;br /&gt;
* 增量重规划失败时，规划器会 ''回退到全量重跑''并打印 ''diff''。&lt;br /&gt;
* 性能采样：每 N 次规划记 ''解时间 + 任务数 + 改变的边数''。&lt;br /&gt;
&lt;br /&gt;
== 相关页面 / See also ==&lt;br /&gt;
* [[Special:MyLanguage/调度内核运行原理|调度内核运行原理]]&lt;br /&gt;
* [[Special:MyLanguage/DPS调度算法详解|DPS调度算法详解]]&lt;br /&gt;
* [[Special:MyLanguage/流场规划|流场规划]]&lt;br /&gt;
* [[Special:MyLanguage/Simple软件架构|Simple软件架构]]&lt;br /&gt;
* [[Special:MyLanguage/使用手册 - 车队管控|使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[Category:技术报告]]&lt;/div&gt;</summary>
		<author><name>Artheru</name></author>
	</entry>
</feed>