mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Rewire the objective per the ADR-0016 amendment. With a target_sap (Increasing EPC): warm-start optimise_min_cost (cheapest package reaching target_gain = target_sap - baseline within budget) -> inject dependencies -> re-score -> repair toward target; if the warm-start is infeasible or the repaired package still falls short on the true score, fall back to max-gain-within-budget (best effort). Without a target_sap: max-gain (unchanged). The min-cost objective stops at the target without overshooting into a higher band; surplus budget is left unspent. Extracted _max_gain_package (no-target path + fallback) and _repair_to_target (inject + re-score + greedy repair). Dependency injection and the repair loop are preserved; all prior optimiser + dependency tests pass unchanged. Ventilation-aware *selection* is the next slice; injection is still post-warm-start here. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| measure_dependency.py | ||
| optimiser.py | ||