Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add investment methods for energy storage assets #575

Closed
5 tasks done
datejada opened this issue Mar 29, 2024 · 4 comments
Closed
5 tasks done

Add investment methods for energy storage assets #575

datejada opened this issue Mar 29, 2024 · 4 comments
Assignees
Labels
Type: epic Epic issues (collection of smaller tasks towards a goal)
Milestone

Comments

@datejada
Copy link
Member

datejada commented Mar 29, 2024

Description

As part of the M2 and the developments for the investment module for seasonal & non-seasonal storage, we need to improve the storage investment representation. We must create a new parameter (e.g., storage_investment_method) to select different investment methods in storage assets (the following is a guide, please review it before starting and think about more constraints/variables/parameters we might need):

  1. storage_investment_method = "use_fixed_ratio": This is the implementation in version 0.8.0 and below.

    • variables: $v^{\text{inv}}_{a}$ -> investment in MW
    • parameters:
      • $p^{\text{energy to power ratio}}_a$ -> fixed ratio between the stored capacity (MWh) and the charge/discharge capacity (MW)
      • $p^{\text{inv cost}}_{a}$ -> investment cost per unit of the asset MW/unit
      • $p^{\text{inv limit}}_{a}$ -> investment limit (potential) of the asset MW
      • $p^{\text{capacity}}_{a}$ -> capacity of a unit of investment of the asset MW/unit
    • objective function: we only pay the investment cost of the power part
    • constraints (look at the documentation of v0.8.0):
      • maximum storage level limit
      • maximum investment limit
  2. storage_investment_method = "use_storage_energy"

    • variables:
      • $v^{\text{inv}}_{a}$ -> investment in MW
      • $v^{\text{inv energy}}_{a}$ -> investment in MWh
    • parameters:
      • $p^{\text{inv cost}}_{a}$ -> investment cost per unit of the asset MW/unit
      • $p^{\text{inv cost energy}}_{a}$ -> investment cost per unit of energy the asset MWW/unit
      • $p^{\text{inv limit}}_{a}$ -> investment limit (potential) of the asset MW
      • $p^{\text{inv limit energy}}_{a}$ -> investment limit on energy (potential) of the asset MWh
      • $p^{\text{capacity}}_{a}$ -> capacity of a unit of investment of the asset MW/unit
      • $p^{\text{capacity energy}}_{a}$ -> capacity of a unit of investment of the asset MW/unit
    • objective function: we pay for both the power investment and the storage investment
    • constraints:
      • maximum storage level limit
      • maximum investment limit (look at the documentation of v0.8.0)
      • maximum investment limit for storage energy

NOTE: The names are suggestions. Consider changing them if there is a better option.

Sub issues

@datejada datejada added the Type: epic Epic issues (collection of smaller tasks towards a goal) label Mar 29, 2024
@datejada datejada added this to the M2 - End June milestone Mar 29, 2024
@gnawin
Copy link
Member

gnawin commented Apr 22, 2024

New design

(new) Set for Assets

Name Description Elements Superset Notes
$\mathcal{A}^{\text{se}}$ Storage energy assets with energy method $\mathcal{A}^{\text{se}} \subseteq \mathcal{A}^{\text{s}} $ This sets contains storage assets that use energy method. Otherwise fixed ratio method is used.
  • Variables:

    • $v^{\text{inv}}_{a}$ -> invested units of power in unit (MW)
    • (new) $v^{\text{inv energy}}_{a}$ -> invested units of energy in unit (MWh)
  • Parameters:

    • $p^{\text{energy to power ratio}}_a$ -> fixed ratio between the stored energy (MWh) and the charge/discharge capacity (MW)
    • $p^{\text{inv cost}}_{a}$ -> investment cost per unit of the asset kEUR/MW/unit
    • (new) $p^{\text{inv cost energy}}_{a}$ -> investment cost per unit of the asset kEUR/MWh/unit
    • $p^{\text{inv limit}}_{a}$ -> investment limit (potential) of the asset MW
    • (new) $p^{\text{inv limit energy}}_{a}$ -> investment limit on energy (potential) of the asset MWh
    • $p^{\text{capacity}}_{a}$ -> capacity of a unit of investment of the asset MW/unit
    • (new) $p^{\text{energy}}_{a}$ -> energy of a unit of investment of the asset MWh/unit
    • (new) $p^{\text{inv integer energy}}_{a}$ -> whether the investment of energy is integer or continuous
  • (modified) Objective function: we pay for both the storage power investment and energy investment

$$\begin{aligned} assets\_investment\_cost = \sum_{a \in \mathcal{A}^{\text{i}} } p^{\text{inv cost}}_{a} \cdot p^{\text{capacity}}_{a} \cdot v^{\text{inv}}_{a} + \sum_{a \in \mathcal{A}^{\text{se}} } p^{\text{inv cost energy}}_{a} \cdot p^{\text{energy}}_{a} \cdot v^{\text{inv energy}}_{a} \end{aligned}$$
  • Constraints:
    • maximum storage level limit
    • maximum investment limit
    • maximum investment limit for storage energy
  1. (new) Intra-temporal Constraint for Maximum Storage Level Limit

$$v^{\text{intra-storage}}_{a,k,b_k} \leq p^{\text{max intra level}}_{a,k,b_k} \cdot (p^{\text{init storage energy}}_{a} + p^{\text{energy}}_a \cdot v^{\text{inv energy}}_{a}) \quad \\ \\ \forall a \in (\mathcal{A}^{\text{s}} \setminus \mathcal{A}^{\text{ss}}) \cap \mathcal{A}^{\text{se}}, \forall k \in \mathcal{K},\forall b_k \in \mathcal{B_k}$$
  1. (modified) Intra-temporal Constraint for Maximum Storage Level Limit

$$v^{\text{intra-storage}}_{a,k,b_k} \leq p^{\text{max intra level}}_{a,k,b_k} \cdot (p^{\text{init storage energy}}_{a} + p^{\text{energy to power ratio}}_a \cdot p^{\text{capacity}}_a \cdot v^{\text{inv}}_{a}) \quad \\ \\ \forall a \in (\mathcal{A}^{\text{s}} \setminus \mathcal{A}^{\text{ss}}) \cap (\mathcal{A}^{\text{s}} \setminus \mathcal{A}^{\text{se}}), \forall k \in \mathcal{K},\forall b_k \in \mathcal{B_k}$$
  1. (new) Intra-temporal Constraint for Minimum Storage Level Limit

$$v^{\text{intra-storage}}_{a,k,b_k} \geq p^{\text{min intra level}}_{a,k,b_k} \cdot (p^{\text{init storage energy}}_{a} + p^{\text{energy}}_a \cdot v^{\text{inv energy}}_{a}) \quad \\ \\ \forall a \in (\mathcal{A}^{\text{s}} \setminus \mathcal{A}^{\text{ss}}) \cap \mathcal{A}^{\text{se}}, \forall k \in \mathcal{K},\forall b_k \in \mathcal{B_k}$$
  1. (modified) Intra-temporal Constraint for Minimum Storage Level Limit

$$v^{\text{intra-storage}}_{a,k,b_k} \geq p^{\text{min intra level}}_{a,k,b_k} \cdot (p^{\text{init storage energy}}_{a} + p^{\text{energy to power ratio}}_a \cdot p^{\text{capacity}}_a \cdot v^{\text{inv}}_{a}) \quad \\ \\ \forall a \in (\mathcal{A}^{\text{s}} \setminus \mathcal{A}^{\text{ss}}) \cap (\mathcal{A}^{\text{s}} \setminus \mathcal{A}^{\text{se}}),\forall b_k \in \mathcal{B_k}$$
  1. (new) Inter-temporal Constraint for Maximum Storage Level Limit

$$v^{\text{inter-storage}}_{a,p} \leq p^{\text{max inter level}}_{a,p} \cdot (p^{\text{init storage energy}}_{a} + p^{\text{energy}}_a \cdot v^{\text{inv energy}}_{a}) \quad \\ \\ \forall a \in \mathcal{A}^{\text{ss}} \cap \mathcal{A}^{\text{se}}, \forall p \in \mathcal{P}$$
  1. (modified) Inter-temporal Constraint for Maximum Storage Level Limit

$$v^{\text{inter-storage}}_{a,p} \leq p^{\text{max inter level}}_{a,p} \cdot (p^{\text{init storage energy}}_{a} + p^{\text{energy to power ratio}}_a \cdot p^{\text{capacity}}_a \cdot v^{\text{inv}}_{a}) \quad \\ \\ \forall a \in (\mathcal{A}^{\text{s}} \setminus \mathcal{A}^{\text{ss}}) \cap (\mathcal{A}^{\text{s}} \setminus \mathcal{A}^{\text{se}}), \forall p \in \mathcal{P}$$
  1. (new) Inter-temporal Constraint for Minimum Storage Level Limit

$$v^{\text{inter-storage}}_{a,p} \geq p^{\text{min inter level}}_{a,p} \cdot (p^{\text{init storage energy}}_{a} + p^{\text{energy}}_a \cdot v^{\text{inv energy}}_{a}) \quad \\ \\ \forall a \in \mathcal{A}^{\text{ss}} \cap \mathcal{A}^{\text{se}}, \forall p \in \mathcal{P}$$
  1. (modified) Inter-temporal Constraint for Minimum Storage Level Limit

$$v^{\text{inter-storage}}_{a,p} \geq p^{\text{min inter level}}_{a,p} \cdot (p^{\text{init storage energy}}_{a} + p^{\text{energy to power ratio}}_a \cdot p^{\text{capacity}}_a \cdot v^{\text{inv}}_{a}) \quad \\ \\ \forall a \in (\mathcal{A}^{\text{s}} \setminus \mathcal{A}^{\text{ss}}) \cap (\mathcal{A}^{\text{s}} \setminus \mathcal{A}^{\text{se}}), \forall p \in \mathcal{P}$$
  1. (new) Maximum Investment Limit for Assets

$$v^{\text{inv energy}}_{a} \leq \frac{p^{\text{inv limit energy}}_{a}}{p^{\text{energy}}_{a}} \quad \\ \\ \forall a \in \mathcal{A}^{\text{i}} \cap \mathcal{A}^{\text{se}}$$
  1. (modified) Maximum Investment Limit for Assets

$$v^{\text{inv}}_{a} \leq \frac{p^{\text{inv limit}}_{a}}{p^{\text{capacity}}_{a}} \quad \\ \\ \forall a \in \mathcal{A}^{\text{i}}$$
  • Summary
Method Storage level constraints Storage limit constraints
Fix ratio (default) 2, 4, 6, 8 10
Storage energy (storage_method_energy = true) 1, 3, 5, 7 9, 10

@gnawin
Copy link
Member

gnawin commented Apr 22, 2024

@datejada could you check the new design? If it looks okay, I can continue to work on and merge the PRs 😄 . Thanks!

@gnawin
Copy link
Member

gnawin commented Apr 30, 2024

@datejada I changed the design a bit, which was not fully correct before. My changes:

  1. obj (previously first term is for A_i exclusing A_se, now only A_i, i.e., unchanged compared to now)
  2. constraint nr.10 (previously for A_i exclusing A_se, now only A_i)

For the new method, we should have both power and energy, it means only the addition in investment limit and in obj, but not excluding existing power. But for the storage level constraints, it should be one or the other. Please check my summary table above. Agree?

@datejada
Copy link
Member Author

All issues from this epic have been completed 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: epic Epic issues (collection of smaller tasks towards a goal)
Projects
None yet
Development

No branches or pull requests

2 participants