From 4ed13d6e959d04c2f7f3c79e94fc43024074dbf9 Mon Sep 17 00:00:00 2001 From: Aleksandr Kazachkov Date: Mon, 26 Jul 2021 18:29:15 -0400 Subject: [PATCH] Added fix_vars_via_constraint option --- src/model/formulations/Gar1962/structs.jl | 47 ++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/src/model/formulations/Gar1962/structs.jl b/src/model/formulations/Gar1962/structs.jl index db847ee..8cc0c31 100644 --- a/src/model/formulations/Gar1962/structs.jl +++ b/src/model/formulations/Gar1962/structs.jl @@ -17,8 +17,53 @@ import ..PiecewiseLinearCostsFormulation import ..ProductionVarsFormulation import ..StatusVarsFormulation +""" +Variables +--- +* `prod_above`: + [gen, t]; + *production above minimum required level*; + lb: 0, ub: Inf. + KnuOstWat2020: `p'_g(t)` +* `segprod`: + [gen, segment, t]; + *how much generator produces on cost segment in time t*; + lb: 0, ub: Inf. + KnuOstWat2020: `p_g^l(t)` +""" struct ProdVars <: ProductionVarsFormulation end + struct PwlCosts <: PiecewiseLinearCostsFormulation end -struct StatusVars <: StatusVarsFormulation end + +""" +Variables +--- +* `is_on`: + [gen, t]; + *is generator on at time t?* + lb: 0, ub: 1, binary. + KnuOstWat2020: `u_g(t)` +* `switch_on`: + [gen, t]; + *indicator that generator will be turned on at t*; + lb: 0, ub: 1, binary. + KnuOstWat2020: `v_g(t)` +* `switch_off`: binary; + [gen, t]; + *indicator that generator will be turned off at t*; + lb: 0, ub: 1, binary. + KnuOstWat2020: `w_g(t)` + +Arguments +--- +* `fix_vars_via_constraint`: + indicator for whether to set vars to a constant using `fix` or by adding an explicit constraint + (particulary useful for debugging purposes). +""" +struct StatusVars <: StatusVarsFormulation + fix_vars_via_constraint::Bool + + StatusVars() = new(false) +end end