Problem Specifications
In these specifications, _GM refers to GasModels, _PM refers to PowerModels, and _PMR refers to PowerModelsRestoration.
Gas-Power Flow (GPF)
Inherited Variables and Constraints
# Gas-only variables and constraints
_GM.build_gf(_get_gasmodel_from_gaspowermodel(gpm))
# Power-only variables and constraints
_PM.build_pf(_get_powermodel_from_gaspowermodel(gpm))Constraints
# Gas-power related parts of the problem formulation.
for i in _get_interdependent_deliveries(gpm)
constraint_heat_rate(gpm, i)
endOptimal Power Flow (OPF)
Objective
# Objective minimizes operation cost.
objective_min_opf_cost(gpm)Inherited Variables and Constraints
# Gas-only variables and constraints.
_GM.build_gf(_get_gasmodel_from_gaspowermodel(gpm))
# Power-only variables and constraints.
_PM.build_pf(_get_powermodel_from_gaspowermodel(gpm))Variables
# Variables related to the OPF problem.
variable_zone_demand(gpm)
variable_zone_demand_price(gpm)
variable_zone_pressure(gpm)
variable_pressure_price(gpm)Constraints
# Gas-power related parts of the problem formulation.
for i in _get_interdependent_deliveries(gpm)
constraint_heat_rate(gpm, i)
end
# Constraints related to price zones.
for (i, price_zone) in _IM.ref(gpm, _GM.gm_it_sym, :price_zone)
constraint_zone_demand(gpm, i)
constraint_zone_demand_price(gpm, i)
constraint_zone_pressure(gpm, i)
constraint_pressure_price(gpm, i)
endNetwork Expansion Planning (NE)
Objective
# Objective minimizes cost of network expansion.
objective_min_ne_cost(gpm)Inherited Variables and Constraints
# Gas-only variables and constraints
_GM.build_nels(_get_gasmodel_from_gaspowermodel(gpm))
# Power-only variables and constraints
_PM.build_tnep(_get_powermodel_from_gaspowermodel(gpm))Constraints
# Gas-power related parts of the problem formulation.
for i in _get_interdependent_deliveries(gpm)
constraint_heat_rate(gpm, i)
endExpansion Planning with Optimal Power Flow (NE OPF)
Objective
# Objective minimizes network expansion, demand, and pressure cost.
objective_min_ne_opf_cost(gpm)Inherited Variables and Constraints
# Gas-only variables and constraints.
_GM.build_nels(_get_gasmodel_from_gaspowermodel(gpm))
# Power-only variables and constraints.
_PM.build_tnep(_get_powermodel_from_gaspowermodel(gpm))Variables
# Variables related to the NE OPF problem.
variable_zone_demand(gpm)
variable_zone_demand_price(gpm)
variable_zone_pressure(gpm)
variable_pressure_price(gpm)Constraints
# Gas-power related parts of the problem formulation.
for i in _get_interdependent_deliveries(gpm)
constraint_heat_rate(gpm, i)
end
# Constraints related to price zones.
for (i, price_zone) in _IM.ref(gpm, _GM.gm_it_sym, :price_zone)
constraint_zone_demand(gpm, i)
constraint_zone_demand_price(gpm, i)
constraint_zone_pressure(gpm, i)
constraint_pressure_price(gpm, i)
endMaximum Load Delivery (MLD)
Objective
# Objective maximizes the amount of load delivered.
objective_max_load(gpm)Inherited Variables and Constraints
# Gas-only variables and constraints.
_GM.build_ls(_get_gasmodel_from_gaspowermodel(gpm))
# Power-only variables and constraints (from PowerModelsRestoration).
_PMR.build_mld(_get_powermodel_from_gaspowermodel(gpm))Constraints
# Gas-power related parts of the problem formulation.
for i in _get_interdependent_deliveries(gpm)
constraint_heat_rate_on_off(gpm, i)
endMaximum Load Delivery with Unit Commitment (MLD UC)
Objective
# Objective maximizes the amount of load delivered.
objective_max_load(gpm)Inherited Variables and Constraints
# Gas-only variables and constraints.
_GM.build_ls(_get_gasmodel_from_gaspowermodel(gpm))
# Power-only variables and constraints (from PowerModelsRestoration).
_PMR.build_mld_uc(_get_powermodel_from_gaspowermodel(gpm))Constraints
# Gas-power related parts of the problem formulation.
for i in _get_interdependent_deliveries(gpm)
constraint_heat_rate_on_off(gpm, i)
end