Skip to content

Commit

Permalink
more corrections
Browse files Browse the repository at this point in the history
  • Loading branch information
samgdotson committed Jan 29, 2025
1 parent 739285b commit 0a5aae1
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 15 deletions.
19 changes: 12 additions & 7 deletions docs/3-osier/32-genetic-algorithms.tex
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ \subsection{Specific \Aclp{ga}} The variety of \acp{ga} comes from different
types of operators being applied to the selection, crossover, and mutation
steps. Section \ref{section:moo-in-energy} showed that \ac{nsga2} is a popular
genetic algorithm choice. However, this algorithm performs poorly with greater
than three objectives \cite{deb_fast_2002, seada_unified_2016}. In this thesis,
I use a more modern algorithm, \ac{unsga3}. \ac{unsga3} builds on its
than three objectives \cite{deb_fast_2002, seada_unified_2016}. This thesis
uses a more modern algorithm, \ac{unsga3}. \ac{unsga3} builds on its
predecessors \ac{nsga2} and \ac{nsga3} by unifying efficient solutions of mono-,
multi-, and many-objective problems in a single algorithm.

Expand All @@ -76,7 +76,8 @@ \subsection{Specific \Aclp{ga}} The variety of \acp{ga} comes from different
blank_generating_2021}. In this thesis, I use the Riesz s- Energy method
described by Blank et al. to calculate these points for a problem with an
arbitrary number of objectives \cite{blank_generating_2021}. Figure
\ref{fig:ref-dirs} illustrates a set of initialized reference directions.
\ref{fig:ref-dirs} illustrates a set of initialized reference directions used
in such methods.

\begin{figure}[h]
\centering
Expand All @@ -90,6 +91,7 @@ \subsection{Specific \Aclp{ga}} The variety of \acp{ga} comes from different
objectives by introducing the binary tournament from \ac{nsga2} and reducing to
the most efficient algorithm for the problem at hand \cite{seada_unified_2016}.
Chapter \ref{chapter:benchmark-results} demonstrates these three algorithms in
Section \ref{section:4-exercise-1}.

\subsection{Hyperparameter Tuning}
Similar to other machine learning models, \acp{ga} have several hyperparameters
Expand All @@ -99,9 +101,9 @@ \subsection{Hyperparameter Tuning}
hyperparameters is often performed using either a grid search or random sampling
\cite{bergstra_random_2012}. This thesis adopts the approach from Blank and Deb
\cite{blank_pymoo_2020} using a genetic algorithm to identify the ideal
hyperparameters. A problem is converted into a single objective problem using
the desired algorithm, then a second genetic algorithm drives the problem where
the decision variables are hyperparameters of the desired algorithm.
hyperparameters. A multi-objective problem is converted into a single objective problem
by choosing one objective and optimized with the target \ac{ga}, then a second \ac{ga}
drives a new problem where the decision variables are hyperparameters of the desired algorithm.

\subsection{Convergence}
There are several ways to stop a simulation in \ac{pymoo}. A simulation may end
Expand Down Expand Up @@ -135,7 +137,10 @@ \subsection{\acs{pymoo} and \acs{deap}}
tools and hyperparameter tuning. \ac{deap} is another open-source library
offering a toolkit for constructing \acp{ga} and therefore has fewer prepackaged
algorithms than \ac{pymoo}. There are robust reasons to use both libraries, so
\ac{osier} facilitates both.
\ac{osier} facilitates both. \ac{pymoo} provides a broader range of tools
while \ac{deap} enables greater flexibility with \ac{ga} implementation and more
straightforward procedures for stopping a simulation and restarting at a later
time.



Expand Down
17 changes: 10 additions & 7 deletions docs/3-osier/33-dispatch-model.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ \section{Dispatch Model}
\ac{osier} offers two models for dispatching energy. The first is a merit order
dispatch model that optimally dispatches electricity according to the marginal
cost of generation with perfect foresight. This model is formulated as a
\acf{lp} and written in \ac{pyomo}. Similarly, the second dispatch model follows
linear program and written in \ac{pyomo}. Similarly, the second dispatch model follows
merit-order but electricity is dispatched according to a hierarchy of rules and
is myopic. This approach facilitates parallelization and reduces the overhead
cost of problem setup. However, dispatch solutions may be sub-optimal compared
to the \ac{lp} formulation.
is myopic, unaware of future timesteps. This approach facilitates parallelization
and reduces the overhead cost of problem setup. However, dispatch solutions may be
sub-optimal compared to the \ac{lp} formulation.

\subsection{Economic/Merit-order dispatch}
\subsection{Optimal dispatch}
\label{section:merit_order}

The economic dispatch model minimizes the generation cost subject to physical
Expand Down Expand Up @@ -59,7 +59,9 @@ \subsection{Economic/Merit-order dispatch}
charging and discharging from storage technologies. I used this approach because
constraining this behavior requires a binary variable that makes the problem
non-convex and therefore requires a more sophisticated solver. A small but
sufficiently large $\pi$ will always nullify the penalty term. This dispatch
sufficiently large $\pi$ will always nullify the penalty term. That is,
the model will never prefer simultaneous charging and discharging over avoiding
even a slight penalty. This dispatch
model reflects the minimum physical constraints for an energy system without
considering fine-scale operational details such as frequency control. Equation
\ref{eq:dispatch-objective} assumes that the retail cost for generating
Expand All @@ -75,7 +77,8 @@ \subsection{Hierarchical dispatch}
electricity demand time series. A second loop runs through the sorted list of
technology objects and calculates the power output for each technology. There
are three broad types of technologies in \ac{osier}: Standard technologies,
ramping technologies, and storage technologies. The power output for a standard
ramping technologies (e.g., conventional coal and nuclear plants), and storage
technologies (e.g., fly-wheels, \acp{lib}). The power output for a standard
technology is given by

\begin{align}
Expand Down
4 changes: 3 additions & 1 deletion docs/acros.tex
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,6 @@
\acro{mca}[MCA]{municipal choice aggregation}
\acro{imea}[IMEA]{Illinois Municipal Electric Agency}
\acro{ppa}[PPA]{power purchase agreement}
\acro{pypsa}[\texttt{PyPSA}]{Python for Power Systems Analysis}
\acro{pypsa}[\texttt{PyPSA}]{Python for Power Systems Analysis}
\acro{lib}[LiB]{lithium-ion battery}
\acrodefplural{lib}[LiBs]{lithium-ion batteries}

0 comments on commit 0a5aae1

Please sign in to comment.