(Internal development) Pain point: vCAP has units which are resource-dependent.
cfe316 opened this issue · comments
Sometimes (for y not in COMMIT
) vCAP
is in MW and sometime it's in "number of plants". This leads to needed to repeatedly test whether vCAP is in COMMIT in order to correctly set constraints, expressions etc. It also means repeatedly conditionally multiplying by Cap_Size in order to get a quantity in units of MW.
Note that some variable (currently vCAP) does need to be (conditionally) an integer if we want to have integer capacity expansion.
What I might recommend is something like
- always have vCAP be in "number of plants" and create a new expression
eCAP
(oreNewCap
) which is alwaysvCAP * Cap_Size
, so that it's always in units of MW. For comparison, currently, eTotalCap is always in MW. - optionally also create
eCOMMIT/START/SHUT
which arevCOMMIT/START/SHUT * Cap_Size
.
This would make many expressions and constraints easier to read, and eliminate if
statements, at the cost of G (for eCAP) or 3 G T (for the commitment states) new expression terms.