Internals - EnergyModelsInvestment extension
Index
EnergyModelsBase.objective_invest
EnergyModelsBase.variables_ext_data
EnergyModelsGeography.constraints_capacity_installed
EnergyModelsInvestments.get_var_inst
EnergyModelsInvestments.has_investment
EnergyModelsInvestments.investment_data
EnergyModelsGeography
Methods
EnergyModelsGeography.constraints_capacity_installed
— MethodEMG.constraints_capacity_installed(
m,
tm::TransmissionMode,
𝒯::TimeStructure,
modeltype::EMB.AbstractInvestmentModel,
)
When the modeltype is an investment model, the function introduces the related constraints for the capacity expansion. The investment mode and lifetime mode are used for adding constraints.
The default function only accepts nodes with SingleInvData
. If you have several capacities for investments, you have to dispatch specifically on the function.
EnergyModelsBase
Methods
EnergyModelsBase.objective_invest
— FunctionEMB.objective_invest(
m,
ℒᵗʳᵃⁿˢ::Vector{Transmission},
𝒯ᴵⁿᵛ::TS.AbstractStratPers,
modeltype::AbstractInvestmentModel,
)
Create a JuMP expression indexed over the investment periods 𝒯ᴵⁿᵛ
for the capital expenditures contribution of the TransmissionMode
s within the Transmission
corridors. They are not discounted and do not take the duration of the investment periods into account.
The expression includes the sum of the capital expenditures for all TransmissionMode
s within the Transmission
corridors whose method of the function has_investment
returns true.
EnergyModelsBase.variables_ext_data
— MethodEMB.variables_ext_data(m, _::Type{SingleInvData}, ℳᴵⁿᵛ::Vector{<:TransmissionMode}, 𝒯, 𝒫, modeltype::AbstractInvestmentModel)
Create variables for the capital costs for the investments in transmission modes.
Additional variables for investment in capacity:
:trans_cap_capex
- CAPEX costs for increases in the capacity of a transmission mode:trans_cap_current
- installed capacity for storage in each strategic period:trans_cap_add
- added capacity:trans_cap_rem
- removed capacity:trans_cap_invest_b
- binary variable whether investments in capacity are happening:trans_cap_remove_b
- binary variable whether investments in capacity are removed
EnergyModelsInvestments
Methods
EnergyModelsInvestments.get_var_inst
— FunctionEMI.get_var_inst(m, prefix::Symbol, tm::EMG.TransmissionMode)
When the transmission mode tm
is used as conditional input, it extracts only the variable for the specified transmission mode.
EnergyModelsInvestments.has_investment
— FunctionEMI.has_investment(tm::EMG.TransmissionMode)
For a given transmission mode tm
, checks that it contains the required investment data.
EnergyModelsInvestments.investment_data
— FunctionEMI.investment_data(tm::EMG.TransmissionMode)
EMI.investment_data(tm::EMG.TransmissionMode, field::Symbol)
Return the InvestmentData
of the transmission mode tm
or if field
is specified, it returns the InvData
for the corresponding capacity.