Sizing (Investment Optimization)¶
Overview¶
Sizing introduces a capacity decision variable \(S\) that replaces the fixed nominal capacity \(\bar{P}_f\). The solver optimizes both the capacity and the dispatch simultaneously.
Variables¶
| Symbol | Code | Domain | Description |
|---|---|---|---|
| \(S_f\) | flow_size[flow] |
\(\geq 0\) | Invested flow capacity |
| \(y_f\) | flow_size_indicator[flow] |
\(\{0, 1\}\) | Binary: invest yes/no (optional only) |
| \(S_s\) | storage_capacity[storage] |
\(\geq 0\) | Invested storage capacity |
| \(y_s\) | storage_size_indicator[storage] |
\(\{0, 1\}\) | Binary: invest yes/no (optional only) |
Mandatory Sizing¶
When mandatory=True, the component must be built. The capacity is continuous:
where \(S^-\) = min_size and \(S^+\) = max_size.
Optional Sizing¶
When mandatory=False, a binary indicator \(y_f\) gates the capacity:
When \(y_f = 0\): \(S_f = 0\) (not built). When \(y_f = 1\): \(S_f \in [S^-, S^+]\).
Binary Invest¶
When \(S^- = S^+\), the sizing reduces to a binary yes/no decision at exactly that capacity.
Flow Rate Bounds with Sizing¶
With sizing, the fixed capacity \(\bar{P}_f\) is replaced by the variable \(S_f\). The relative bounds scale by the invested size:
Similarly for fixed profiles:
Storage Sizing¶
The same pattern applies to storage capacity. The charge state bounds become:
Investment Effects¶
Investment costs contribute to effect totals. For each effect \(k\):
Per-Size¶
where \(\gamma_{f,k}\) is Sizing.effects_per_size[k].
Fixed¶
where \(\phi_{f,k}\) is Sizing.effects_fixed[k]. Only applies when
mandatory=False (binary indicator exists).
Total¶
The direct investment contribution to effect \(k\) is:
This feeds into the effect total equation and can be further weighted by cross-effect contributions.
Parameters¶
| Symbol | Description | Reference |
|---|---|---|
| \(S_f\) | Flow capacity variable | flow_size[flow] |
| \(S_s\) | Storage capacity variable | storage_capacity[storage] |
| \(y_f\), \(y_s\) | Binary invest indicator | flow_size_indicator, storage_size_indicator |
| \(S^-\) | Minimum size | Sizing.min_size |
| \(S^+\) | Maximum size | Sizing.max_size |
| \(\gamma_{f,k}\) | Per-size investment cost | Sizing.effects_per_size |
| \(\phi_{f,k}\) | Fixed investment cost | Sizing.effects_fixed |
See Notation for the full symbol table.