# 当前最新版本与历史入口

主入口始终进入最新版本。旧模型统一在“以前的版本”目录选择。最新版已恢复航程载荷、装卸效率、索降和编队专题、敏感性与扰动试验；专题仅针对所选分支。详见 [功能清单](version-policy.md)。

# 最小分支网络

新增 branch/ 入口：A→C→D/E→B，独立航段 FIFO、随机容量、目标机索降与经济。详见 [分支模型说明](branch-model.md)。原链式入口保留。

# 2026-09-30 逐班容量更新

源码包已包含逐班容量模块、四/五站交互与核验测试。详见 [逐班模型说明](batch-capacity-model.md)。默认变化空位示例属于演示假设；等待统计不是长期 SLA 保证。

# 编队物流仿真实验室

2026-09-30 多目的地与五站更新：主控制台可切换四站 A→C→D→B 与五站 A→C→D→E→B，并逐架设置最终目的地 D/E/B。共享同一航段的飞机共用 FIFO 空位；到达各自终点后退出后续队列。动画、CSV、逐架时刻表、三站队列曲线及两幅分区图使用同一排程，五站增加的 E 点等待计入目标机耗能与时效成本。经济优化仍针对去 B 的目标机，背景飞机仅统计完成架数；E 新货、返航与支线尚未建模。[模型说明](multi-destination-model.md)。新增核验：`node dashboard/tests/test_destinations.mjs`。

2026-09-29 备用电量更新：四站主模型新增 `energyReserve`（kWh），优化时要求计划能耗不超过 `battery - energyReserve`，并对直飞基准施加同一备用策略。随机扰动试验仍按 `battery` 物理上限判断实际任务是否可执行，平均净收益只计算可抵达且未超电量的试验。默认备用 0；当前默认情景设置 0.2 kWh 备用后，最优计划净收益由约 118.80 降至 97.92，默认 100 次扰动中的电量内可执行次数从 0 次增至 92 次。该频率受假设的扰动幅度、班次、种子及试验次数支配，不可作为现实故障概率。

2026-09-29 四站随机扰动更新：四站 FIFO 专题新增可复现的随机晚到、两站作业超时、C→D 额外时间和班次取消试验。每次按严格 FIFO 从 C 重新排到 D；当前最优货量保持固定，以暴露原计划在扰动下的脆弱性。单次示例列逐机时刻；多次试验分别报告抵达 B、电量内可执行、晚点和仅对可执行试验计算的平均净收益。随机分布是用户设置的情景假设，不代表现实故障率；C→D 额外时间的能量暂按盘旋率估计。

2026-09-29 四站专题迁移：主页面直接提供四站索降可行/盈利分区、四站编队与单飞距离×载重分区、C/D FIFO 队列与延迟对照。三个专题随已应用四站参数自动重算，并在 Worker 中运行。索降图扫描 dC、lC，每格按货量步长优化 lD；编队/单飞图保持当前 dC、lC、lD 一致，按比例缩放三航段并扫描 q，单飞完成各站作业即可离开。两图均为 15×15 离散扫描，不是连续最优边界。原三站专题完整保存在 three/，主页面不再以旧专题链接代替四站分析。测试：node dashboard/tests/test_four_studies.mjs。

2026-09-29 四站主模板：`public/drone-logistics/index.html` 展示 A→C→D→B 四站任务控制台，计算文件为 `four_model.mjs`，界面文件为 `four.js` 与 `four.css`。C 卸 A→C 货 dC、装 C→D 货 lC；D 卸 lC、装 D→B 货 lD，固定货 q 全程搭载。C 的实际发车时刻决定 D 的到达，再由 D 的 FIFO 队列决定后续编队；优化对 dC、lC、lD 作离散枚举。四站主模板保留原文 110 km 航程约束、参考载荷曲线与设备质量扣减、绞盘容量、可选高度相关索降计时、两站共享空域开关和按四货组拆分的收费、时效及处理成本。所有未实测的能耗、电价、时间与收费仍是可改情景参数，不能视为实测经济结论。旧版 A→C→B 三站完整模板保存在 `public/drone-logistics/three/`，其独立分区研究工具仍按三站口径运行。独立的传播推演在 `public/drone-logistics/network/`。运行 `node dashboard/tests/test_four.mjs` 可检查四站求解与能耗口径。

2026-09-26 逐机资源约束更新：时间片面板新增「每架可用电池 / kWh」「累计空中时长上限 / min」「每架最多等几片」「每片机场服务能力 / 架」，四项填 0 表示本情景不施加该约束，默认数字不变。等待上限在 FIFO 下等价于聚合约束 `carried_t ≤ 最近 W 片到达数之和`，因此动态规划状态仍只有一个维度；程序另外用 FIFO 队列独立复核实际最长等待，并给出「加与不加这些上限」的同题对照。公式与边界见 `timing-model.md`。

2026-09-26 索降作业更新：C 点作业可切换为三段计时（接近/转换 → 投送 T_drop(d,h) → 地面换货 T_exchange(d,l) → 取货 T_pickup(l,h) → 退出），并可启用绞盘能力上限与索降改装质量预算。投送高度律由公开图表的 (2 kg, 20 m)=41 s 与 (2 kg, 30 m)=62 s 两点定出；取货、地面换货、接近与退出时间均无公开数据，是情景假设。新增独立的「可卸 / 可换 / 盈利分区」面板，逐格给出最优决策与满额、盈亏阈值；公式与来源见 `winch-model.md`。两个开关默认关闭，不改变既有数字。

2026-09-25 分货组更新：常规仓 q（A→B）、可拆卸仓 d（A→C）与 l（C→B）分别配置类型、数量/需求上限、每 kg 收费、时效系数和处理成本。类型预设只覆盖所属组。自动求解与分项经济账本使用同一目标，公式和旧版差异见 `cargo-model.md`，取代下文历史经济口径。直飞基准仅运 q，不会从 A 运走实际在 C 起运的 l。

新增“索降装卸占用机场共享空域”开关：取消勾选后，按机场外独立卸货区情景计算，不再使用机场共享空域窗口 H 和窗口许可 a；仍检查 W、能量、货仓与载荷。默认保留共享模式。假设与约束见 `airspace-model.md`。

新增货物类型（普通件、时效件、医疗/高价值件）和经济性面板。类型只提供可编辑的初始收费、时效价值、装卸成本假设；展开“作业、能源与收益假设”可修改。面板将中转方案与直飞 A→B 单飞基准的收费、时间损失、能耗、电费、固定成本和装卸成本合并为每架次净经济效益。直飞距离、直飞载重能耗、直飞固定成本也可修改。所有数字均为研究原型假设，不能替代真实报价、能源测试或运营成本。

2026-09-24 更新：增加与 v2.3 一致的 follower / 轮换 / 领航折扣，可调整 η、m、气动能耗占比 χ。C→B 的巡航节能实际进入载重增量能耗、可用电量余量与优化目标。公式与基准见 `formation-model.md`，它取代下文旧版关于“不添加编队节能”的说明。所有新增能耗系数和 η 默认值仍为演示假设。

双击 `启动仿真.cmd`，打开 http://127.0.0.1:8766/ 。启动脚本显式使用 8766，避免旧标签页与服务端口不一致。当前 8765 服务也保留，不中断已有页面。首次运行使用当前电脑已有 Python，不下载其他软件。服务仅监听本机，不向公网发布；关闭网页后服务仍可复用。

参数错误或服务连接失败时不清空上一次结果：页面顶部显示具体原因，并标明“新参数未应用”。空值、非正速度、编队参数越界等在提交前提示对应字段；后台航程/载荷超限同样允许修改后重试。成功重算后自动清除提示。画面保留旧方案时，动画和 CSV 仍对应上一次成功计算的参数。

参数修改后点击“计算并应用方案”。自动优化复用上一版有理数顶点枚举求解器；手动模式会检查超限，超限时禁止播放。支持暂停、变速、拖动时间轴、跳到下一阶段和导出时间序列 CSV。手机宽度下参数区移动到画面下方。

动画是模型时间轴，不连接实机。C 点阶段按照假设的固定作业时间一半放仓、一半收仓，加上每 kg 装卸时间进行拆分。机械换货流程待验证。等待窗口 W 不含单列的入队缓冲；H 是假设已安排的兼容连续窗口。固定时间为 0 或单位装卸时间为 0 时，对应操作瞬间完成。

图中货物质量是随装卸进度变化的任务货物量，不刻画箱体支撑、吊索受力和飞行器重心。额外能量以三段分配展示：a_d·d 在 A→C 累积，e₀ 在 C 固定操作累积，γa_l·l 在 C→B 累积。这只是总量模型的可视化分配，不是物理功率模型。没有显示真实电池 SOC。另显示本机 C→B 同载重单飞与编队巡航能耗，以及累计编队节能。

载荷筛选：总距离 R≤110 km，名义上限取 min(20,37.5−R/4) kg，再扣假设的新增设备质量，与用户输入净载荷上限取较小值。该扩展用于原文参数范围筛选，不能证明新增悬停或改装任务的续航。编队时刻、位置均视为预定；只有声明的参数公式带来节能，图示队形不额外改变折扣。

运行检验：`python -m unittest discover -s tests -v`。后台代码 `server.py`，界面代码位于 `static/`，原求解器在上一级 `solve.py`。

2026-09-29 新增 C 点 FIFO 编队衔接算例。用户可输入逐架到达时刻、定时发车表和每班空位；同到达时刻按输入次序先到先服务。第 3 架为目标飞机，实际等待减去入编缓冲成为索降作业窗口 W。等待盘旋能耗暂按 `cruise_empty × speed × wait/60` 估计，同时扣除新增电量余量 G；将等待电费从中转净收益中扣除。目标飞机分别在 η=5%、10%、15% 下调用原 d,l 求解器。其余飞机只占位，不优化载货。页面并列给出样本平均等待与 v2.4 的单位泊松到达近似，后者只作机制对照，不能用此小样本标定。运行 `node tests/test_fifo.mjs` 检查位次分配及三档求解。

2026-09-29 续补：目标飞机现在可选择让出当前可搭的编队位次，排到当时队列末尾；逐个候选班次重新分配其余飞机，并以计入等待电费的中转净收益选择目标班次。主任务动画同步应用所选班次的等待窗口、装卸量和节能参数，在 C 点显示等待队列、下一班发车及飞机离队运动。作业时长始终受该班次实际窗口约束，因此不会画出已错过的班次。尚未加入随机故障或异质优先级；等待盘旋能耗仍为演示估计。

## A→C→D→B 双中转点延迟传播仿真

在 `network/` 有独立页面。每架飞机有固定身份与计划到达 C 的时刻；C 点按到达先后排队，作业未完成的队首机阻止后机越过（严格 FIFO，可能留下空位）。C 实际离开时刻加 C→D 飞行时间与额外飞行延迟，得到 D 实际到达时刻；D 再按照本点到达、作业完成、编队时刻和空位进行同样排队，最终得到 B 到达时刻。所有时间都是同一仿真时钟上的分钟；不再给 D 点独立生成与上游无关的到达流。

页面始终计算一条无扰动基线，并用给定随机种子计算扰动情景。扰动分别作用于 C 到达、C 作业、C→D 飞行、D 作业和 C/D 编队取消。种子、计划和参数相同则逐架结果相同；扰动上限和取消概率均可设为 0，得到确定性情景。默认概率只是机制演示，不是事故或晚点数据估计。每架显示 C/D 出发、滞留、B 到达以及相对基线晚点；动画逐架读取同一条仿真结果，不使用另造的演示轨迹。未在给定末班前登编的飞机记为未送达，而不是凭空增开班次。

该页用于检查 v2.4 的独立稳态队列近似可能遗漏的跨站延迟传播。它尚未对多架飞机的 d,l 或航线做联合优化，也不把随机事件概率解释为真实风险。检验命令：`node tests/test_network.mjs`；浏览器页面检查见 `tests/check_network_ui.html`。
