From 57956eab8a7ea2ae550ee7a13590c1bec69b46d4 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Thu, 15 Feb 2024 21:08:38 +0000 Subject: [PATCH] build based on 8707bc7 --- dev/.documenter-siteinfo.json | 2 +- dev/GTEP/index.html | 2 +- dev/GTEP_inputs/index.html | 2 +- dev/PCM/index.html | 2 +- dev/PCM_inputs/index.html | 2 +- dev/index.html | 2 +- dev/installation/index.html | 2 +- dev/model_introduction/index.html | 2 +- dev/notation/index.html | 2 +- dev/reference/index.html | 2 +- dev/run_case/index.html | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 366965e..10ff565 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.6.7","generation_timestamp":"2024-02-15T05:40:48","documenter_version":"1.2.1"}} \ No newline at end of file +{"documenter":{"julia_version":"1.6.7","generation_timestamp":"2024-02-15T21:08:32","documenter_version":"1.2.1"}} \ No newline at end of file diff --git a/dev/GTEP/index.html b/dev/GTEP/index.html index 8c37a65..d917a84 100644 --- a/dev/GTEP/index.html +++ b/dev/GTEP/index.html @@ -17,4 +17,4 @@ \end{aligned}\]

(27) Cap & Trade - State carbon allowance cap:

\[\sum_{g \in (\bigcup_{i \in I_{w}} G_{i}) \cap G^{F}} a+{g,t} - em_{w}^{emis} \le ALW_{t,w}; w \in W, t \in T\]

(28) Cap & Trade - Balance between allowances and emissions:

\[N_{t} \sum_{h \in H_{t}} EF_{g} \times p_{g,t,h} = a_{g,t} + b_{g,t-1} = b_{g,t}; g \in (\bigcup_{i \in I_{w}} G_{i}) \cap G_{F}, w \in W, t \in T\]

(29) Cap & Trade - No cross-year banking:

\[b_{g,1} = b_{g,end} = 0; g \in G_{F}\]

(30) Binary variables:

\[x_{g} = \{0,1 \}; \forall g \in G_{+} y_{l} = \{0,1 \}; \forall l \in L_{+} z_{s} = \{0,1 \}; \forall s \in S_{+}\]

(31) Nonnegative variable:

\[a_{g,t}, b_{g,t}, p_{g,t,h}, p_{d,t,h}^{LS}, c_{s,t,h}, soc_{s,t,h}, pt^{rps}, pw_{g,w}, pwi_{g,w,w'}, em^{emis} \\ -\ge 0\]

+\ge 0\]

diff --git a/dev/GTEP_inputs/index.html b/dev/GTEP_inputs/index.html index a1c51c4..d89a255 100644 --- a/dev/GTEP_inputs/index.html +++ b/dev/GTEP_inputs/index.html @@ -1,2 +1,2 @@ -GTEP Inputs · HOPE.jl

Notation

Sets and Indices


NotationDescription
$D$Set of demand, index $d$
$G$Set of all types of generating units, index $g$
$H$Set of hours, index $h$
$K$Set of technology types, index $k$
$T$Set of time periods (e.g., representative days of seasons), index $t$
$S$Set of storage units, index $s$
$I,J$Set of zones, index $i,j$
$L$Set of transmission corridors, index $l$
$W$Set of states, index $w/w’$

Subsets


NotationDescription
$D_{i}$Set of demand connected to zone $i$, a subset of $D$
$G^{PV}$, $G^{W}$, $G^{F}$Set of solar, wind, and dispatchable generators, respectively, subsets of $G$
$G^{RPS}$Set of generators could provide RPS credits, subsets of $G$
$G^{L}_{l}$Set of generators linked to line $i$, subset of $G$
$G_{i}$Set of generating units connected to zone $i$, subset of $G$
$G^{E}/G^{+}$Set of existing/candidate generation units, index $g$, subset of $G$
$H_{t}$Set of hours in time period (day) $t$, index $h$, subset of $H$
$S^{E}/S^{+}$Set of existing/candidate storage units, subset of $S$
$S_{i}$Set of storage units connected to zone $i$, subset of $S$
$L^{E}/L^{+}$Set of existing/candidate transmission corridors
$LS_{l}/LR_{l}$Set of sending/receiving corridors for zone $i$, subset of $L$
$WIR_{w}$Set of states that state w can import renewable credits from (includes $w$ itself), subset of $W$
$WER_{w}$Set of states that state w can export renewable credits to (excludes $w$ itself), subset of $W$

Parameters


NotationDescription
$ALW_{t,w}$Total carbon allowance in time period $t$ in state $w$, ton
$AFRE_{g,h,i}$Availability factor of renewable energy source $g$ in hour $h$ in zone $i$, $g \in G^{PV} \bigcup G^{W}$
$CC_{g/s}$Capacity credit of resource $g/s$, unitless
$CP_{g}$Carbon price of generation $g \in\ G^{F}$, M/t
$EF_{g}$Carbon emission factor of generator $g$, t/MWh
$ELMT_{w}$Carbon emission limits at state $w, t$
$F^{max}_{l}$Maximum capacity of transmission corridor/line $l$, MW
$\tilde{I}_{g}$Investment cost of candidate generator $g$, M$
$\tilde{I}_{l}$Investment cost of transmission line $l$, M$
$\tilde{I}_{s}$Investment cost of storage unit $s$, M$
$IBG$Total investment budget for generators
$IBL$Total investment budget for transmission lines
$IBS$Total investment budget for storages
$N_{t}$Number of time periods (days) represented by time period (day) $t$ per year, /sum{t /in T} N{t}
$NI_{i.h}$Net interchange in zone $i$ in hour $h, MWh
$P_{d,h}$Active power demand, MW
$PK$Peak power demand, MW
$PT^{rps}$RPS volitation penalty, /MWh
$PT^{emis}$Carbon emission volitation penalty, /t
$P_{g}^{min}/P_{g}^{max}$Minimum/Maximum power generation of unit $g$, MW
$RPS_{w}$Renewable portfolio standard in state $w$, %, unitless
$RM$Planning reserve margin, unitless
$SCAP_{s}$Maximum capacity of storage unit $s$, MW
$SECAP_{s}$Maximum energy capacity of storage unit $s$, MWh
$SC_{s}/SD_{s}$The maximum rates of charging/discharging, unitless
$VCG_{g}$Variable cost of generation unit $g$, / MWh
$VCS_{g}$Variable (degradation) cost of storage unit $s$, / MWh
$VOLL_{d}$Value of loss of load $d$, /MWh
$\epsilon_{ch}$Charging efficiency of storage unit $s$, unitless
$\epsilon_{dis}$Discharging efficiency of storage unit $s$, unitless

Variables


NotationDescription
$a_{g,t}$Bidding carbon allowance of unit $g$ in time period $t$, ton
$b_{g,t}$Banking of allowance of g in time period $t$, ton
$p_{g,t,h}$Active power generation of unit $g$ in time period $t$ hour $h$, MW
$pw_{g,w}$Total renewable generation of unit $g$ in state $w$, MWh
$p^{LS}_{d,t,h}$Load shedding of demand $d$ in time period $t$ in hour $h$, MW
$pt^{rps}_{w}$Amount of active power violated RPS policy in state $w$, MW
$pwi_{g,w,w'}$State $w$ imported renewable credits of from state $w'$ annually, MWh
$f_{l,t,h}$Active power of generator $g$ through transmission corridor/line $l$ in time period $t$ and hour $h$, MW
$em^{emis}_{w}$Carbon emission violated emission limit in state $w$, ton
$x_{g}$Decision variable for candidate generator $g$, binary
$y_{l}$Decision variable for candidate line $l$, binary
$z_{s}$Decision variable for candidate storage $s$, binary
$soc_{s,t,h}$State of charge level of storage $s$ in time period $t$ in hour $h$, MWh
$c_{s,t,h}$Charging power of storage $s$ from grid in time period $t$ in hour $h$, MW
$dc_{s,t,h}$Discharging power of storage $s$ from grid in time period $t$ in hour $h$, MW

+GTEP Inputs · HOPE.jl

Notation

Sets and Indices


NotationDescription
$D$Set of demand, index $d$
$G$Set of all types of generating units, index $g$
$H$Set of hours, index $h$
$K$Set of technology types, index $k$
$T$Set of time periods (e.g., representative days of seasons), index $t$
$S$Set of storage units, index $s$
$I,J$Set of zones, index $i,j$
$L$Set of transmission corridors, index $l$
$W$Set of states, index $w/w’$

Subsets


NotationDescription
$D_{i}$Set of demand connected to zone $i$, a subset of $D$
$G^{PV}$, $G^{W}$, $G^{F}$Set of solar, wind, and dispatchable generators, respectively, subsets of $G$
$G^{RPS}$Set of generators could provide RPS credits, subsets of $G$
$G^{L}_{l}$Set of generators linked to line $i$, subset of $G$
$G_{i}$Set of generating units connected to zone $i$, subset of $G$
$G^{E}/G^{+}$Set of existing/candidate generation units, index $g$, subset of $G$
$H_{t}$Set of hours in time period (day) $t$, index $h$, subset of $H$
$S^{E}/S^{+}$Set of existing/candidate storage units, subset of $S$
$S_{i}$Set of storage units connected to zone $i$, subset of $S$
$L^{E}/L^{+}$Set of existing/candidate transmission corridors
$LS_{l}/LR_{l}$Set of sending/receiving corridors for zone $i$, subset of $L$
$WIR_{w}$Set of states that state w can import renewable credits from (includes $w$ itself), subset of $W$
$WER_{w}$Set of states that state w can export renewable credits to (excludes $w$ itself), subset of $W$

Parameters


NotationDescription
$ALW_{t,w}$Total carbon allowance in time period $t$ in state $w$, ton
$AFRE_{g,h,i}$Availability factor of renewable energy source $g$ in hour $h$ in zone $i$, $g \in G^{PV} \bigcup G^{W}$
$CC_{g/s}$Capacity credit of resource $g/s$, unitless
$CP_{g}$Carbon price of generation $g \in\ G^{F}$, M/t
$EF_{g}$Carbon emission factor of generator $g$, t/MWh
$ELMT_{w}$Carbon emission limits at state $w, t$
$F^{max}_{l}$Maximum capacity of transmission corridor/line $l$, MW
$\tilde{I}_{g}$Investment cost of candidate generator $g$, M$
$\tilde{I}_{l}$Investment cost of transmission line $l$, M$
$\tilde{I}_{s}$Investment cost of storage unit $s$, M$
$IBG$Total investment budget for generators
$IBL$Total investment budget for transmission lines
$IBS$Total investment budget for storages
$N_{t}$Number of time periods (days) represented by time period (day) $t$ per year, /sum{t /in T} N{t}
$NI_{i.h}$Net interchange in zone $i$ in hour $h, MWh
$P_{d,h}$Active power demand, MW
$PK$Peak power demand, MW
$PT^{rps}$RPS volitation penalty, /MWh
$PT^{emis}$Carbon emission volitation penalty, /t
$P_{g}^{min}/P_{g}^{max}$Minimum/Maximum power generation of unit $g$, MW
$RPS_{w}$Renewable portfolio standard in state $w$, %, unitless
$RM$Planning reserve margin, unitless
$SCAP_{s}$Maximum capacity of storage unit $s$, MW
$SECAP_{s}$Maximum energy capacity of storage unit $s$, MWh
$SC_{s}/SD_{s}$The maximum rates of charging/discharging, unitless
$VCG_{g}$Variable cost of generation unit $g$, / MWh
$VCS_{g}$Variable (degradation) cost of storage unit $s$, / MWh
$VOLL_{d}$Value of loss of load $d$, /MWh
$\epsilon_{ch}$Charging efficiency of storage unit $s$, unitless
$\epsilon_{dis}$Discharging efficiency of storage unit $s$, unitless

Variables


NotationDescription
$a_{g,t}$Bidding carbon allowance of unit $g$ in time period $t$, ton
$b_{g,t}$Banking of allowance of g in time period $t$, ton
$p_{g,t,h}$Active power generation of unit $g$ in time period $t$ hour $h$, MW
$pw_{g,w}$Total renewable generation of unit $g$ in state $w$, MWh
$p^{LS}_{d,t,h}$Load shedding of demand $d$ in time period $t$ in hour $h$, MW
$pt^{rps}_{w}$Amount of active power violated RPS policy in state $w$, MW
$pwi_{g,w,w'}$State $w$ imported renewable credits of from state $w'$ annually, MWh
$f_{l,t,h}$Active power of generator $g$ through transmission corridor/line $l$ in time period $t$ and hour $h$, MW
$em^{emis}_{w}$Carbon emission violated emission limit in state $w$, ton
$x_{g}$Decision variable for candidate generator $g$, binary
$y_{l}$Decision variable for candidate line $l$, binary
$z_{s}$Decision variable for candidate storage $s$, binary
$soc_{s,t,h}$State of charge level of storage $s$ in time period $t$ in hour $h$, MWh
$c_{s,t,h}$Charging power of storage $s$ from grid in time period $t$ in hour $h$, MW
$dc_{s,t,h}$Discharging power of storage $s$ from grid in time period $t$ in hour $h$, MW

diff --git a/dev/PCM/index.html b/dev/PCM/index.html index 2cf0054..b52c0e2 100644 --- a/dev/PCM/index.html +++ b/dev/PCM/index.html @@ -14,4 +14,4 @@ \ge \sum_{i \in I_{w},h \in H} \sum_{d \in D_{i}} p_{d,h} \times RPS_{w};\\ w \in W \end{aligned}\]

(18) Cap & Trade - State carbon allowance cap:

\[\sum_{g \in (\bigcup_{i \in I_{w}} G_{i}) \cap G^{F}} a+{g,t} - \sum_{t \in T} N_{t} em_{w,h}^{emis} \le ALW_{t,w}; w \in W\]

(19) Cap & Trade - Balance between allowances and emissions:

\[\sum_{h \in H} EF_{g} \times p_{g,h} = a_{g,t} + b_{g,t-1} = b_{g,t}; g \in (\bigcup_{i \in I_{w}} G_{i}) \cap G_{F}, w \in W, t \in T\]

(20) Cap & Trade - No cross-year banking:

\[b_{g,1} = b_{g,end} = 0; g \in G_{F}\]

(21) Nonnegative variable:

\[a_{g,t}, b_{g,t}, p_{g,h}, p_{d,h}^{LS}, c_{s,h}, soc_{s,h}, pt^{rps}, pw_{g,w}, pwi_{g,w,w'}, em^{emis} \\ -\ge 0\]

+\ge 0\]

diff --git a/dev/PCM_inputs/index.html b/dev/PCM_inputs/index.html index 1ea6b80..9fea26c 100644 --- a/dev/PCM_inputs/index.html +++ b/dev/PCM_inputs/index.html @@ -1,2 +1,2 @@ -PCM Inputs · HOPE.jl

Notation

Sets and Indices


NotationDescription
$D$Set of demand, index $d$
$G$Set of all types of generating units, index $g$
$H$Set of hours, index $h$
$K$Set of technology types, index $k$
$T$Set of time periods (e.g., representative days of seasons), index $t$
$S$Set of storage units, index $s$
$I,J$Set of zones, index $i,j$
$L$Set of transmission corridors, index $l$
$W$Set of states, index $w/w’$

Subsets


NotationDescription
$D_{i}$Set of demand connected to zone $i$, a subset of $D$
$G^{PV}$, $G^{W}$, $G^{F}$Set of solar, wind, and dispatchable generators, respectively, subsets of $G$
$G^{RPS}$Set of generators could provide RPS credits, subsets of $G$
$G^{L}_{l}$Set of generators linked to line $i$, subset of $G$
$G_{i}$Set of generating units connected to zone $i$, subset of $G$
$G^{E}/G^{+}$Set of existing/candidate generation units, index $g$, subset of $G$
$H_{t}$Set of hours in time period (day) $t$, index $h$, subset of $H$
$S^{E}/S^{+}$Set of existing/candidate storage units, subset of $S$
$S_{i}$Set of storage units connected to zone $i$, subset of $S$
$L^{E}/L^{+}$Set of existing/candidate transmission corridors
$LS_{l}/LR_{l}$Set of sending/receiving corridors for zone $i$, subset of $L$
$WIR_{w}$Set of states that state w can import renewable credits from (includes $w$ itself), subset of $W$
$WER_{w}$Set of states that state w can export renewable credits to (excludes $w$ itself), subset of $W$

Parameters


NotationDescription
$ALW_{t,w}$Total carbon allowance in time period $t$ in state $w$, ton
$AFRE_{g,h,i}$Availability factor of renewable energy source $g$ in hour $h$ in zone $i$, $g \in G^{PV} \bigcup G^{W}$
$CC_{g/s}$Capacity credit of resource $g/s$, unitless
$CP_{g}$Carbon price of generation $g \in\ G^{F}$, M/t
$EF_{g}$Carbon emission factor of generator $g$, t/MWh
$ELMT_{w}$Carbon emission limits at state $w, t$
$F^{max}_{l}$Maximum capacity of transmission corridor/line $l$, MW
$\tilde{I}_{g}$Investment cost of candidate generator $g$, M$
$\tilde{I}_{l}$Investment cost of transmission line $l$, M$
$\tilde{I}_{s}$Investment cost of storage unit $s$, M$
$IBG$Total investment budget for generators
$IBL$Total investment budget for transmission lines
$IBS$Total investment budget for storages
$N_{t}$Number of time periods (days) represented by time period (day) $t$ per year, /sum{t /in T} N{t}
$NI_{i.h}$Net interchange in zone $i$ in hour $h, MWh
$P_{d,h}$Active power demand, MW
$PK$Peak power demand, MW
$PT^{rps}$RPS volitation penalty, /MWh
$PT^{emis}$Carbon emission volitation penalty, /t
$P_{g}^{min}/P_{g}^{max}$Minimum/Maximum power generation of unit $g$, MW
$RPS_{w}$Renewable portfolio standard in state $w$, %, unitless
$RM$Planning reserve margin, unitless
$SCAP_{s}$Maximum capacity of storage unit $s$, MW
$SECAP_{s}$Maximum energy capacity of storage unit $s$, MWh
$SC_{s}/SD_{s}$The maximum rates of charging/discharging, unitless
$VCG_{g}$Variable cost of generation unit $g$, / MWh
$VCS_{g}$Variable (degradation) cost of storage unit $s$, / MWh
$VOLL_{d}$Value of loss of load $d$, /MWh
$\epsilon_{ch}$Charging efficiency of storage unit $s$, unitless
$\epsilon_{dis}$Discharging efficiency of storage unit $s$, unitless

Variables


NotationDescription
$a_{g,t}$Bidding carbon allowance of unit $g$ in time period $t$, ton
$b_{g,t}$Banking of allowance of g in time period $t$, ton
$p_{g,t,h}$Active power generation of unit $g$ in time period $t$ hour $h$, MW
$pw_{g,w}$Total renewable generation of unit $g$ in state $w$, MWh
$p^{LS}_{d,t,h}$Load shedding of demand $d$ in time period $t$ in hour $h$, MW
$pt^{rps}_{w}$Amount of active power violated RPS policy in state $w$, MW
$pwi_{g,w,w'}$State $w$ imported renewable credits of from state $w'$ annually, MWh
$f_{l,t,h}$Active power of generator $g$ through transmission corridor/line $l$ in time period $t$ and hour $h$, MW
$em^{emis}_{w}$Carbon emission violated emission limit in state $w$, ton
$x_{g}$Decision variable for candidate generator $g$, binary
$y_{l}$Decision variable for candidate line $l$, binary
$z_{s}$Decision variable for candidate storage $s$, binary
$soc_{s,t,h}$State of charge level of storage $s$ in time period $t$ in hour $h$, MWh
$c_{s,t,h}$Charging power of storage $s$ from grid in time period $t$ in hour $h$, MW
$dc_{s,t,h}$Discharging power of storage $s$ from grid in time period $t$ in hour $h$, MW

+PCM Inputs · HOPE.jl

Notation

Sets and Indices


NotationDescription
$D$Set of demand, index $d$
$G$Set of all types of generating units, index $g$
$H$Set of hours, index $h$
$K$Set of technology types, index $k$
$T$Set of time periods (e.g., representative days of seasons), index $t$
$S$Set of storage units, index $s$
$I,J$Set of zones, index $i,j$
$L$Set of transmission corridors, index $l$
$W$Set of states, index $w/w’$

Subsets


NotationDescription
$D_{i}$Set of demand connected to zone $i$, a subset of $D$
$G^{PV}$, $G^{W}$, $G^{F}$Set of solar, wind, and dispatchable generators, respectively, subsets of $G$
$G^{RPS}$Set of generators could provide RPS credits, subsets of $G$
$G^{L}_{l}$Set of generators linked to line $i$, subset of $G$
$G_{i}$Set of generating units connected to zone $i$, subset of $G$
$G^{E}/G^{+}$Set of existing/candidate generation units, index $g$, subset of $G$
$H_{t}$Set of hours in time period (day) $t$, index $h$, subset of $H$
$S^{E}/S^{+}$Set of existing/candidate storage units, subset of $S$
$S_{i}$Set of storage units connected to zone $i$, subset of $S$
$L^{E}/L^{+}$Set of existing/candidate transmission corridors
$LS_{l}/LR_{l}$Set of sending/receiving corridors for zone $i$, subset of $L$
$WIR_{w}$Set of states that state w can import renewable credits from (includes $w$ itself), subset of $W$
$WER_{w}$Set of states that state w can export renewable credits to (excludes $w$ itself), subset of $W$

Parameters


NotationDescription
$ALW_{t,w}$Total carbon allowance in time period $t$ in state $w$, ton
$AFRE_{g,h,i}$Availability factor of renewable energy source $g$ in hour $h$ in zone $i$, $g \in G^{PV} \bigcup G^{W}$
$CC_{g/s}$Capacity credit of resource $g/s$, unitless
$CP_{g}$Carbon price of generation $g \in\ G^{F}$, M/t
$EF_{g}$Carbon emission factor of generator $g$, t/MWh
$ELMT_{w}$Carbon emission limits at state $w, t$
$F^{max}_{l}$Maximum capacity of transmission corridor/line $l$, MW
$\tilde{I}_{g}$Investment cost of candidate generator $g$, M$
$\tilde{I}_{l}$Investment cost of transmission line $l$, M$
$\tilde{I}_{s}$Investment cost of storage unit $s$, M$
$IBG$Total investment budget for generators
$IBL$Total investment budget for transmission lines
$IBS$Total investment budget for storages
$N_{t}$Number of time periods (days) represented by time period (day) $t$ per year, /sum{t /in T} N{t}
$NI_{i.h}$Net interchange in zone $i$ in hour $h, MWh
$P_{d,h}$Active power demand, MW
$PK$Peak power demand, MW
$PT^{rps}$RPS volitation penalty, /MWh
$PT^{emis}$Carbon emission volitation penalty, /t
$P_{g}^{min}/P_{g}^{max}$Minimum/Maximum power generation of unit $g$, MW
$RPS_{w}$Renewable portfolio standard in state $w$, %, unitless
$RM$Planning reserve margin, unitless
$SCAP_{s}$Maximum capacity of storage unit $s$, MW
$SECAP_{s}$Maximum energy capacity of storage unit $s$, MWh
$SC_{s}/SD_{s}$The maximum rates of charging/discharging, unitless
$VCG_{g}$Variable cost of generation unit $g$, / MWh
$VCS_{g}$Variable (degradation) cost of storage unit $s$, / MWh
$VOLL_{d}$Value of loss of load $d$, /MWh
$\epsilon_{ch}$Charging efficiency of storage unit $s$, unitless
$\epsilon_{dis}$Discharging efficiency of storage unit $s$, unitless

Variables


NotationDescription
$a_{g,t}$Bidding carbon allowance of unit $g$ in time period $t$, ton
$b_{g,t}$Banking of allowance of g in time period $t$, ton
$p_{g,t,h}$Active power generation of unit $g$ in time period $t$ hour $h$, MW
$pw_{g,w}$Total renewable generation of unit $g$ in state $w$, MWh
$p^{LS}_{d,t,h}$Load shedding of demand $d$ in time period $t$ in hour $h$, MW
$pt^{rps}_{w}$Amount of active power violated RPS policy in state $w$, MW
$pwi_{g,w,w'}$State $w$ imported renewable credits of from state $w'$ annually, MWh
$f_{l,t,h}$Active power of generator $g$ through transmission corridor/line $l$ in time period $t$ and hour $h$, MW
$em^{emis}_{w}$Carbon emission violated emission limit in state $w$, ton
$x_{g}$Decision variable for candidate generator $g$, binary
$y_{l}$Decision variable for candidate line $l$, binary
$z_{s}$Decision variable for candidate storage $s$, binary
$soc_{s,t,h}$State of charge level of storage $s$ in time period $t$ in hour $h$, MWh
$c_{s,t,h}$Charging power of storage $s$ from grid in time period $t$ in hour $h$, MW
$dc_{s,t,h}$Discharging power of storage $s$ from grid in time period $t$ in hour $h$, MW

diff --git a/dev/index.html b/dev/index.html index 09837c2..282119d 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,2 +1,2 @@ -Introduction · HOPE.jl

HOPE Documentation

Overview

The Holistic Optimization Program for Electricity (HOPE) model is a transparent and open-source tool for evaluating electric sector transition pathways and policy scenarios regarding power system planning, system operation, optimal power flow, and market designs. It is a highly configurable and modulized tool coded in the Julia language and optimization package JuMP. The HOPE consists of multiple modes for modeling optimization problems of modern power systems and electricity markets, including:

  1. GTEP mode: a generation & transmission expansion planning model
  2. PCM mode: a production cost model
  3. OPF mode: (under development): an optimal power flow model
  4. DART mode: (under development): a bilevel market model for simulating day-head and real-time markets

Users can select the proper mode of HOPE based on their research needs. Each mode is modeled as linear or mixed-integer linear programming and can be solved with open-source (e.g., Cbc, GLPK, Clp, etc.) or commercial (e.g., Groubi and CPLEX) solver packages.

Contributors

The HOPE model was originally developed by a team of researchers in Prof. Benjamin F. Hobbs's group at Johns Hopkins University. The main developers of the current HOPE version include Dr. Shen Wang, Dr. Mahdi Mehrtash, and Zoe Song.

+Introduction · HOPE.jl

HOPE Documentation

Overview

The Holistic Optimization Program for Electricity (HOPE) model is a transparent and open-source tool for evaluating electric sector transition pathways and policy scenarios regarding power system planning, system operation, optimal power flow, and market designs. It is a highly configurable and modulized tool coded in the Julia language and optimization package JuMP. The HOPE consists of multiple modes for modeling optimization problems of modern power systems and electricity markets, including:

  1. GTEP mode: a generation & transmission expansion planning model
  2. PCM mode: a production cost model
  3. OPF mode: (under development): an optimal power flow model
  4. DART mode: (under development): a bilevel market model for simulating day-head and real-time markets

Users can select the proper mode of HOPE based on their research needs. Each mode is modeled as linear or mixed-integer linear programming and can be solved with open-source (e.g., Cbc, GLPK, Clp, etc.) or commercial (e.g., Groubi and CPLEX) solver packages.

Contributors

The HOPE model was originally developed by a team of researchers in Prof. Benjamin F. Hobbs's group at Johns Hopkins University. The main developers of the current HOPE version include Dr. Shen Wang, Dr. Mahdi Mehrtash, and Zoe Song.

diff --git a/dev/installation/index.html b/dev/installation/index.html index f48c253..5aa6f94 100644 --- a/dev/installation/index.html +++ b/dev/installation/index.html @@ -1,2 +1,2 @@ -Installation · HOPE.jl

Installation

1. Install Julia

Install Julia language. A short video tutorial on how to download and install Julia is provided here.

2. Download HOPE repository

Clone or download the HOPE repository to your local directory - click the green "Code" button on the HOPE main page and choose "Download ZIP" (remember to change the folder name to HOPE after you decompress the zip file). You need to save the HOPE project in your home directory like: /yourpath/home/HOPE. image

3. Solver Packages

The open-source solver packages (e.g., Cbc, GLPK, Clp, etc.) will be automatically installed in step 2. While the commercial solver packages (e.g., Groubi and CPLEX) should be installed by users (if needed) by following their instructions.

pkg> add https://github.com/swang22/HOPE.jl
+Installation · HOPE.jl

Installation

1. Install Julia

Install Julia language. A short video tutorial on how to download and install Julia is provided here.

2. Download HOPE repository

Clone or download the HOPE repository to your local directory - click the green "Code" button on the HOPE main page and choose "Download ZIP" (remember to change the folder name to HOPE after you decompress the zip file). You need to save the HOPE project in your home directory like: /yourpath/home/HOPE. image

3. Solver Packages

The open-source solver packages (e.g., Cbc, GLPK, Clp, etc.) will be automatically installed in step 2. While the commercial solver packages (e.g., Groubi and CPLEX) should be installed by users (if needed) by following their instructions.

pkg> add https://github.com/swang22/HOPE.jl
diff --git a/dev/model_introduction/index.html b/dev/model_introduction/index.html index 77a179c..09acd96 100644 --- a/dev/model_introduction/index.html +++ b/dev/model_introduction/index.html @@ -1,2 +1,2 @@ -Model Introduction · HOPE.jl

Model Overview

The HOPE consists of multiple modes for modeling optimization problems of modern power systems and electricity markets, including:

  1. GTEP mode: a generation & transmission expansion planning model
  2. PCM mode: a production cost model
  3. OPF mode: (under development): an optimal power flow model
  4. DART mode: (under development): a bilevel market model for simulating day-head and real-time markets
+Model Introduction · HOPE.jl

Model Overview

The HOPE consists of multiple modes for modeling optimization problems of modern power systems and electricity markets, including:

  1. GTEP mode: a generation & transmission expansion planning model
  2. PCM mode: a production cost model
  3. OPF mode: (under development): an optimal power flow model
  4. DART mode: (under development): a bilevel market model for simulating day-head and real-time markets
diff --git a/dev/notation/index.html b/dev/notation/index.html index 6f023f1..05a6ad2 100644 --- a/dev/notation/index.html +++ b/dev/notation/index.html @@ -1,2 +1,2 @@ -Notation · HOPE.jl

Nomenclature

Sets and Indices


NotationDescription
$D$Set of demand, index $d$
$G$Set of all types of generating units, index $g$
$H$Set of hours, index $h$
$K$Set of technology types, index $k$
$T$Set of time periods (e.g., representative days of seasons), index $t$
$S$Set of storage units, index $s$
$I,J$Set of zones, index $i,j$
$L$Set of transmission corridors, index $l$
$W$Set of states, index $w/w’$

Subsets


NotationDescription
$D_{i}$Set of demand connected to zone $i$, a subset of $D$
$G^{PV}$, $G^{W}$, $G^{F}$Set of solar, wind, and dispatchable generators, respectively, subsets of $G$
$G^{RPS}$Set of generators could provide RPS credits, subsets of $G$
$G^{L}_{l}$Set of generators linked to line $i$, subset of $G$
$G_{i}$Set of generating units connected to zone $i$, subset of $G$
$G^{E}/G^{+}$Set of existing/candidate generation units, index $g$, subset of $G$
$H_{t}$Set of hours in time period (day) $t$, index $h$, subset of $H$
$S^{E}/S^{+}$Set of existing/candidate storage units, subset of $S$
$S_{i}$Set of storage units connected to zone $i$, subset of $S$
$L^{E}/L^{+}$Set of existing/candidate transmission corridors
$LS_{l}/LR_{l}$Set of sending/receiving corridors for zone $i$, subset of $L$
$WIR_{w}$Set of states that state w can import renewable credits from (includes $w$ itself), subset of $W$
$WER_{w}$Set of states that state w can export renewable credits to (excludes $w$ itself), subset of $W$

Parameters


NotationDescription
$ALW_{t,w}$Total carbon allowance in time period $t$ in state $w$, ton
$AFRE_{g,h,i}$Availability factor of renewable energy source $g$ in hour $h$ in zone $i$, $g \in G^{PV} \bigcup G^{W}$
$CC_{g/s}$Capacity credit of resource $g/s$, unitless
$CP_{g}$Carbon price of generation $g \in\ G^{F}$, M/t
$EF_{g}$Carbon emission factor of generator $g$, t/MWh
$ELMT_{w}$Carbon emission limits at state $w, t$
$F^{max}_{l}$Maximum capacity of transmission corridor/line $l$, MW
$\tilde{I}_{g}$Investment cost of candidate generator $g$, M$
$\tilde{I}_{l}$Investment cost of transmission line $l$, M$
$\tilde{I}_{s}$Investment cost of storage unit $s$, M$
$IBG$Total investment budget for generators
$IBL$Total investment budget for transmission lines
$IBS$Total investment budget for storages
$N_{t}$Number of time periods (days) represented by time period (day) $t$ per year, /sum{t /in T} N{t}
$NI_{i.h}$Net interchange in zone $i$ in hour $h, MWh
$P_{d,h}$Active power demand, MW
$PK$Peak power demand, MW
$PT^{rps}$RPS volitation penalty, /MWh
$PT^{emis}$Carbon emission volitation penalty, /t
$P_{g}^{min}/P_{g}^{max}$Minimum/Maximum power generation of unit $g$, MW
$RPS_{w}$Renewable portfolio standard in state $w$, %, unitless
$RM$Planning reserve margin, unitless
$SCAP_{s}$Maximum capacity of storage unit $s$, MW
$SECAP_{s}$Maximum energy capacity of storage unit $s$, MWh
$SC_{s}/SD_{s}$The maximum rates of charging/discharging, unitless
$VCG_{g}$Variable cost of generation unit $g$, / MWh
$VCS_{g}$Variable (degradation) cost of storage unit $s$, / MWh
$VOLL_{d}$Value of loss of load $d$, /MWh
$\epsilon_{ch}$Charging efficiency of storage unit $s$, unitless
$\epsilon_{dis}$Discharging efficiency of storage unit $s$, unitless

Variables


NotationDescription
$a_{g,t}$Bidding carbon allowance of unit $g$ in time period $t$, ton
$b_{g,t}$Banking of allowance of g in time period $t$, ton
$p_{g,t,h}$Active power generation of unit $g$ in time period $t$ hour $h$, MW
$pw_{g,w}$Total renewable generation of unit $g$ in state $w$, MWh
$p^{LS}_{d,t,h}$Load shedding of demand $d$ in time period $t$ in hour $h$, MW
$pt^{rps}_{w}$Amount of active power violated RPS policy in state $w$, MW
$pwi_{g,w,w'}$State $w$ imported renewable credits of from state $w'$ annually, MWh
$f_{l,t,h}$Active power of generator $g$ through transmission corridor/line $l$ in time period $t$ and hour $h$, MW
$em^{emis}_{w}$Carbon emission violated emission limit in state $w$, ton
$x_{g}$Decision variable for candidate generator $g$, binary
$y_{l}$Decision variable for candidate line $l$, binary
$z_{s}$Decision variable for candidate storage $s$, binary
$soc_{s,t,h}$State of charge level of storage $s$ in time period $t$ in hour $h$, MWh
$c_{s,t,h}$Charging power of storage $s$ from grid in time period $t$ in hour $h$, MW
$dc_{s,t,h}$Discharging power of storage $s$ from grid in time period $t$ in hour $h$, MW

+Notation · HOPE.jl

Nomenclature

Sets and Indices


NotationDescription
$D$Set of demand, index $d$
$G$Set of all types of generating units, index $g$
$H$Set of hours, index $h$
$K$Set of technology types, index $k$
$T$Set of time periods (e.g., representative days of seasons), index $t$
$S$Set of storage units, index $s$
$I,J$Set of zones, index $i,j$
$L$Set of transmission corridors, index $l$
$W$Set of states, index $w/w’$

Subsets


NotationDescription
$D_{i}$Set of demand connected to zone $i$, a subset of $D$
$G^{PV}$, $G^{W}$, $G^{F}$Set of solar, wind, and dispatchable generators, respectively, subsets of $G$
$G^{RPS}$Set of generators could provide RPS credits, subsets of $G$
$G^{L}_{l}$Set of generators linked to line $i$, subset of $G$
$G_{i}$Set of generating units connected to zone $i$, subset of $G$
$G^{E}/G^{+}$Set of existing/candidate generation units, index $g$, subset of $G$
$H_{t}$Set of hours in time period (day) $t$, index $h$, subset of $H$
$S^{E}/S^{+}$Set of existing/candidate storage units, subset of $S$
$S_{i}$Set of storage units connected to zone $i$, subset of $S$
$L^{E}/L^{+}$Set of existing/candidate transmission corridors
$LS_{l}/LR_{l}$Set of sending/receiving corridors for zone $i$, subset of $L$
$WIR_{w}$Set of states that state w can import renewable credits from (includes $w$ itself), subset of $W$
$WER_{w}$Set of states that state w can export renewable credits to (excludes $w$ itself), subset of $W$

Parameters


NotationDescription
$ALW_{t,w}$Total carbon allowance in time period $t$ in state $w$, ton
$AFRE_{g,h,i}$Availability factor of renewable energy source $g$ in hour $h$ in zone $i$, $g \in G^{PV} \bigcup G^{W}$
$CC_{g/s}$Capacity credit of resource $g/s$, unitless
$CP_{g}$Carbon price of generation $g \in\ G^{F}$, M/t
$EF_{g}$Carbon emission factor of generator $g$, t/MWh
$ELMT_{w}$Carbon emission limits at state $w, t$
$F^{max}_{l}$Maximum capacity of transmission corridor/line $l$, MW
$\tilde{I}_{g}$Investment cost of candidate generator $g$, M$
$\tilde{I}_{l}$Investment cost of transmission line $l$, M$
$\tilde{I}_{s}$Investment cost of storage unit $s$, M$
$IBG$Total investment budget for generators
$IBL$Total investment budget for transmission lines
$IBS$Total investment budget for storages
$N_{t}$Number of time periods (days) represented by time period (day) $t$ per year, /sum{t /in T} N{t}
$NI_{i.h}$Net interchange in zone $i$ in hour $h, MWh
$P_{d,h}$Active power demand, MW
$PK$Peak power demand, MW
$PT^{rps}$RPS volitation penalty, /MWh
$PT^{emis}$Carbon emission volitation penalty, /t
$P_{g}^{min}/P_{g}^{max}$Minimum/Maximum power generation of unit $g$, MW
$RPS_{w}$Renewable portfolio standard in state $w$, %, unitless
$RM$Planning reserve margin, unitless
$SCAP_{s}$Maximum capacity of storage unit $s$, MW
$SECAP_{s}$Maximum energy capacity of storage unit $s$, MWh
$SC_{s}/SD_{s}$The maximum rates of charging/discharging, unitless
$VCG_{g}$Variable cost of generation unit $g$, / MWh
$VCS_{g}$Variable (degradation) cost of storage unit $s$, / MWh
$VOLL_{d}$Value of loss of load $d$, /MWh
$\epsilon_{ch}$Charging efficiency of storage unit $s$, unitless
$\epsilon_{dis}$Discharging efficiency of storage unit $s$, unitless

Variables


NotationDescription
$a_{g,t}$Bidding carbon allowance of unit $g$ in time period $t$, ton
$b_{g,t}$Banking of allowance of g in time period $t$, ton
$p_{g,t,h}$Active power generation of unit $g$ in time period $t$ hour $h$, MW
$pw_{g,w}$Total renewable generation of unit $g$ in state $w$, MWh
$p^{LS}_{d,t,h}$Load shedding of demand $d$ in time period $t$ in hour $h$, MW
$pt^{rps}_{w}$Amount of active power violated RPS policy in state $w$, MW
$pwi_{g,w,w'}$State $w$ imported renewable credits of from state $w'$ annually, MWh
$f_{l,t,h}$Active power of generator $g$ through transmission corridor/line $l$ in time period $t$ and hour $h$, MW
$em^{emis}_{w}$Carbon emission violated emission limit in state $w$, ton
$x_{g}$Decision variable for candidate generator $g$, binary
$y_{l}$Decision variable for candidate line $l$, binary
$z_{s}$Decision variable for candidate storage $s$, binary
$soc_{s,t,h}$State of charge level of storage $s$ in time period $t$ in hour $h$, MWh
$c_{s,t,h}$Charging power of storage $s$ from grid in time period $t$ in hour $h$, MW
$dc_{s,t,h}$Discharging power of storage $s$ from grid in time period $t$ in hour $h$, MW

diff --git a/dev/reference/index.html b/dev/reference/index.html index 4a4e5e2..5370e3c 100644 --- a/dev/reference/index.html +++ b/dev/reference/index.html @@ -1,2 +1,2 @@ -- · HOPE.jl
+- · HOPE.jl
diff --git a/dev/run_case/index.html b/dev/run_case/index.html index 75f8767..e057b80 100644 --- a/dev/run_case/index.html +++ b/dev/run_case/index.html @@ -1,2 +1,2 @@ -Run a case · HOPE.jl

Run a Case in HOPE

Using VScode to Run a Case (Recommended)

Install Visual Studio Code: Download VScode and install it. A short video tutorial on how to install VScode and add Julia to it can be found here.

(1) Open the VScode, click the 'File' tab, select 'Open Folder...', and navigate to your home working directory:/yourpath/home (The home directory in the examples below is named Maryland-Electric-Sector-Transition).

(2) In the VScode TERMINAL, type Julia and press the "Enter" button. Julia will be opened as below:

image

(3) Type ] into the Julia package mode, and type activate HOPE (if you are in your home directory) or activate yourpath/home/HOPE (if you are not in your home directory), you will see prompt (@v1.8) pkg> changing to (HOPE) pkg>, which means the HOPE project is activated successfully.

image

(4) Type instantiate in the (HOPE) pkg prompt (make sure you are in your home directory, not the home/HOPE directory!).

(5) Type st to check that the dependencies (packages that HOPE needs) have been installed. Type up to update the version of dependencies (packages). (This step may take some time when you install HOPE for the first time. After the HOPE is successfully installed, you can skip this step)

image

(6) If there is no error in the above processes, the HOPE model has been successfully installed! Then, press Backspace button to return to the Juila prompt. To run an example case (e.g., default Maryland 2035 case in PCM mode), type using HOPE, and type HOPE.run_hope("HOPE/ModelCases/MD_Excel_case/"), you will see the HOPE is running:

image

The results will be saved in yourpath/home/HOPE/ModelCases/MD_Excel_case/output.

image

(7) For your future new runs, you can skip steps 4 and 5, and just follow steps 1, 2, 3, 6.

Using System Terminal to Run a Case

You can use a system terminal either with a "Windows system" or a "Mac system" to run a test case. See details below.

Windows users

(1) Open Command Prompt from Windows Start and navigate to your home path:/yourpath/home.

(2) Type julia. Julia will be opened as below:

image

(3) Type ] into the Julia package mode, and type activate HOPE (if you are in your home directory), you will see prompt (@v1.8) pkg> changing to (HOPE) pkg>, which means the HOPE project is activated successfully.

(4) Type instantiate in the (HOPE) pkg prompt. ( After the HOPE is successfully installed, you can skip this step)

(5) Type st to check that the dependencies (packages that HOPE needs) have been installed. Type up to update the version of dependencies (packages). (This step may take some time when you install HOPE for the first time. After the HOPE is successfully installed, you can skip this step)

image

(6) If there is no error in the above processes, the HOPE model has been successfully installed. Then, click Backspace to return to the Juila prompt. To run an example case (e.g., default Maryland 2035 case in PCM mode), type using HOPE, and type HOPE.run_hope("HOPE/ModelCases/MD_Excel_case/"), you will see the HOPE is running:

image

The results will be saved in yourpath/home/HOPE/ModelCases/MD_Excel_case/output.

image

(7) For your future new runs, you can skip steps 4 and 5, and just follow steps 1, 2, 3, 6.

+Run a case · HOPE.jl

Run a Case in HOPE

Using VScode to Run a Case (Recommended)

Install Visual Studio Code: Download VScode and install it. A short video tutorial on how to install VScode and add Julia to it can be found here.

(1) Open the VScode, click the 'File' tab, select 'Open Folder...', and navigate to your home working directory:/yourpath/home (The home directory in the examples below is named Maryland-Electric-Sector-Transition).

(2) In the VScode TERMINAL, type Julia and press the "Enter" button. Julia will be opened as below:

image

(3) Type ] into the Julia package mode, and type activate HOPE (if you are in your home directory) or activate yourpath/home/HOPE (if you are not in your home directory), you will see prompt (@v1.8) pkg> changing to (HOPE) pkg>, which means the HOPE project is activated successfully.

image

(4) Type instantiate in the (HOPE) pkg prompt (make sure you are in your home directory, not the home/HOPE directory!).

(5) Type st to check that the dependencies (packages that HOPE needs) have been installed. Type up to update the version of dependencies (packages). (This step may take some time when you install HOPE for the first time. After the HOPE is successfully installed, you can skip this step)

image

(6) If there is no error in the above processes, the HOPE model has been successfully installed! Then, press Backspace button to return to the Juila prompt. To run an example case (e.g., default Maryland 2035 case in PCM mode), type using HOPE, and type HOPE.run_hope("HOPE/ModelCases/MD_Excel_case/"), you will see the HOPE is running:

image

The results will be saved in yourpath/home/HOPE/ModelCases/MD_Excel_case/output.

image

(7) For your future new runs, you can skip steps 4 and 5, and just follow steps 1, 2, 3, 6.

Using System Terminal to Run a Case

You can use a system terminal either with a "Windows system" or a "Mac system" to run a test case. See details below.

Windows users

(1) Open Command Prompt from Windows Start and navigate to your home path:/yourpath/home.

(2) Type julia. Julia will be opened as below:

image

(3) Type ] into the Julia package mode, and type activate HOPE (if you are in your home directory), you will see prompt (@v1.8) pkg> changing to (HOPE) pkg>, which means the HOPE project is activated successfully.

(4) Type instantiate in the (HOPE) pkg prompt. ( After the HOPE is successfully installed, you can skip this step)

(5) Type st to check that the dependencies (packages that HOPE needs) have been installed. Type up to update the version of dependencies (packages). (This step may take some time when you install HOPE for the first time. After the HOPE is successfully installed, you can skip this step)

image

(6) If there is no error in the above processes, the HOPE model has been successfully installed. Then, click Backspace to return to the Juila prompt. To run an example case (e.g., default Maryland 2035 case in PCM mode), type using HOPE, and type HOPE.run_hope("HOPE/ModelCases/MD_Excel_case/"), you will see the HOPE is running:

image

The results will be saved in yourpath/home/HOPE/ModelCases/MD_Excel_case/output.

image

(7) For your future new runs, you can skip steps 4 and 5, and just follow steps 1, 2, 3, 6.