REFERENCE ZONE · 18 FLOORS · 6 CARS

Destination dispatch buys capacity by spending wait and a promise.

The numbers below are a seeded cycle model of one office zone: 4 m floors, 1,620 people, cars boarding 16 at a time, jerk-limited flight, doors that overlap passenger transfer instead of stacking on it. It is not a vendor datasheet and not a full building simulation. Move the controls and the paragraph moves with them.

On this plant, two-button collective moves 10.2% of the zone population in five minutes. An office up-peak target is often 12–15%. Destination dispatch with 3 zones and a 4-floor cap moves 19.0% (+87% capacity) and cuts stops from 10.9 to 4.0 per trip. Average wait moves from 15 s to 34 s (+20 s), because each zone has fewer cars and the terminal walk is 11 s. Time to destination goes from 84 s to 67 s. Group supervisory matches collective here: every morning hall call is at the lobby, so sectoring by call floor has nothing to split.

GROK

Ask about these numbers

Grok reads this plant, the regime you have selected, and the flight, cost, and failure instruments as they are set. Move a control, then ask. It will not invent a figure that is not in the model.

01

Kinematics and the stop, not the brochure speed

Rest-to-rest time under jerk j, acceleration a, and rated speed v has three regimes. If the run is shorter than 2 a³ / j², acceleration never reaches a and time is 4 (d / 2j)^(1/3). If it reaches a but not v, peak speed solves v² + v (a² / j) − a d = 0 and time is 2v/a + 2a/j. If the run is long enough to cruise, t = d/v + v/a + a/j. Distance to rated speed is v²/(2a) + v a /(2j). At 6 m/s, 1.1 m/s² and 2 m/s³ that distance is about 18 m — more than four floors. A single 4 m floor never sees rated speed. The nameplate 8–12 m/s only exists on the express.

Door time dominates the short hop. Center-opening doors on a passenger car are about 1.9 s open and 2.9 s close; the close is the slow one because kinetic energy at the leading edge is limited. Dwell is a minimum hold, not an add-on to transfer: lobby time is open + max(3.2 s, passengers × 1.0 s) + close. A floor stop is open + max(dwell, alighters × 0.9 s) + close. Usable area, not the stamped kilogram rating, sets how many of those passengers fit. A 1,600 kg class car is on the order of 3.6 m² and 21 persons at 75 kg; traffic design fills about 80% of that. Past that, the door reopen from a blocked beam costs more than the last passenger was worth.

Conventional collective learns destinations only after boarding, so P passengers headed uniformly for N floors produce S = N (1 − ((N−1)/N)^P) stops and a highest reversal H = N − Σ (i/N)^P. On this plant the closed form at the current boarding load is 10.79 stops and reversal floor 17.37. The simulator’s collective morning trip is 10.88 stops. Destination dispatch cuts that entropy by refusing to mix arbitrary floors in one cabin: zones, plus a cap on distinct destinations. The flight bench is the microscope. The overhead line under it is the reason the cap exists.

Flight
4.4 s
Peak speed
1.82 m/s
Flight regime
Accel, no cruise
Distance to rated
18.0 m

1 single-floor hops plus doors: 12 s. One express of 1 floors plus one door: 12 s. Stop overhead 0 s.

02

Five-minute capacity, by regime

Handling capacity is HC5 = 300 × passengers per trip × cars / round-trip time, then divided by population. Interval is RTT / cars in the sub-fleet that can actually serve you. With deterministic spacing, mean wait is half that interval, plus the walk from a destination terminal when there is one. Turnstile dispatch keeps the same trips and cuts the walk from 11 s to 4 s, because the credential is read during a walk that was going to happen anyway. Up-peak supervisory does not beat collective: there is only one hall-call floor. Down-peak supervisory does beat collective, because the call floor is the information sectoring needs.

SystemWaitRideTo destHC%StopsRTTInterval
Two-button collective14.569.383.910.210.917429
Group supervisory14.569.383.910.210.917429
Destination dispatch34.532.266.719.04.09447
Turnstile dispatch27.532.259.719.04.09447

03

Four generations, morning numbers

The matrix is the morning up-peak of whatever the capacity bench is set to. Lunch and evening are in the bench, not here — they do not rank the same way. Door-cycle wear tracks stops per trip: fewer stops is the maintenance argument, and it is real only when the cap is actually binding.

GenerationDispatchUp-peak waitUp-peak to destHC vs collectiveStops / tripLobby
Two-button collectiveUp or down hall call. Destination is learned from car buttons after boarding.14.5 s83.9 s+0%10.9Jamb buttons. Queue forms on the first car that opens.
Group supervisoryNearest-car and dynamic sector on the call floor. No destination until the car call.14.5 s83.9 s+0%10.9Same jambs. Lanterns try to spread the queue.
Destination dispatchDestination at a lobby terminal before boarding. Immediate assignment, then a hard lock.34.5 s66.7 s+87%4.0Kiosks off the door line. Walking distance enters the wait.
Turnstile dispatchBadge resolves the destination from the access profile. Assignment happens in the security walk.27.5 s59.7 s+87%4.0The security lane is the terminal. No second stop to register.

04

The cost that is minimized

J(a) = Σᵢ (wW · Wi + wT · Ti + wE · Ei) + wL · [max(0, Wi + age − 60 s)]²

Wi is predicted wait, including delay to people not yet aboard. Ti is ride time, including delay imposed on passengers already committed. Ei is extra shaft travel and extra starts, not a utility bill. The squared term is how a 90-second waiter outranks several ordinary 20-second waits. The perception rule used in dispatch is wW ≥ 2 wT: standing still is counted at least twice rolling. Age in this lab is 20 s already spent before the optimizer runs, so the penalty starts when system wait exceeds 40 s.

Three solvers share that objective. A genetic algorithm keeps a population of assignment strings and scores them on a short horizon; it is truncated to the control cycle, typically well under half a second, so it returns a good feasible string rather than a proven optimum. Mixed-integer programming is exact on a single new call — binary x for “this passenger, this car” — and too slow if it is asked to reshuffle every locked passenger. Production code therefore prices one insertion per car and optionally checks the winner. A neural heuristic can rank the same cars in milliseconds from a state embedding; it does not get to skip the capacity, direction, and lock constraints. Those stay in a shield that can reject the network.

Call age 20 s · origin lobby · speed 6 m/s · a 1.1 · jerk 2.0 · floor pitch 4 m

  • A Floor 3, going up. Load 8. 5 · 9 · 12, then lobby.
  • B Lobby, doors open. Load 5. 14 · 15 · 16 locked.
  • C Floor 11, going down. Load 2. 7, then lobby.
  • D Floor 15, idle, empty. Load 0. none — deadhead first.

wW / wT = 2.00 · waiting counts at least twice riding

CarWaitTransitImposedEnergyPenaltyCost
A59.522.70.00378149.2
B · lowest0.021.20.00021.2
C28.222.70.00079.0
D17.922.70.015063.8

You assign, before the machine does

Shield — remove a car before the sum

Assignment · Open

Lowest cost still allowed is car B. Lock it, or take cars out, to see a later pick refused.

05

Why the assignment does not move

A turnstile credential or a terminal press is the only input. The destination is known before any door opens. A two-button hall call is not this event: it has a direction and no floor.

[Badge scan / floor selection at turnstile]
        -> [State vector: position, velocity, load, committed stops]
        -> [Cost matrix across cars still allowed to take the call]
        -> [Immediate target-car assignment]
        -> [Deterministic path lock]

Silent reassignment is cheaper on the cost function and worse in the building. The passenger is a body with an 8–20 s walk already aimed at a door. The dispatcher has no reliable bit that they saw a changed letter unless they are still at the glass. Security has already logged the car. And a reassignment changes every other cost, which is how a loaded lobby oscillates.

Regret of a locked, slightly wrong car is bounded by a headway. Regret of a missed boarding is a full extra round trip, plus a passenger who will not trust the next screen. The allowed exception is an out-of-service car before they board, announced where they can still see it.

06

The three peaks are different problems

Morning, about 85% up, 10% down, 5% interfloor. Dynamic zones and a destination cap are doing the work. Low-band cars reverse early and cycle fast. High-band cars express, then make a few local stops. A load-bypass near 80% of rated load stops the dispatcher adding another body to a car that will only reopen the doors and fail to shut. Express-boost clustering is the same idea in hardware: do not make a high-zone car behave like a local.

Lunch, about 40% up, 40% down, 20% interfloor. A collective car is a two-way collector. Reversal floors wander, and the next car at your floor may be committed the wrong way. The fix that matters is fleet split: some cars run up cohorts, some run down, and a repeated interfloor pair (the cafeteria, a conference floor) is a shuttle assignment rather than a surprise stop inside someone else’s trip. Destination knowledge helps the up half. It does little for the down half.

Evening, mostly down. Down already means the lobby, so naming the destination adds little. Collective runs every car the full height and they stack on the same calls. Supervisory and destination dispatch use the same sectors: a car owns a band and its interval is that band’s round trip. The few-percent stop trim on destination dispatch here is bookkeeping, not a second morning.

07

Ghosts, phantoms, access, sway

A ghost call is a hall button with nobody there. Destination entry plus a presence at the turnstile is a harder commitment than a jamb button, so ghosts fall. A phantom is the opposite error: the credential was real and the count was not. Followers through one swipe make the load cell and the assignment disagree. The car is heavier than the dispatcher believes, the next locked passenger cannot board, and the bypass that should have happened comes late. Reconciling door counts or the load cell against the assignment is the detection; scolding the screen is not.

An accessible call is a constraint, not a weight in the same units as everyone else. It wants a matching door hand, a reserved footprint on the order of 0.75 × 1.2 m, a dwell that does not close on the beam, and a car that was not packed to the cap. Stacking those calls onto one car looks efficient and then destroys that car’s round trip. Spread them.

Rope sway couples the building period to a rope’s natural period. Tuned-mass damping keeps cars running; past a building-acceleration threshold the controller steps speed down, then parks at the next floor. The policy here is a step function used so the express time can be computed, not a claim about a specific code clause.

Phantom bodies

Margin

One badge, extra people through the same door. The allocator counted one.

12 already aboard + 3 enter = 15. Rated 21. Margin remains.

Accessible call

Ordinary

Floor dwell becomes 8 s and one passenger space is reserved. Morning up-peak, this plant.

Off. Baseline dwell is 2.4 s.

Building sway

Rated

Representative speed policy, not one maker’s manual. Rise is the full zone.

Command 6.0 m/s. Express 72 m: 18.0 s rated, 18.0 s derated.

08

What the model will and will not say

  • Up-peak cars leave full. The destination cap limits distinct floors; it does not shrink the load when the lobby queue is deep.
  • Zones split the group evenly. A zone with one car has an interval equal to its own round trip.
  • Wait is half the relevant interval. No queueing formula beyond that, no bunching random variable except where a regime is defined as uncoordinated.
  • Down-peak collective runs every car the full height. Supervisory and destination dispatch use the same sectors. The 3% stop trim on destination dispatch is bookkeeping, and the text treats it that way.
  • Closed-form stops 10.79, reversal 17.37, population 1620.
Data contract for this regime
{
  "heightPx": 600,
  "regime": "up",
  "series": [
    {
      "regime": "up",
      "system": "collective",
      "averageWaitS": 14.5,
      "transitS": 69.3,
      "timeToDestinationS": 83.9,
      "handlingCapacityPct": 10.2,
      "stopsPerRoundTrip": 10.9,
      "roundTripS": 174.3,
      "intervalS": 29,
      "doorCyclesPerCarHour": 245.3
    },
    {
      "regime": "up",
      "system": "supervisory",
      "averageWaitS": 14.5,
      "transitS": 69.3,
      "timeToDestinationS": 83.9,
      "handlingCapacityPct": 10.2,
      "stopsPerRoundTrip": 10.9,
      "roundTripS": 174.3,
      "intervalS": 29,
      "doorCyclesPerCarHour": 245.3
    },
    {
      "regime": "up",
      "system": "dcs",
      "averageWaitS": 34.5,
      "transitS": 32.2,
      "timeToDestinationS": 66.7,
      "handlingCapacityPct": 19,
      "stopsPerRoundTrip": 4,
      "roundTripS": 93.9,
      "intervalS": 47,
      "doorCyclesPerCarHour": 192.9
    },
    {
      "regime": "up",
      "system": "turnstile",
      "averageWaitS": 27.5,
      "transitS": 32.2,
      "timeToDestinationS": 59.7,
      "handlingCapacityPct": 19,
      "stopsPerRoundTrip": 4,
      "roundTripS": 93.9,
      "intervalS": 47,
      "doorCyclesPerCarHour": 192.9
    }
  ]
}