Branch 4: BA81 GEN cutoff audit + exekuce při sell<0
This commit is contained in:
@@ -71,7 +71,7 @@ NEG_BUY_CHARGE_SHORTFALL_PENALTY_CZK_KWH = 100.0
|
||||
PRE_NEG_CHARGE_PENALTY_CZK_KWH = 400.0
|
||||
PRE_NEG_BATT_EXPORT_SHORTFALL_PENALTY_CZK_KWH = 80.0
|
||||
PRE_NEG_BATT_EXPORT_MIN_SELL_CZK_KWH = 1.0
|
||||
PLANNER_BUILD_TAG = "2026-06-06-charge-slot-budget-v1"
|
||||
PLANNER_BUILD_TAG = "2026-06-06-ba81-gen-cutoff-exec-v1"
|
||||
SOLVER_RELAX_STEPS: tuple[str, ...] = (
|
||||
"strict",
|
||||
"relaxed_expensive_import",
|
||||
@@ -3879,6 +3879,8 @@ def solve_dispatch(
|
||||
prob += ge[t] == 0
|
||||
prob += ge_pv[t] == 0
|
||||
prob += ge_bat[t] == 0
|
||||
if z_gen_cutoff is not None and float(s.sell_price) < 0.0:
|
||||
prob += z_gen_cutoff[t] == 1
|
||||
# PV A: měkký tlak curtail (NEG_SELL_CURTAIL při buy<0), ne tvrdé bc_pv=0
|
||||
# (s polem B a bilancí může být bc_pv=0 nutné pro řešitelnost krátkých okének).
|
||||
|
||||
@@ -3967,6 +3969,13 @@ def solve_dispatch(
|
||||
)
|
||||
prob += ge_pv[t] <= float(s.pv_b_forecast_w) * w_pv_b_vent
|
||||
|
||||
# GEN/MI cut-off ON když LP zakazuje vývoz — bez cut-off únik PV B na GEN portu do sítě.
|
||||
if z_gen_cutoff is not None:
|
||||
if block_neg_sell_export_t or purchase_fixed_pre:
|
||||
prob += z_gen_cutoff[t] == 1
|
||||
elif block_pv_export_neg_sell:
|
||||
prob += z_gen_cutoff[t] == 1
|
||||
|
||||
soc_prev_expr = current_soc_wh if t == 0 else soc[t - 1]
|
||||
arb_t = arb_floor_series[t]
|
||||
soc_low_t = soc_panel_min[t]
|
||||
|
||||
Reference in New Issue
Block a user