CLIPPER Beyond Shortlisting: Auditable Decision Support for Changing Municipal Micromobility Policies
Organizations: Institute of Computer Science Clausthal University of Technology Clausthal-Zellerfeld, Germany · Institute of Cartography and Geoinformatics Leibniz University Hannover Hannover, Germany
Abstract
In municipal planning workshops, planners and other stakeholders compare shared-micromobility parking policies by varying no-parking zones, retained sites, spacing, or area allocations. Each edit changes feasible sites and how much demand they cover, so the alternative must be reoptimized on the same spatial data. Full-set greedy, the transparent reference for this task, takes tens of seconds per alternative at city scale. We present Constraint-exact Low-latency Iterative Planning with Pooled Evaluation and Replay (CLIPPER), an optimizer with audit functions developed for requirements elicited with the City of Braunschweig. In each greedy round, it forms a deterministic candidate pool of bounded size, computes how much still-uncovered demand each candidate would add, and rejects candidates that violate an active constraint. An optional offline audit scans every remaining feasible candidate and records what the restricted pool omitted. We evaluate these functions on complete eleven-state edit chains () in Braunschweig, Munich, and Berlin. With candidates per group, the fixed-width mode CLIPPER-F has mean coverage gaps to full-set greedy under the same policy of 0.245, 0.003, and 0.001 percentage points in Braunschweig, Munich, and Berlin, respectively, while mean rollout time falls by factors of 13.6--28.9; no audited run terminates while a candidate outside the pool could still increase coverage. Plans computed from two checksummed versions of Braunschweig's official no-parking-zone data differ in 30 of about 540 selected sites although coverage moves by only about 0.1 percentage points. These changes still require municipal assessment and implementation. The findings inform a proposed municipal process that versions policy inputs, reports site changes beside coverage, and scans the full candidate set before a final decision.
Figures & tables
| City | Trips | Cand. | Budget | Groups | F slots |
|---|---|---|---|---|---|
| Braunschweig | 600 | 29 | |||
| Munich | 1200 | 16 | |||
| Berlin | 1600 | 36 |
| State | |||||||||||
| Baseline sites inside exclusions (%) | 0.0 | 2.5 | 5.0 | 5.0 | 7.5 | 7.5 | 10.0 | 12.5 | 12.5 | 15.0 | 17.5 |
| Baseline sites kept as locks (%) | 0.0 | 0.0 | 0.0 | 10.0 | 10.0 | 15.0 | 20.0 | 20.0 | 25.0 | 30.0 | 35.0 |
| exclusion halos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 10 | 15 | 20 |
| Minimum network spacing (m) | 0 | 0 | 0 | 0 | 0 | 25 | 35 | 45 | 50 | 55 | 60 |
| Method / control | Mean coverage (%) | Mean gap to control (pp) | Mean rollout (s) | Rollout/control | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BS | MUC | BER | BS | MUC | BER | BS | MUC | BER | BS | MUC | BER | |
| Balanced caps: full-set greedy and CLIPPER-F | ||||||||||||
| Full-set greedy | 90.4 | 69.7 | 59.5 | 0.000 | 0.000 | 0.000 | 24.029 | 22.943 | 52.685 | 1.000 | 1.000 | 1.000 |
| CLIPPER-F(1024) | 90.1 | 69.7 | 59.5 | 0.245 | 0.003 | 0.001 | 1.762 | 1.493 | 1.825 | 0.073 | 0.065 | 0.035 |
| Coverage-prioritized caps: full-set greedy and CLIPPER-A | ||||||||||||
| Full-set greedy | 96.8 | 81.2 | 69.5 | 0.000 | 0.000 | 0.000 | 28.343 | 22.931 | 48.826 | 1.000 | 1.000 | 1.000 |
| (a) Audit of a candidate order computed once per state | |||||
|---|---|---|---|---|---|
| City | Mean coverage (%) | Audited rounds: no larger feasible gain omitted (%) | Omitted gains / added coverage | Runs stopped by pool limit (of 11) | |
| Braunschweig | 256 | 77.248 | 4.4 | 3.295 | 11/11 |
| 512 | 85.677 | 13.3 | 1.071 | 11/11 | |
| 1024 | 90.132 | 51.0 | 0.140 | 0/11 | |
| Munich | 256 | 64.623 | 10.5 | 0.748 | 6/11 |
| 512 | 69.395 | 66.4 | 0.046 | 0/11 | |
| (a) Policy resources and resulting coverage | |||||
| Resource date | Zones | Area ( ) | Forbidden cand. | Fixed scores: cov. (%) | Updated scores: cov. (%) |
| 2025-01-28 | 51 | 6.275 | 91.609 | 91.807 | |
| 2026-02-17 | 55 | 9.429 | 91.515 | 91.701 | |
| Stage | Inputs, outputs, and acceptance check |
|---|---|
| Register | Input: policy geometry, candidates, demand, coordinate system, validity date. Check: source checksum, valid geometry, and candidate intersections. |
| Calibrate | Input: representative recorded states and local time/quality tolerances. Check: choose , cap policy, and candidate rule; meet local targets and scan for improving candidates outside the pool when a run stops. |
| Compare | Input: exclusions, locks, spacing, caps, and facility budget for each alternative. Check: feasible plan, coverage, changed sites, terminal status, and input/output checksums. |
| Final decision | Input: chosen policy state and audit level. Output and check: scan all remaining candidates, archive inputs and outputs, and obtain policy-owner sign-off. |