## [2.10.0] - 2026-06-30
Land-Use Pareto Front: the suitability vs compactness trade-off (27
algorithms).
### Added
- **Land-Use Pareto Front** (Optimization group) — maps the
**trade-off**
between per-parcel suitability and compact zoning instead of
committing to
a single weighted run. There is rarely one best plan: clustering a
use into
compact zones usually costs some suitability, and vice versa.
- Solves the Land-Use Allocation Optimizer across a **sweep of
compactness
weights** (auto-scaled to the data, or capped by an upper weight)
and
records two higher-is-better scores per result: area-weighted
**suitability** and the shared boundary between adjacent same-use
parcels
(**compactness**).
- Reports the **non-dominated set** (the Pareto front) and its
**knee** —
the point furthest from the chord joining the front's extremes,
i.e. the
best-balanced compromise.
- Outputs a **front table** (one row per weight: both scores raw and
0–1
normalised, plus on-front / knee / selected flags) to plot, and
the
**parcel map** of one chosen solution — the knee by default, or
the
maximum-suitability or maximum-compactness end.
- `engine/allocate.pareto_front`, `pareto_mask` and a knee detector —
pure
NumPy, reusing the existing multi-objective allocation core
(`allocate_multi`); a new group-coloured tool icon.
### Testing
- Engine unit checks grown to **202**; end-to-end assertions to
**158** on
QGIS 3.44 LTR and QGIS 4.0.2. The high-weight runs are asserted to
reach the
blocked (compact) allocation and the front extremes to be
non-dominated.
yes
geo140195philo
2026-06-30T16:14:47.208380+00:00
3.22.0
4.99.0
None
no
Plugin Tags