oprava dynamickeho spodniho prahu
This commit is contained in:
@@ -498,7 +498,13 @@ def solve_dispatch(
|
|||||||
soc_prev_expr = current_soc_wh if t == 0 else soc[t - 1]
|
soc_prev_expr = current_soc_wh if t == 0 else soc[t - 1]
|
||||||
arb_t = arb_floor_series[t]
|
arb_t = arb_floor_series[t]
|
||||||
soc_low_t = soc_min_series[t]
|
soc_low_t = soc_min_series[t]
|
||||||
prob += soc_prev_expr >= (arb_t - (arb_t - soc_low_t) * (1 - w_arb[t]))
|
# Při relaxovaném dnu (soc_low pod DB min_soc Wh) nesmí větev w_arb=1 znovu vynutit arb_t
|
||||||
|
# (typicky ~rezerva 20 %) — jinak nejde „vypustit“ baterku k planner floor 5 %.
|
||||||
|
if soc_low_t < min_soc_wh - 1e-3:
|
||||||
|
arb_cap_t = min(arb_t, soc_low_t)
|
||||||
|
else:
|
||||||
|
arb_cap_t = arb_t
|
||||||
|
prob += soc_prev_expr >= (arb_cap_t - (arb_cap_t - soc_low_t) * (1 - w_arb[t]))
|
||||||
prob += bd[t] <= (
|
prob += bd[t] <= (
|
||||||
s.load_baseline_w
|
s.load_baseline_w
|
||||||
+ ev_total_t
|
+ ev_total_t
|
||||||
|
|||||||
Reference in New Issue
Block a user