AALAYARESCUE LAB← Rescue Lab

ZERO × ALAYA · Road repair ordering

Who gets reconnected first, worked out in the open.

After the typhoon, route 竹60 into Jianshi township and its branches are cut by landslides, rockfalls, washed-out roadbeds and damaged bridges. Excavators, loaders, dump trucks and the other repair machines leave the forward command post at Neiwan; each fleet is limited, a machine works one cut at a time, and none can pass a cut that is still closed. A drone maps every cut before work starts (orthophoto and 3D model, to estimate the volume); every branch road has lost mobile coverage, so a temporary comms node goes up first to give the crew voice and the command post live video. On the real road tree and settlement positions, this page works out the repair order and the moment each settlement gets its road back, and sets it beside the usual whiteboard rules.

  • Damage is assumed; roads and settlements are real
  • Population and medical figures are illustrative
  • Work hours and the machines each kind of cut needs are illustrative
  • Same seed, same result for anyone who reruns it
  • Road data © OpenStreetMap contributors, ODbL
Excavators2
Hydraulic breakers1
Loaders2
Dump trucks4
Rollers1
Cranes + steel bridge1
Survey drones2
Comms teams2

Everything below is computed live in your browser; any change recomputes it. seed 36

Recommended order

Weighted average time to reconnection

8 h 22 min

✓ Proven: no better order exists10 orders simulated in full and 269 branches ruled out by their lower bound; no remaining order can do better.The search started from the whiteboard rule “Near to far” and went on from there.Every settlement with medical cases reconnected: T+21:12 · Last settlement reconnected: T+21:12
Damage map and settlementsJianshi, Hsinchu County · Neiwan → Smangus / Cinsbu
120 中山街二段竹60竹62 梅花道路竹61竹60 錦屏道路竹60 錦屏後山產業道路竹60 秀巒道路竹60-1 玉峰道路竹60 秀巒道路竹60 秀巒道路竹60 秀巒道路竹60竹60 新光道路司馬庫斯產業道路竹60 / 竹62 forkNaluo turn-offYufeng road forkSmangus road fork尖石 · pop. 1200 · 2 medical casesJianshiT+04:23梅花 · pop. 650 · 1 medical caseMeihuaT+08:08錦屏 · pop. 380JinpingT+18:29那羅 · pop. 520 · 1 medical caseNaluoT+04:23宇老 · pop. 90YulaoT+04:23田埔 · pop. 180TianpuT+04:23玉峰 · pop. 260 · 1 medical caseYufengT+14:00秀巒 · pop. 420 · 2 medical casesXiuluanT+04:23泰崗 · pop. 150TaigangT+17:28新光 · pop. 170 · 1 medical caseXinguangT+21:12鎮西堡 · pop. 120CinsbuT+21:12司馬庫斯 · pop. 180 · 1 medical caseSmangusT+09:14NeiwanCommand postD1 · Washed-out roadbed · 4 h 13 min · T+00:10–T+04:231D2 · Landslide · 3 h 36 min · T+14:53–T+18:297D3 · Landslide · 3 h 28 min · T+04:40–T+08:082D4 · Rockfall · 1 h 4 min · T+08:55–T+09:594D5 · Landslide · 3 h 53 min · T+10:07–T+14:005D6 · Damaged bridge · 7 h 51 min · T+09:37–T+17:286D7 · Landslide · 3 h 35 min · T+17:37–T+21:128D8 · Landslide · 2 h 54 min · T+06:20–T+09:143N5 km
  • Forward command post (Neiwan)
  • Settlement
  • Medical cases waiting
  • Fork
  • Cut (number = order)

The white lines on the imagery are the road tree from Neiwan into Jianshi (竹60, 竹61, 竹62, 竹60-1 and the Smangus road). Dots are settlements (orange ring = medical cases waiting); orange markers are cuts numbered in repair order, square markers are damaged bridges.

Source: assumed damage, seed 36 · 2 excavators, 1 breaker, 2 loaders, 4 trucks, 1 roller, 1 bridge crane · 2 drones · 25 km/h on mountain roads · computed live in the browser・2 comms teams · Roads and settlements: OpenStreetMap (data as of 2026-10-24) © OpenStreetMap contributors, ODbL · Imagery: Esri World Imagery (Esri, Vantor, Earthstar Geographics, and the GIS User Community)

Schedule: who, when, where
OrderCutTypeWhereMachinesMappedStartOpenReconnects
1D1Washed-out roadbed120 中山街二段 · 1.3 km from NeiwanExcavator 1, Truck 1+2, Roller 1T+00:10T+00:10T+04:23Jianshi, Naluo, Yulao, Tianpu, Xiuluan
2D3Landslide竹62 梅花道路 · 8.5 km from NeiwanExcavator 2, Loader 1, Truck 3+4T+00:16T+04:40T+08:08Meihua
3D8Landslide司馬庫斯產業道路 · 50.2 km from NeiwanExcavator 1, Loader 2, Truck 1+2T+00:50T+06:20T+09:14Smangus
4D4Rockfall竹60-1 玉峰道路 · 25.6 km from NeiwanBreaker 1, Loader 1T+00:46T+08:55T+09:59—
5D5Landslide竹60-1 玉峰道路 · 29.0 km from NeiwanExcavator 2, Loader 1, Truck 3+4T+01:18T+10:07T+14:00Yufeng
6D6Damaged bridge竹60 · 42.1 km from NeiwanExcavator 1, Bridge crane 1T+01:29T+09:37T+17:28Taigang
7D2Landslide竹61 · 7.9 km from NeiwanExcavator 2, Loader 2, Truck 1+2T+01:34T+14:53T+18:29Jinping
8D7Landslide竹60 新光道路 · 46.1 km from NeiwanExcavator 1, Loader 1, Truck 3+4T+02:09T+17:37T+21:12Xinguang, Cinsbu

Dispatch from this table. A cut starts only when every machine it needs is on site; start times include hauling the machines from their previous cut (25 km/h on mountain roads), the wait for the cuts before it, and the wait for the drone survey.

Source: assumed damage, seed 36 · 2 excavators, 1 breaker, 2 loaders, 4 trucks, 1 roller, 1 bridge crane · 2 drones · 25 km/h on mountain roads · computed live in the browser・2 comms teams

Expected reconnection per settlement
  • Jianshipop. 1200 · 2 medical cases
    T+04:23D1
  • Xiuluanpop. 420 · 2 medical cases
    T+04:23D1
  • Naluopop. 520 · 1 medical case
    T+04:23D1
  • Tianpupop. 180
    T+04:23D1
  • Yulaopop. 90
    T+04:23D1
  • Meihuapop. 650 · 1 medical case
    T+08:08D3
  • Smanguspop. 180 · 1 medical case
    T+09:14D8
  • Yufengpop. 260 · 1 medical case
    T+14:00D5
  • Taigangpop. 150
    T+17:28D6
  • Jinpingpop. 380
    T+18:29D2
  • Xinguangpop. 170 · 1 medical case
    T+21:12D7
  • Cinsbupop. 120
    T+21:12D7

Weight = population ÷ 100 + medical cases × 10. The weighted average above is these times averaged by weight.

Machine timeline
048121620hoursSurvey drone 1D1 · T+00:00–T+00:10D8 · T+00:10–T+00:50D8D6 · T+00:50–T+01:29D7 · T+01:29–T+02:09D7Survey drone 2D3 · T+00:00–T+00:16D4 · T+00:16–T+00:46D5 · T+00:46–T+01:18D2 · T+01:18–T+01:34Comms 1竹62 · T+00:00–T+00:24竹60-1 · T+00:24–T+00:55竹61 · T+00:55–T+01:19Comms 2司馬庫斯產業道路 · T+00:00–T+00:38竹60 · T+00:38–T+01:14Excavator 1D1 · T+00:10–T+04:23D1D8 · T+06:20–T+09:14D8D6 · T+09:37–T+17:28D6D7 · T+17:37–T+21:12D7Excavator 2D3 · T+04:40–T+08:08D3D5 · T+10:07–T+14:00D5D2 · T+14:53–T+18:29D2Breaker 1D4 · T+08:55–T+09:59D4Loader 1D3 · T+04:40–T+08:08D3D4 · T+08:55–T+09:59D4D5 · T+10:07–T+14:00D5D7 · T+17:37–T+21:12D7Loader 2D8 · T+06:20–T+09:14D8D2 · T+14:53–T+18:29D2Truck 1D1 · T+00:10–T+04:23D1D8 · T+06:20–T+09:14D8D2 · T+14:53–T+18:29D2Truck 2D1 · T+00:10–T+04:23D1D8 · T+06:20–T+09:14D8D2 · T+14:53–T+18:29D2Truck 3D3 · T+04:40–T+08:08D3D5 · T+10:07–T+14:00D5D7 · T+17:37–T+21:12D7Truck 4D3 · T+04:40–T+08:08D3D5 · T+10:07–T+14:00D5D7 · T+17:37–T+21:12D7Roller 1D1 · T+00:10–T+04:23D1Bridge crane 1D6 · T+09:37–T+17:28D6All reconnected T+21:12

One row per drone, comms team or machine. Drones map the damage and comms teams put a node on each road first; work starts when the whole set of machines is on site. Gaps are waits for the cut ahead, for the survey, or for the other machines the same cut needs.

Source: assumed damage, seed 36 · 2 excavators, 1 breaker, 2 loaders, 4 trucks, 1 roller, 1 bridge crane · 2 drones · 25 km/h on mountain roads · computed live in the browser・2 comms teams

ZERO on top, the tools it calls underneath

In a disaster operations room ZERO does not “think up” an order. It hands the question to tools that can compute it and lays out three courses of action with their numbers and sources for a person to approve. This page is the real screen of one of those tools: road repair ordering.

ZERO

Same damage map, same people, three orderings. ZERO does not choose for the commander; it makes the difference plain.

Intelligence → cut list

Simulated input on this page

Drone imagery, reports from village heads and residents, highway bureau reports: de-duplicated, with sources and uncertainty marked.

Road network and settlements

Computed on this page

OpenStreetMap road tree, settlement positions and distances; population and medical figures are illustrative here and come from household and clinic records in production.

Drone survey scheduling

Computed on this page

Every cut is looked at before work starts; flight time from straight-line distance, assigned to the first free drone.

Repair ordering engine

Computed on this page

The weighted-fastest order among all dispatch orders that respect the road, with its proof and comparisons.

Three courses of action → approval

Computed on this page

Fastest, medical cases first, near to far, each with numbers; dispatched only after the commander approves.

Field reports → recompute

Being integrated

Teams report progress and new cuts, the whole table recomputes; the commander sees the difference, not a fresh start.

Three courses of action (for approval)

Course of actionWeighted averageMedical settlements all reconnectedLast reconnected
COA 1: weighted fastest (recommended)8 h 22 minT+21:12T+21:12
COA 2: medical cases first9 h 35 min · 1 h 13 min slower (+15%)T+21:03T+23:06
COA 3: near to far9 h 6 min · 44 min slower (+9%)T+21:15T+21:15

This page produces courses of action only; dispatch needs the commander's approval.

Against the whiteboard rules

Same damage map, same crews, ordered the way a staff would on a whiteboard. Then 2,000 random orders that respect the road: the best order should sit at the far left with nothing beating it.

  • Best order (proven)
    8 h 22 min
  • Near to farFrom Neiwan into the hills, each cut as it comes
    9 h 6 min44 min slower (+9%)
  • Most people firstThe cut that reconnects the most people first
    9 h 16 min54 min slower (+11%)
  • Medical cases firstThe cuts on the way to medical cases first
    9 h 35 min1 h 13 min slower (+15%)
  • Trunk firstOpen all of route 竹60 first, then the branches
    12 h 15 min3 h 53 min slower (+46%)

Weighted average time of 2,000 random orders

Computing…

Source: assumed damage, seed 36 · 2 excavators, 1 breaker, 2 loaders, 4 trucks, 1 roller, 1 bridge crane · 2 drones · 25 km/h on mountain roads · computed live in the browser・2 comms teams · Comparison: four whiteboard rules and 2,000 random orders, same simulation

Where adding an excavator stops paying

Same damage map and the other fleets unchanged, one to five excavators, each point solved to the best. A spare machine can stand down, so the time never rises when machines are added.

Computing…

Does the recommendation survive a change of assumptions?

Work hours, fleet sizes and drone count are assumptions, so each is changed on its own to see whether the order changes and how the original order fares.

Computing…

Method and limits

  • The road tree comes from OpenStreetMap (extracted 2026-10-24): shortest paths from Neiwan to each settlement, split at settlements and forks, simplified to 8 m. Imagery is Esri World Imagery.
  • Cuts, work hours, fleet sizes, population and medical figures are assumed; a rerun changes only those, never the roads or the settlements.
  • Rules: a cut is mapped by a drone before work starts (orthophoto and 3D, to estimate the volume); beyond the command post's own road there is no mobile coverage, so each road (竹60, 竹61, 竹62, 竹60-1, the Smangus road) needs a temporary node — tethered relay drone, portable base station or satellite terminal — set up by a comms team before its cuts are worked, with live video back to the command post; each cut needs a set of machines on site together (landslide: excavator + loader + 2 dump trucks; rockfall: hydraulic breaker + loader; washed-out roadbed: excavator + 2 dump trucks + roller; damaged bridge: crane with a steel bridge set + excavator for the abutments), and a machine works one cut at a time; machines cannot pass a closed cut, so cuts nearer Neiwan open first.
  • Objective: the weighted sum of reconnection times (weight = population ÷ 100 + medical cases × 10), ties broken by the last reconnection.
  • Solver: branch and bound over every dispatch order that respects the road, with a fixed dispatch rule (each kind of machine sent from the unit that can be on site earliest). “Proven” means no better order under that rule; another rule means another run.
  • The whiteboard rules, 2,000 random orders, the excavator sweep and the sensitivity cases all run through the same simulation.