Destinations
Viable (≥20%)
Evacuee groups
Total evacuees
Mean MC success
Uncertainty
GK blocked sites
Operational
Partial
Blocked
Unknown
★ = gatekeeper factor (blocked → hard cap at 20% readiness) ·  "Unwilling" (Willingness ★, blocked) = host has explicitly declined — not the same as "Unknown" (not yet assessed)
Destinations ?
Assignment Matrix — Composite Scores & Monte Carlo Success Rates (mean ± 1 SD) ?
Outcome Summary per Evacuee Group — sorted by urgency ?
Alerts ?
Uncertainty Impact — MC Success Rate vs Field Uncertainty (0 → 100%) ?
Factor Information Value — Where Better Intelligence Helps Most ?

AI Role in Civilian Protection — Simulation Findings ?

Generating scenario…

⚙ Model Parameters — current values ?
Parameter Value Controls
Methodology & Model Documentation

1 Readiness Scoring Model

Destination readiness is computed as a weighted average of seven factor scores. Three factors — Security, Local Authority Consent, and Willingness — are designated gatekeepers and receive double weight, reflecting their role as non-substitutable prerequisites: a destination that is physically dangerous, legally inaccessible, or whose host community has explicitly refused to receive evacuees cannot be made viable by strong food supply or shelter alone. Willingness was added to the gatekeeper set because an unwilling host is as disqualifying in practice as a blocked checkpoint — modelling it as a standard (weight-1) factor previously let strong shelter/food/medical scores mask an unviable site.

Unknown vs. Unwilling: for the Willingness factor specifically, a blocked status is displayed as "Unwilling" rather than the generic "Blocked" — a confirmed refusal by the host community — which is a materially different epistemic state from "Unknown" (willingness has simply not been assessed yet). Both still score 0 in the readiness formula, but only "Unwilling" is a confirmed exclusion; "Unknown" is an intelligence gap that AI-assisted assessment could close.

readiness = (Σ wi × scorei) / Σ wi w = 2 (gatekeeper) | w = 1 (standard) If any gatekeeper is BLOCKED: readiness = min(readiness, 0.20)
StatusScoreRationale
Operational1.0 × confFully functional; confidence-scaled
Partial0.5 × confDegraded function; confidence-scaled
Blocked0.0Non-functional; gatekeeper triggers cap
Unknown0.30 × (0.5 + 0.5·conf)Epistemic conservatism — see §2

2 Uncertainty Model

Uncertainty operates at two levels:

Factor-level confidence — each factor carries a base confidence value (0–1) generated at scenario creation, reflecting how well-assessed that factor is. The global Field Uncertainty slider scales all confidences multiplicatively:

effectiveConf = baseConf × (1 fieldUncertainty)

Unknown status treatment encodes a key epistemic distinction: a known unknown is less dangerous than an unknown unknown. A factor assessed as "unknown" with high confidence (we are sure we don't know) scores higher than the same status with low confidence (we are not even sure our ignorance is accurate):

scoreunknown = 0.30 × (0.5 + 0.5 × effectiveConf) effectiveConf = 1.0 → score = 0.30 (known unknown) effectiveConf = 0.0 → score = 0.15 (unknown unknown)

This models the real-world asymmetry in which a field team that reports "we could not assess food supply" provides actionable information, whereas a report produced under conditions where the team itself was unreliable provides less.

3 Monte Carlo Outcome Simulation

For each (evacuee group, destination) pair, 500 Monte Carlo runs simulate the outcome distribution arising from field uncertainty. In each run, every factor's assessed status is independently subjected to a perturbation test:

P(perturb) = 0.85 × (1 effectiveConf) If perturbed: status shifts ±1 level operational ↔ partial ↔ blocked ↔ unknown

Success in a single run requires all three conditions:

  • Readiness ≥ 40% (minimum viability threshold)
  • Destination capacity ≥ group size (physical absorption)
  • No gatekeeper factor blocked (legal/security access maintained)

The reported success rate is the proportion of runs meeting all three criteria. Standard deviation across runs quantifies outcome uncertainty — high SD indicates a volatile scenario where small real-world changes could flip the outcome.

4 Assignment Algorithm

Groups are first sorted by urgency (immediate → urgent → can-wait), then assigned greedily in that order. Each group is placed at the highest-scoring destination with sufficient remaining capacity. This prevents capacity contention, ensures critical groups are prioritised, and may result in an UNASSIGNED status if all sites are full.

composite = 0.40 × readiness + 0.30 × capacity_fit + 0.20 × proximity + 0.10 × vulnerability_match capacity_fit = min(1, dest_capacity / group_size) proximity = 1 (distance / max_distance) vulnerability_match = 1.0 if medical=operational & special needs = 0.5 otherwise

Weights reflect the priority ordering in humanitarian evacuation planning: protection quality first, physical fit second, operational burden third, population needs fourth.

5 Synthetic Data Engine

All data is generated from a seeded pseudo-random number generator using the Park-Miller Linear Congruential Generator (LCG):

sn+1 = (sn × 16807) mod 2147483647 Period: 2³¹ − 2 ≈ 2.1 × 10⁹ Source: Park & Miller (1988), CACM 31(10)

Using a seeded RNG means every scenario is fully reproducible by seed number — a critical requirement for thesis research where peer reviewers must be able to regenerate results exactly.

Destination capacity follows an exponential distribution (λ = 3, mapped to [200, 5000]) to reflect the realistic skew of humanitarian site sizes: many small sites, few large camps. Factor status distributions are weighted differently for gatekeepers (more likely impaired in active conflict) versus standard factors.

6 Evacuee Group Archetypes

Groups are drawn from eight ecologically valid archetypes grounded in ICRC field taxonomy and IHL protected-person categories. Each archetype has fixed vulnerability, special-needs, and urgency properties; only group size is randomised per scenario.

ArchetypeVuln.NeedsUrgency
Elderly & mobility-impaired5mobilityimmediate
Families with children4urgent
Wounded & medical cases5medicalimmediate
Unaccompanied minors5medicalimmediate
Pregnant women4medicalurgent
Unaccompanied adults2can-wait
Mixed general population2can-wait
Journalists & aid workers2urgent

The vulnerability_match sub-score in §4 rewards destinations with operational medical capacity when a group has medical or mobility needs — operationalising the IHL principle of proportionate protection for the most vulnerable.

7 Modelling Assumptions & Limitations

Assumptions

  • Factor statuses are treated as independent — real-world correlation (e.g. security and authority consent often co-vary) is not modelled.
  • The 40% readiness success threshold is an operational approximation; the exact threshold should be calibrated against field data in applied use.
  • Status perturbation shifts by exactly one ordinal level — this is a simplification; real mis-assessments may jump multiple levels (e.g. operational reported as blocked).
  • Greedy urgency-ordered assignment prevents capacity contention but does not optimise globally — a group assigned early may block a better match for a later group.
  • Distance is used as a proxy for operational burden; real routing constraints (road access, checkpoints, fuel) are not modelled.

Scope & intended use

  • This is a conceptual demonstration tool, not a decision-support system. Outputs are not suitable for real operational planning without validation against empirical data.
  • The tool is designed to illustrate how uncertainty propagates through an evacuation chain and to support the thesis argument that AI-assisted field assessment would improve outcome predictability.
  • All random values use the seeded RNG — Math.random() is not called anywhere, ensuring full reproducibility.
  • MC runs (N=500) provide tighter confidence intervals than the prior N=100. Information value estimates use N=100 for speed; treat as directional.

Parameter reference — all values are in the PARAMS constant at the top of the script and are also displayed in the ⚙ Model Parameters panel above.

8 Data Sources & References

This tool uses no real-world datasets — every destination, evacuee group, and factor status is generated synthetically by the seeded RNG (§5). Nothing here is imported or fitted from real evacuation records. The sources below inform parameter design — which factors exist, which are gatekeepers, and where thresholds originate — not the data itself.

SourceUsed for
Park & Miller (1988), CACM 31(10)Park-Miller LCG — the seeded random number generator underlying every synthetic value (§5)
ICRC (2013), Violence and the use of forceIHL framework grounding the Security gatekeeper factor
Additional Protocol I (1977), Art. 12 & 58Protection of medical units (Medical capacity) and precautions against attack (Security)
IASC (2007) GuidelinesHost-authority consent framework grounding the Authority consent gatekeeper factor
SPHERE Handbook (2018, 4th ed.)Minimum standards — 3.5m²/person shelter, 15L/person/day water — behind the Shelter and Food & water factors
UNHCR (2007), Handbook for Emergencies (3rd ed.)Source of the 40% minimum readiness viability threshold (§3, SUCCESS_MIN_READINESS)

Full citation detail is in Evacuation_Simulator_Methodology.docx §14 (References) in the project repository. This table is a summary of that document, checked directly against it — the methodology doc is authoritative if the two ever diverge. Note the Willingness factor's gatekeeper promotion (§1) and the 500-run Monte Carlo default (§3) postdate methodology doc v1.0 and are not yet reflected there.