v2: PV-risk front-load — nabít v neg okně co nejdřív (nejistota predikce)
v1 to řešil rampou (plný výkon než se řeže pole A — zelený bonus B, riziko večerního mraku). v2 byl k načasování v okně sell<0 indiferentní (PV zdarma kdykoliv) a směl nabíjení odložit — odklad ale spoléhá na predikci. Mechanismus: malá prémie za držení energie dřív (objective −= soc[t] × frontload v neg slotech). Rozbíjí indiferenci směrem k front-loadu, nikdy nepřebije skutečné ceny. Velikost z DB: asset_battery. planner_pv_risk_frontload_czk_kwh (V090, default 0.01; 0 = vypnuto), přes fn_planning_site_context (R__039). Test: 4 sloty plným tempem od startu. Eval fixtures beze změny (sloupec v nich není → 0). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
13
db/migration/V090__pv_risk_frontload.sql
Normal file
13
db/migration/V090__pv_risk_frontload.sql
Normal file
@@ -0,0 +1,13 @@
|
||||
-- PV-risk front-load: prémie za držení energie DŘÍV uvnitř okna sell<0.
|
||||
-- Solver je k načasování nabíjení v neg okně jinak indiferentní (PV je zdarma
|
||||
-- kdykoliv) — odložené nabití ale spoléhá na predikci (večerní mrak = drahý
|
||||
-- nákup). Malá prémie (Kč/kWh/slot) rozbije indiferenci směrem k "nabít plným
|
||||
-- výkonem hned" (v1 rampa), ale nikdy nepřebije skutečné ceny.
|
||||
-- 0.01 → držení 1 kWh o 6 h dřív = 0.24 Kč; 0 = vypnuto.
|
||||
|
||||
alter table ems.asset_battery
|
||||
add column if not exists planner_pv_risk_frontload_czk_kwh numeric(6, 4)
|
||||
not null default 0.01;
|
||||
|
||||
comment on column ems.asset_battery.planner_pv_risk_frontload_czk_kwh is
|
||||
'v2: prémie za držení energie dřív v okně sell<0 (Kč za kWh a 15min slot). Ocenění rizika chyby PV predikce — front-load nabíjení. 0 = vypnuto.';
|
||||
@@ -75,7 +75,8 @@ begin
|
||||
'planner_charge_commitment_penalty_czk_kwh', coalesce(ab.planner_charge_commitment_penalty_czk_kwh, 0.20::numeric),
|
||||
'planner_neg_sell_prep_soc_percent', coalesce(ab.planner_neg_sell_prep_soc_percent, 80::numeric),
|
||||
'planner_neg_sell_full_soc_tail_slots', coalesce(ab.planner_neg_sell_full_soc_tail_slots, 4),
|
||||
'planner_neg_sell_vent_min_sell_czk_kwh', ab.planner_neg_sell_vent_min_sell_czk_kwh
|
||||
'planner_neg_sell_vent_min_sell_czk_kwh', ab.planner_neg_sell_vent_min_sell_czk_kwh,
|
||||
'planner_pv_risk_frontload_czk_kwh', coalesce(ab.planner_pv_risk_frontload_czk_kwh, 0.01)
|
||||
)
|
||||
into v_b
|
||||
from ems.asset_battery ab
|
||||
|
||||
Reference in New Issue
Block a user