Optimum start: reach a scheduled target when its time range starts #14
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
A scheduled target is reached well after its time range starts, because the heater only switches on when the range starts.
2026-10-29: the study was at 18.3 °C when the target went to 20 °C at 09:00 (outdoor about 10 °C). The temperature started rising in the reports at 09:24, then rose at about 2.3 °C/h, and reached 20 °C at 10:00. Of the 09:00–10:30 time range at 20 °C, only the last 30 minutes were at target. The first hour was the warm-up.
Workaround
Start the 20 °C time range an hour earlier in the schedule.
Proposal: optimum start
Start a warm-up early enough that the control temperature reaches the next target when its time range starts:
start − (delay + (target − control temperature) ÷ rise rate), capped at for example 2 h.Open questions:
Better criterion: halfway at the start of the time range
Instead of reaching the target when the time range starts, start the warm-up so that the control temperature is halfway between the warm-up's starting temperature and the target when the time range starts.
This minimises the squared tracking error for any rise curve: dead time, straight ramp or an approach that slows down near the target. The error is counted from the starting temperature before the time range and from the target after it.
Let
f(x)be the rise above the starting temperaturexafter switch-on,ΔTthe target minus the starting temperature, andxhow long before the time range the warm-up starts:The absolute error gives the same condition:
f(x) − (ΔT − f(x)) = 0.Notes
w_amore than being too warm before itw_bmoves the crossing point up tof/ΔT = √w_a / (√w_a + √w_b). Halfway is the neutral default. A weight could be a later tuning knob, in the spirit of theminaggregation.dand rise rater, start heating oncenow ≥ start − (d + (target − T) / (2r)).d≈ 20 min,r= 2.34 °C/h andT= 18.34, it would have switched on at about 08:19, been at about 19.2 °C at 09:00 and at 20 °C at about 09:21. That compares with 10:00 without optimum start, and about 07:37 with the reach-the-target-at-the-start criterion.d,r,T, target, time range start), separate from learningdandr.