\section{Results and discussion}

We evaluate the proposed framework and the various beading schemes on a set of different types of 3D models, ranging over various applications and various types of geometry.
The data set is described in Appendix~\ref{dataset}.
We sliced all models in the data set and selected 300 random slices for analysis.
Toolpaths of these 300 outline shapes are generated using the uniform technique as implemented by Clipper~\cite{johnson2014clipper} -- a state-of-the-art polygon offset library,
and by our framework using four beading schemes, i.e. the constant bead count scheme with a bead count of $C=4$, the centered, the evenly distributed, and the inward distributed beading scheme using \revise{$N=3$}{$N=2$}, all with a preferred bead width\revise{s}{} of \revise{$w^* = \SI{0.4}{\milli\meter}$}{$w^* = \SI{0.5}{\milli\meter}$ and using the widening meta-scheme to enforce a minimum printed feature size of $w_\text{min}=2r_\text{min}=\SI{0.3}{\milli\meter}$}.
The tests were performed on a desktop PC equipped with an Intel Core i7-7500U CPU @ \SI{2.70}{\giga\hertz} (a single core is used) and \SI{16.3}{\giga\byte} memory.
\revise{}{We report on the total statistics summed over the whole data set, because averaging would be biased.}

\subsection{Computational results}\label{sec_computational_results}

\subsubsection{Accuracy}
We first evaluate the accuracy of different beading schemes in terms of the relative amount of the overfill and underfill.
We construct the over- and underfill area by comparing the shapes covered by each extrusion move \revise{(\cref{segment_visualization_simple})}{} with each other and with the total shape of the boundary polygons. (For implementation details see Appendix~\ref{accuracy_calculation}.)
This results in polygonal shapes such as visualized in the top half of \cref{visualized_accuracy}:
there are orange shapes where the beads overlap and azure shapes in the voids in between the beads.
%
%
We compare the total area in \si{\milli\meter\squared} of these overfill and underfill shapes to the total area of the boundary for each sample in the data set
and report the average percentages in \revise{see }{}\cref{over_underfill}.
The inward distributed scheme has a calculated overfill of \revise{\SI{0.24}{\percent}}{\SI{0.30}{\percent}} and an underfill of \revise{\SI{0.17}{\percent}}{\SI{0.24}{\percent}}.
This is lower compared to the uniform scheme, which results in \revise{\SI{1.2}{\percent}}{\SI{1.63}{\percent}} overfill and \revise{\SI{1.7}{\percent}}{\SI{1.62}{\percent}} underfill in the data set.
\iffalse
names ['naive', 'Constant', 'Center', 'Distributed', 'InwardDistributed']
overfill [  1.63223926  22.21073295   0.37059604   0.45119725   0.30226112]
outer_underfill [ 0.04664107  0.03232884  0.04357603  0.03494708  0.03475748]
underfill [ 1.62009421  0.0712721   0.76886316  0.2440984   0.24461937]
\fi

\begin{figure*}
\centering
\setlength{\figwidth}{0.19\textwidth}
\setlength{\figheight}{0.283\textwidth}
\begin{subfigure}{\figwidth}\centering
\includegraphics[height=\figheight]{sources-validation-gMAT-example-naive-accuracy.png}
\includegraphics[height=\figheight]{sources-validation-gMAT-example-naive-widths.png}
\caption{Uniform}\label{TEST_naive_accuracy}
\end{subfigure}
%\begin{subfigure}{\figwidth}\centering
%\includegraphics[height=\figheight]{sources-validation-gMAT-example-SingleBead-accuracy.png}
%\includegraphics[height=\figheight]{sources-validation-gMAT-example-SingleBead-widths.png}
%\caption{Single}\label{TEST_SingleBead_accuracy}
%\end{subfigure}
\begin{subfigure}{\figwidth}\centering
\includegraphics[height=\figheight]{sources-validation-gMAT-example-Constant-accuracy.png}
\includegraphics[height=\figheight]{sources-validation-gMAT-example-Constant-widths.png}
\caption{Constant}\label{TEST_Constant_accuracy}
\end{subfigure}
\begin{subfigure}{\figwidth}\centering
\includegraphics[height=\figheight]{sources-validation-gMAT-example-Center-accuracy.png}
\includegraphics[height=\figheight]{sources-validation-gMAT-example-Center-widths.png}
\caption{Centered}\label{TEST_Center_accuracy}
\end{subfigure}
\begin{subfigure}{\figwidth}\centering
\includegraphics[height=\figheight]{sources-validation-gMAT-example-Distributed-accuracy.png}
\includegraphics[height=\figheight]{sources-validation-gMAT-example-Distributed-widths.png}
\caption{Distributed}\label{TEST_Distributed_accuracy}
\end{subfigure}
\begin{subfigure}{\figwidth}\centering
\includegraphics[height=\figheight]{sources-validation-gMAT-example-InwardDistributed-accuracy.png}
\includegraphics[height=\figheight]{sources-validation-gMAT-example-InwardDistributed-widths.png}
\caption{Inward \revise{}{($N=2$)}}\label{TEST_InwardDistributed_accuracy}
\end{subfigure}
\begin{subfigure}{.04\columnwidth}\centering
\vspace{4.7cm}
\includegraphics[height=\figheight]{sources-validation-gMAT-example-widths-legend.pdf}
\end{subfigure}
\caption{
Visualization of the overfills and underfills (top) and the widths (bottom) for various beading schemes.
Extrusion beads in gray tones,
overfill in orange,
underfill in azure,
narrow beads in blue
and wide beads in red.
\revise{New shape contains pointy wedge to see impact on minimal feature size}{In order to distinguish clearly from the Distributed scheme the Inward is limited to $N=2$.}
}
\label{visualized_accuracy}
\end{figure*}

\begin{figure*}
\centering
\setlength{\figheight}{0.25\textwidth}
\setlength{\figwidth}{0.32\textwidth}
\begin{subfigure}{\figwidth}\centering
\includegraphics[height=\figheight]{sources-validation-over-underfill.pdf}
%\includegraphics[width=\figwidth]{sources-validation-overunderfill.pdf}
\caption{\revise{}{Over- and underfill}}
\label{over_underfill}
\end{subfigure}
\begin{subfigure}{\figwidth}\centering
\includegraphics[height=\figheight]{sources-validation-print-time.pdf}
%\includegraphics[width=\figwidth]{sources-validation-smoothness.pdf}
\caption{\revise{}{Print time}}
\label{printtime}
\end{subfigure}
\begin{subfigure}{\figwidth}\centering
\includegraphics[height=\figheight]{sources-validation-path-counts.pdf}
%\includegraphics[width=\figwidth]{sources-validation-widthHistogram.pdf}
\caption{\revise{}{Path counts}}
\label{pathcounts}
\end{subfigure}

\begin{subfigure}{\figwidth}\centering
\includegraphics[height=\figheight]{sources-validation-widths.pdf}
%\includegraphics[width=\figwidth]{sources-validation-widthHistogram.pdf}
\caption{\revise{}{Extrusion widths}}
\label{widthHistogram}
\end{subfigure}
\begin{subfigure}{\figwidth}\centering
\includegraphics[height=\figheight]{sources-validation-angles.pdf}
%\includegraphics[width=\figwidth]{sources-validation-smoothnessNoTransition.pdf}
\caption{\revise{}{Site angles}}
\label{smoothness}
\end{subfigure}
\begin{subfigure}{\figwidth}\centering
\includegraphics[height=\figheight]{sources-validation-computime2.pdf}
%\includegraphics[width=\figwidth]{sources-validation-computime2.pdf}
\caption{Computation time}
\label{computime}
\end{subfigure}

\caption{
Statistical analysis of the toolpaths from applying the uniform width technique and various beading schemes using our framework to a data set of 300 slices.
Note the use of a logarithmic scale \revise{}{in the bottom graphs }on the Y-axes and \revise{on some of}{for \subref{computime} on} the X-axes as well.
}
\label{statisticsfig}
\end{figure*}

\subsubsection{Uniformity}
We visualize the bead widths resulting from the different schemes in the bottom of \cref{visualized_accuracy}.
\revise{
We calculated the mean and standard deviation of the bead width, sampled at \SI{1}{\micro\meter} along the toolpaths.
\cref{widthHistogram} shows the distribution of extrusion width for each scheme binned at intervals of \SI{10}{\micro\meter}.
}{
We binned the toolpaths into width bins at \SI{0.01}{\milli\meter} increments and determine the total toolpath length pertaining to each bin.
From these statistics we calculate the mean and standard deviation and report them in \cref{widthHistogram}.
}
We found that the mean width of the inward and evenly distributed schemes is close to \revise{}{the }preferred bead width of \revise{\SI{400}{\micro\meter}}{\SI{0.5}{\milli\meter}}, while their standard deviation is lower than for the centered and constant bead count scheme.
These results show that, while causing less overfill and underfill, inwards distributed and evenly distributed schemes deviate less or less often from the preferred bead width compared to the other schemes.
\revise{
We compared the width uniformity of the 6 outer beads for the inward and evenly distributed schemes, the distribution of these extrusion widths is shown in \cref{widthIndexedHistogram}.
The outer beads of the inward distributed scheme deviate less from the preferred width compared to the evenly distributed scheme.
}{}

\revise{
\subsubsection{Smoothness of toolpaths}
In order to maintain a high printing speed, it is desirable that toolpaths have fewer and less sharp corners.
We therefore measured the angle between consecutive extrusion segments generated by each scheme
and report on the occurrence of each angle in \cref{smoothness}.
All schemes show a higher number of corners for smaller angles with a peak towards \SI{180}{\degree} (straight).
We observe that compared to the uniform method our framework produces less acute angles which, but more obtuse angles.
The inward distributed scheme produces an order of magnitude less corners around \SI{150}{\degree}, compared to evenly distributed.
We also investigated the effect of the transition regions on the smoothness of the toolpaths.
\cref{smoothnessNoTransition} shows that introducing the transitions greatly reduces the number of corners around \SI{90}{\degree}.
}{
\subsubsection{Print time}
The total time it takes to print a part is influenced not only by our back pressure compensation scheme, but also by the geometry of the toolpaths.
In order to separate these effects we report on the total print time when using back pressure compensation and when using a constant (maximum) movement speed in \cref{printtime}.
We estimate print times using a simulation of the Marlin firmware using the default movement settings of the setup described in \cref{print_results_section}.
While the idealized print time is predominantly determined by the total toolpath length, the print time using back pressure compensation is predominantly determined by the occurrence of wide beads, because they have a reduced the flow in \si{\milli\meter\cubed\per\second}.
Because of acceleration constraints imposed by the hardware the maximum movement speed is not reached near sharp corners.
We therefore also report on the angles of the bends in the toolpaths in \cref{smoothness}.
Furthermore, the print time is negatively affected by discontinuities in the extrusion process.
Between extrusions the printer needs to stop extrusion, travel to the next extrusion path and restart the extrusion process, which may introduce defects and incurs extra print time.
For closed polygonal toolpaths we can start anywhere within the path, so we can optimize the starting location so as to minimize the travel time.
We therefore report both on the open and closed path count in \cref{pathcounts}.
}

\subsubsection{Computational performance}
\cref{computime} plots the computation time against the vertex count of the layer for the full data set, comparing the uniform technique implemented using Clipper~\cite{johnson2014clipper} to our framework with the inward distributed scheme.
For polygonal shapes with as many as $10^4$ vertices, the computation for both approaches is less than 1 second, with our method being approximately five times that of the uniform technique.
These results could be improved upon by utilizing the locality inherent in our algorithms for parallelization on the GPU.

The computational complexity is limited by the generation of the Voronoi Diagram, which is $O(n \log n)$, where $n$ is the number of vertices in the input shape.
The other steps in our framework have a complexity of $O(m)$, where $m$ is the number of elements in the ST.
Therefore, the total running time of our algorithm is $O(n \log n)$.
Results in \cref{computime} confirm that both our framework and the uniform technique have an expected running time of approximately $5 \times 10^{-6} n \log n$ seconds.

\revise{
Test prints were performed on a custom FDM hardware setup, with a standard \SI{0.4}{\milli\meter} nozzle and a filament extrusion drive directly mounted on the print head.
The firmware of the printer employs \emph{linear advance} for accurately realizing adaptive deposition width:
gaining the extra pressure required to change to a wider bead is realized by 'advancing' an extra amount of filament into the physical system~\cite{tronvoll2019investigating}.
We set the preferred width to $w^* = \SI{0.6}{\milli\meter}$, to avoid fluttered printing of lines narrower than the nozzle size.
We used a layer thickness of \SI{0.2}{\milli\meter} and a movement speed of \SI{10}{\milli\meter\per\second}.

The prints are shown in \cref{prints}.
Because of inaccuracies in the deposition control system some of the prints show defects.
Such defects are less prevalent for the inward distributed beading scheme than the other schemes.
The prints which employ the uniform offsets technique show a lot of underfill, which impacts the visual quality of the print.
Moreover, in the case of the regular honeycomb there are several fully disconnected hexagons, which means the object falls apart.
The difference between the centered and the inward distributed schemes is less pronounced.
We can still see some loosely connected extrusion segments in both, which is attributable to inaccuracies in the extrusion system.
However, the middle of \cref{wedge_print} exhibits more defects in the regions where the centered scheme produces extreme bead widths.
The bottom print shows that the inward distributed beading scheme produces smoother prints with less defects.

\begin{figure}
\centering
\begin{subfigure}{\columnwidth}\centering
\setlength{\figwidth}{\columnwidth}
\includegraphics[width=\figwidth]{sources-applications-P3-print-wedge-naive-edited.png}
\includegraphics[width=\figwidth]{sources-applications-P3-print-wedge-center-edited.png}
\includegraphics[width=\figwidth]{sources-applications-P3-print-wedge-inward-edited.png}
\caption{Uniform (top), centered (mid) and inward distributed (bottom)}\label{wedge_print}
\end{subfigure}
\setlength{\figheight}{.38\columnwidth}
\setlength{\figheightTwo}{.47\columnwidth}
\setlength{\figwidth}{0.32\columnwidth}
\begin{subfigure}{\figwidth}\centering
%\includegraphics[height=\figheightTwo]{sources-applications-gMAT-naive.png}
\includegraphics[height=\figheight]{sources-applications-P3-print-hex-naive-edited.png}
\includegraphics[width=\figwidth]{sources-applications-P3-print-UM-naive-edited.png}
\caption{Uniform}\label{print_naive}
\end{subfigure}
\begin{subfigure}{\figwidth}\centering
%\includegraphics[height=\figheightTwo]{sources-applications-gMAT-center.png}
\includegraphics[height=\figheight]{sources-applications-P3-print-hex-center-edited.png}
\includegraphics[width=\figwidth]{sources-applications-P3-print-UM-center-edited.png}
\caption{Centered}\label{print_center}
\end{subfigure}
\begin{subfigure}{\figwidth}\centering
%\includegraphics[height=\figheightTwo]{sources-applications-gMAT-inward.png}
\includegraphics[height=\figheight]{sources-applications-P3-print-hex-inward-edited.png}
\includegraphics[width=\figwidth]{sources-applications-P3-print-UM-inward-edited.png}
\caption{Inward distributed}\label{print_inward}
\end{subfigure}
\caption{
Test shapes printed using the uniform scheme, centered scheme and the inward distributed scheme.
The uniform technique produces distinct underfill areas.
The centered scheme shows some defects due to inaccurate control of extreme deposition widths.
The inward distributed scheme produces the least defects.
}
\label{prints}
\end{figure}
}{}

%We therefore visualize include a semi-circle with a diameter equal to the starting width in the one end, and exclude it at the other end, because it will be included in the next extrusion segment.


% Like most advanced LaTeX files, this one begins with a lot of
% boilerplate. You don't need to understand (or even read) most of it.
% All you need to do is fill in your name, UMN ID, email address,
% and the number of the pset. (Search for "METADATA" to find the place
% for this.) Then, you can go straight to the "EXERCISE 1"
% section and start writing your solutions.
% The "VARIOUS USEFUL COMMANDS" section is probably worth taking a
% look at at some point.

%----------------------------------------------------------------------------------------
%	PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------
\documentclass[paper=a4, fontsize=12pt]{scrartcl} % A4 paper and 12pt font size
\usepackage[T1]{fontenc} % Use 8-bit encoding that has 256 glyphs
\usepackage[english]{babel} % English language/hyphenation
\usepackage{amsmath,amsfonts,amsthm,amssymb} % Math packages
\usepackage{mathrsfs}    % More math packages
\usepackage{sectsty}  % Allows customizing section commands
\allsectionsfont{\centering \normalfont\scshape} % Make all section titles centered, the default font and small caps %remove this to left align section tites
\usepackage{hyperref} % Turns cross-references into hyperlinks,
                      % and defines \url and \href commands.
\usepackage{graphicx} % For embedding graphics files.
\usepackage{framed}   % For the "leftbar" environment used below.
\usepackage{ifthen}   % Used for the \powset command below.
\usepackage{lastpage} % for counting the number of pages
\usepackage[headsepline,footsepline,manualmark]{scrlayer-scrpage}
\usepackage[height=10in,a4paper,hmargin={1in,0.8in}]{geometry}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}     % This is a powerful tool to draw vector
                      % graphics inside LaTeX. In particular, you can
                      % use it to draw graphs.
\usepackage{verbatim} % For the "verbatim" environment, in which
                      % special symbols can be used freely without
                      % confusing the compiler. (And it's typeset in
                      % a constant-width font.)
                      % Useful, e.g., for quoting code (or ASCII art).

%\numberwithin{table}{section} % Number tables within sections (i.e. 1.1, 1.2, 2.1, 2.2 instead of 1, 2, 3, 4)

\setlength\parindent{20pt} % Makes indentation for paragraphs longer.
                           % This makes paragraphs stand out more.

%----------------------------------------------------------------------------------------
%	VARIOUS USEFUL COMMANDS
%----------------------------------------------------------------------------------------
% The commands below might be convenient. For example, you probably
% prefer to write $\powset[2]{V}$ for the set of $2$-element subsets
% of $V$, rather than writing $\mathcal{P}_2(V)$.
% Notice that you can easily define your own commands like this.
% Caveat: Some of these commands need to be properly "guarded" when
% they occur in subscripts or superscripts. So you should not write
% $K_\CC$, but rather $K_{\CC}$.
\newcommand{\CC}{\mathbb{C}} % complex numbers
\newcommand{\RR}{\mathbb{R}} % real numbers
\newcommand{\QQ}{\mathbb{Q}} % rational numbers
\newcommand{\NN}{\mathbb{N}} % nonnegative integers
\newcommand{\PP}{\mathbb{P}} % positive integers
\newcommand{\Z}[1]{\mathbb{Z}/#1\mathbb{Z}} % integers modulo k
                                            % (syntax: "\Z{k}")
\newcommand{\ZZ}{\mathbb{Z}} % integers
\newcommand{\id}{\operatorname{id}} % identity map
\newcommand{\lcm}{\operatorname{lcm}}
% Lowest common multiple. For historical reasons, LaTeX has a \gcd
% command built in, but not an \lcm command. The preceding line
% rectifies that.
\newcommand{\set}[1]{\left\{ #1 \right\}}
% $\set{...}$ compiles to {...} (set-brackets).
\newcommand{\abs}[1]{\left| #1 \right|}
% $\abs{...}$ compiles to |...| (absolute value, or size of a set).
\newcommand{\tup}[1]{\left( #1 \right)}
% $\tup{...}$ compiles to (...) (parentheses, or tuple-brackets).
\newcommand{\ive}[1]{\left[ #1 \right]}
% $\ive{...}$ compiles to [...] (Iverson bracket, aka truth value; also, set of first n integers).
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
% $\floor{...}$ compiles to |_..._| (floor function).
\newcommand{\underbrack}[2]{\underbrace{#1}_{\substack{#2}}}
% $\underbrack{...1}{...2}$ yields
% $\underbrace{...1}_{\substack{...2}}$. This is useful for doing
% local rewriting transformations on mathematical expressions with
% justifications. For example, try this out:
% $ \underbrack{(a+b)^2}{= a^2 + 2ab + b^2 \\ \text{(by the binomial formula)}} $
\newcommand{\powset}[2][]{\ifthenelse{\equal{#2}{}}{\mathcal{P}\left(#1\right)}{\mathcal{P}_{#1}\left(#2\right)}}
% $\powset[k]{S}$ stands for the set of all $k$-element subsets of
% $S$. The argument $k$ is optional, and if not provided, the result
% is the whole powerset of $S$.
\newcommand{\horrule}[1]{\rule{\linewidth}{#1}} % Create horizontal rule command with 1 argument of height
\newcommand{\nnn}{\nonumber\\} % Don't number this line in an "align" environment, and move on to the next line.

%----------------------------------------------------------------------------------------
%	MAKING SUMMATION SIGNS ALWAYS PUT THEIR BOUNDS ABOVE AND BELOW
%	THE SIGN
%----------------------------------------------------------------------------------------
% The following are hacks to ensure that sums (such as
% $\sum_{k=1}^n k$) always put their bounds (i.e., the $k=1$ and the
% $n$) underneath and above the sign, as opposed to on its right.
% Same for products (\prod), set unions (\bigcup) and set
% intersections (\bigcap). Remove the 8 lines below if you do not want
% this behavior.
\let\sumnonlimits\sum
\let\prodnonlimits\prod
\let\cupnonlimits\bigcup
\let\capnonlimits\bigcap
\renewcommand{\sum}{\sumnonlimits\limits}
\renewcommand{\prod}{\prodnonlimits\limits}
\renewcommand{\bigcup}{\cupnonlimits\limits}
\renewcommand{\bigcap}{\capnonlimits\limits}

%----------------------------------------------------------------------------------------
%	ENVIRONMENTS
%----------------------------------------------------------------------------------------
% The incantations below define how theorem environments
% (\begin{theorem} ... \end{theorem}) and their likes will look like.
\newtheoremstyle{plainsl}% <name>
  {8pt plus 2pt minus 4pt}% <Space above>
  {8pt plus 2pt minus 4pt}% <Space below>
  {\slshape}% <Body font>
  {0pt}% <Indent amount>
  {\bfseries}% <Theorem head font>
  {.}% <Punctuation after theorem head>
  {5pt plus 1pt minus 1pt}% <Space after theorem headi>
  {}% <Theorem head spec (can be left empty, meaning `normal')>

% Environments which make the text inside them slanted:
\theoremstyle{plainsl}
  \newtheorem{theorem}{Theorem}[section]
  \newtheorem{proposition}[theorem]{Proposition}
  \newtheorem{lemma}[theorem]{Lemma}
  \newtheorem{corollary}[theorem]{Corollary}
  \newtheorem{conjecture}[theorem]{Conjecture}
% Environments that don't:
\theoremstyle{definition}
  \newtheorem{definition}[theorem]{Definition}
  \newtheorem{example}[theorem]{Example}
  \newtheorem{exercise}[theorem]{Exercise}
  \newtheorem{examples}[theorem]{Examples}
  \newtheorem{algorithm}[theorem]{Algorithm}
  \newtheorem{question}[theorem]{Question}
 \theoremstyle{remark}
  \newtheorem{remark}[theorem]{Remark}
\newenvironment{statement}{\begin{quote}}{\end{quote}}
\newenvironment{fineprint}{\begin{small}}{\end{small}}

%----------------------------------------------------------------------------------------
%	METADATA
%----------------------------------------------------------------------------------------
\newcommand{\myname}{Darij Grinberg} % ENTER YOUR NAME HERE
\newcommand{\myid}{00000000} % ENTER YOUR UMN ID HERE
\newcommand{\mymail}{dgrinber@umn.edu} % ENTER YOUR EMAIL HERE
\newcommand{\psetnumber}{1} % ENTER THE NUMBER OF THIS PSET HERE

%----------------------------------------------------------------------------------------
%	HEADER AND FOOTER
%----------------------------------------------------------------------------------------
\ihead{Solutions to midterm \#\psetnumber} % Page header left
\ohead{page \thepage\ of \pageref{LastPage}} % Page header right
\ifoot{\myname, \myid} % left footer
\ofoot{\mymail} % right footer

%----------------------------------------------------------------------------------------
%	TITLE SECTION
%----------------------------------------------------------------------------------------
\title{
\normalfont \normalsize
\textsc{University of Minnesota, School of Mathematics} \\ [25pt] % Your university, school and/or department name(s)
\horrule{0.5pt} \\[0.4cm] % Thin top horizontal rule
\huge Math 4281: Introduction to Modern Algebra, \\
Spring 2019:
Midterm \psetnumber\\% The assignment title
\horrule{2pt} \\[0.5cm] % Thick bottom horizontal rule
}
\author{\myname}

\begin{document}

\maketitle % Print the title

\begin{center} % Delete this if you want to save space!
{\large due date: \textbf{Wednesday, 6 March 2019} at the beginning of class, \\
or before that through Canvas.

\textbf{No collaboration allowed} -- this is a midterm.

Please solve \textbf{at most 3 of the 6 exercises}!}
\end{center}

%----------------------------------------------------------------------------------------
%	EXERCISE 1
%----------------------------------------------------------------------------------------
\horrule{0.3pt} \\[0.4cm]

\section{Exercise 1: Gcds and lcms together}

\subsection{Problem}

Let $a, b, c$ be three integers.

\begin{enumerate}

\item[\textbf{(a)}]
Prove that
$\gcd\tup{a, \lcm\tup{b, c}}
= \lcm\tup{\gcd\tup{a, b}, \gcd\tup{a, c}}$.

\item[\textbf{(b)}]
Prove that
$\lcm\tup{a, \gcd\tup{b, c}}
= \gcd\tup{\lcm\tup{a, b}, \lcm\tup{a, c}}$.

\end{enumerate}

\subsection{Solution}

[...]

%----------------------------------------------------------------------------------------
%	EXERCISE 2
%----------------------------------------------------------------------------------------
\horrule{0.3pt} \\[0.4cm]

\section{Exercise 2: $p$-adic valuations of rationals}

\subsection{Problem}

Fix a prime $p$.
For each nonzero rational number $r$, define the
\textit{extended $p$-adic valuation} $w_p\tup{r}$ as
follows:
We write $r$ in the form $r = a/b$
for two nonzero integers $a$ and $b$, and set
$w_p\tup{r} = v_p\tup{a} - v_p\tup{b}$.
(It also makes sense to set $w_p\tup{0} = \infty$,
but we shall not concern ourselves with this border case
in this exercise.)

\begin{enumerate}

\item[\textbf{(a)}]
Prove that this is well-defined -- i.e., that
$w_p\tup{r}$ does not depend on the precise choice of
$a$ and $b$ satisfying $r = a/b$.

\item[\textbf{(b)}]
Prove that $w_p\tup{n} = v_p\tup{n}$ for each nonzero
integer $n$.

\item[\textbf{(c)}]
Prove that $w_p\tup{ab} = w_p\tup{a} + w_p\tup{b}$ for
any two nonzero rational numbers $a$ and $b$.

\item[\textbf{(d)}]
Prove that $w_p\tup{a+b} \geq \min\set{w_p\tup{a}, w_p\tup{b}}$
for any two nonzero rational numbers $a$ and $b$
if $a+b \neq 0$.

\end{enumerate}

\subsection{Remark}

The claim of part \textbf{(d)} has a curious (and, if you are a
number theorist, important) consequence:
Each prime $p$ can be used to define a ``distance function'' on $\QQ$
that is very different from the usual distance function
($\tup{a,b} \mapsto \abs{a-b}$):
Namely, for any two rational numbers $a$ and $b$, we define
the \textit{$p$-adic distance} $d_p\tup{a, b}$ between $a$ and $b$ by
\[
d_p\tup{a, b}
= \begin{cases}
     p^{w_p\tup{a-b}}, & \text{if $a-b \neq 0$}; \\
     0,                & \text{if $a-b = 0$}.
  \end{cases}
\]
For instance, $d_3\tup{5, 1/2} = 3^{w_3\tup{5 - 1/2}} = 3^2$,
since $w_3\tup{5 - 1/2} = w_3\tup{9/2} = v_3\tup{9} - v_3\tup{2}
= 2 - 0 = 2$.

The $p$-adic distance deserves the name ``distance'', as it
does satisfy the triangle inequality:
\[
d_p\tup{a, c} \leq d_p\tup{a, b} + d_p\tup{b, c}
\qquad \text{for any $a, b, c \in \QQ$} .
\]
Actually, the following stronger inequality (called
\textit{ultrametric triangle inequality}) holds:
\[
d_p\tup{a, c} \leq \max\set{d_p\tup{a, b}, d_p\tup{b, c}}
\qquad \text{for any $a, b, c \in \QQ$} .
\]
Indeed, this follows easily from part \textbf{(d)} of the
exercise (applied to $a-b$ and $b-c$ instead of $a$ and $b$).

You might remember that the real numbers were defined as the
completion of the rational numbers with respect to the usual
distance (i.e., a real number is actually an equivalence class
of Cauchy sequences defined with respect to the usual distance).
Similarly one can consider the completion of the rational numbers
with respect to the $p$-adic distance (i.e., again consider
Cauchy sequences, but this time the distances are replaced by
the $p$-adic distances).
This leads to \href{https://en.wikipedia.org/wiki/P-adic_number}{the $p$-adic numbers}.
See \cite{Gouvea97} for an elementary introduction to this
subject.

\subsection{Solution}

[...]

%----------------------------------------------------------------------------------------
%	EXERCISE 3
%----------------------------------------------------------------------------------------
\horrule{0.3pt} \\[0.4cm]

\section{Exercise 3: How often does a prime divide a factorial?}

\subsection{Problem}

In this exercise, we shall use
\href{https://en.wikipedia.org/wiki/Iverson_bracket}{the \textit{Iverson bracket notation}}:
If $\mathcal{A}$ is any statement, then $\ive{\mathcal{A}}$
stands for the integer
$\begin{cases}
1, & \text{if $\mathcal{A}$ is true;} \\
0, & \text{if $\mathcal{A}$ is false}
\end{cases}$
(which is also known as the \textit{truth value} of
$\mathcal{A}$).
For instance, $\ive{1+1 = 2} = 1$ and $\ive{1+1 = 1} = 0$.

\begin{enumerate}

\item[\textbf{(a)}]
Prove that $n // k = \sum_{i=1}^n \ive{k \mid i}$
for any $n \in \NN$ and any positive integer $k$.

\item[\textbf{(b)}]
Prove that $v_p \tup{n} = \sum_{i \geq 1} \ive{p^i \mid n}$
for any prime $p$ and any nonzero integer $n$.
Here, the sum $\sum_{i \geq 1} \ive{p^i \mid n}$ is
a sum over all positive integers; but it is
well-defined, since it has only finitely many nonzero
addends.

\item[\textbf{(c)}]
Prove that
$v_p \tup{n!} = \sum_{i \geq 1} n // p^i$ for any
prime $p$ and any $n \in \NN$.

\end{enumerate}

\subsection{Solution}

[...]

%----------------------------------------------------------------------------------------
%	EXERCISE 4
%----------------------------------------------------------------------------------------
\horrule{0.3pt} \\[0.4cm]

\section{Exercise 4: Wilson with a twist}

\subsection{Problem}

Let $p$ be a prime.
Prove that
\[
\tup{p-1}! \equiv p-1
\mod 1 + 2 + \cdots + \tup{p-1} .
\]

\subsection{Solution}

[...]

%----------------------------------------------------------------------------------------
%	EXERCISE 5
%----------------------------------------------------------------------------------------
\horrule{0.3pt} \\[0.4cm]

\section{Exercise 5: gcds in exponents}

\subsection{Problem}

Let $a$ be an integer.
Let $n, m \in \NN$.
Prove that
\[
\gcd\tup{a^n - 1, a^m - 1}
= \abs{a^{\gcd\tup{n, m}} - 1}.
\]

[\textbf{Hint:} Strong induction. First show that
$a^n - 1 \equiv a^m - 1 \mod a^{n-m} - 1$ if $n \geq m$.]

\subsection{Solution}

[...]

%----------------------------------------------------------------------------------------
%	EXERCISE 6
%----------------------------------------------------------------------------------------
\horrule{0.3pt} \\[0.4cm]

\section{Exercise 6: Remainder arithmetic}

\subsection{Problem}

Let $u$ and $v$ be two integers.
Let $n$ be a positive integer.
Prove that
\[
u \% n + v \% n - \tup{u+v} \% n \in \set{0, n} .
\]

\subsection{Solution}

[...]

\begin{thebibliography}{99999999}                                                                                %

% Feel free to add your sources -- or copy some from the source code
% of the class notes ( http://www.cip.ifi.lmu.de/~grinberg/t/19s/notes.tex ).

\bibitem[Gouvea97]{Gouvea97}Fernando Q. Gouvea,
\textit{$p$-adic numbers: An introduction},
2nd edition, Springer 1997.
\url{https://www.springer.com/us/book/9783540629115} or
\url{https://link.springer.com/book/10.1007/F978-3-642-59058-0} .

\bibitem[GrKnPa94]{GKP}Ronald L. Graham, Donald E. Knuth, Oren Patashnik,
\textit{Concrete Mathematics, Second Edition}, Addison-Wesley 1994.\\
See \url{https://www-cs-faculty.stanford.edu/~knuth/gkp.html} for errata.

\bibitem[Grinbe19]{detnotes}Darij Grinberg,
\textit{Notes on the combinatorial fundamentals of algebra},
10 January 2019. \\
\url{http://www.cip.ifi.lmu.de/~grinberg/primes2015/sols.pdf}
\\
The numbering of theorems and formulas in this link might shift
when the project gets updated; for a ``frozen'' version whose
numbering is guaranteed to match that in the citations above, see
\url{https://github.com/darijgr/detnotes/releases/tag/2019-01-10} .

\end{thebibliography}

\end{document}


    \filetitle{ww2day}{Convert weekly IRIS serial date number to Matlab serial date number}{dates/ww2day}

	\paragraph{Syntax}\label{syntax}

\begin{verbatim}
Day = ww2day(Dat)
Day = ww2day(Dat,WDay)
\end{verbatim}

\paragraph{Input arguments}\label{input-arguments}

\begin{itemize}
\item
  \texttt{Dat} {[} numeric {]} - IRIS serial number for weekly date.
\item
  \texttt{WDay} {[} \texttt{'Mon'} \textbar{} \texttt{'Tue'} \textbar{}
  \texttt{'Wed'} \textbar{} \texttt{'Thu'} \textbar{} \texttt{'Fri'}
  \textbar{} \texttt{'Sat'} \textbar{} \texttt{'Sun'} {]} - The day of
  the week that will represent the input week, \texttt{Dat}; if omitted,
  the week will be represented by its Thursday.
\end{itemize}

\paragraph{Output arguments}\label{output-arguments}

\begin{itemize}
\itemsep1pt\parskip0pt\parsep0pt
\item
  \texttt{Day} {[} numeric {]} - Matlab serial date number representing
  Thursday in that week.
\end{itemize}

\paragraph{Description}\label{description}

\paragraph{Example}\label{example}

The first week of the year 2009 starts on Monday, 29 December 2008 (it
is the first week of 2009 by ISO 8601 definition, because Thursday of
that week falls in 2009).

The following command returns the Thursday of that week (note that
\texttt{datestr} is a standard Matlab function, not an IRIS function),

\begin{verbatim}
firstWeek09 = ww(2009,1);
datestr( ww2day(firstWeek09) )
ans =
01-Jan-2009
\end{verbatim}

while this command returns the Monday of the same week,

\begin{verbatim}
datestr( ww2day(firstWeek09,'Monday') )
ans =
29-Dec-2008
\end{verbatim}


GIFMod is a computer program that can be used to construct model for evaluation of the performance of stormwater green infrastructure (GIs) and other types of urban and agricultural best management practices (BMPs). The program is designed to provide a good level of flexibility to the users to set up the model configuration and to select the processes governing the hydraulics and water quality. Therefore, GIFMod can be applied to evaluate a wide variety of GI related water quality problems. A model build using GIFMod should be conceptualized as a interconnected set of different types of media ranging from surface water to vadose zone and groundwater.

Modeling of GI performance in GIFMod can be done in three levels including hydraulics, particle transport and constituent fate and transport. A GI model can be constructed by a combination of blocks representing surface water ponds, streams, overland flow, unsaturated soil, saturated media and storage that are connected either through natural interfaces, pipes or other user-defined connectors.

\section{Hydraulic Modeling Capabilities}
The hydraulic module solves water balance equations for the blocks comprising the model by using constitutive theories expressing the head-storage relationship for each type of block and hydraulic head-flow relationships for flow rates between connected blocks. Briefly, van Genutchten-Maulem \citep{Mualem1976,VanGenuchten1980} equation is used for unsaturated flow, Darcy equation is used for saturated porous media ans storage, and diffusive wave (DW) equation is used for all surface water components including streams, ponds and overland flow. Several options are provided for modeling evaporation and evapotranspiration including the Penman model \citep{allen1998} the Priestly-Taylor model \citep{Priestley1972} and the aerodynamic model \citep{mays2010}. In addition the use can introduce new equations for calculation of evaporation as a function of moisture content of blocks, light intensity, temperature, wind and humidity. The user is also able to introduce evaporation time-series to be imposed to blocks using external input files.

\section{Particle Transport Modeling Capabilities}
The GIFMod particle transport modeling capability includes the ability to model multiple classes of particles with different transport properties. The particles are assumed to be affected by gravity settling and attachment to soil matrix and release from the soil matrix. Several alternative models are provided for particle transport in porous media that can be attributed to each particle type. Depending on the particle transport model used, the particles are assumed to be able to be present in several phases including mobile phase, reversibly attached phase, irreversibly attached phase and attached to air-water interface. Blocking can be modeled in attachment of mobile particles using a Langmuirian blocking function. The exchange rate of particles between phases can be indicated to be a function of flow velocity.

\section{Coupled Dissolved and Particle-associated Reactive Transport Modeling Capability}
The following processes can be modeled in the multi-component constituent fate and transport module: 1) advective-dispersive of constituents both as dissolved species or as bound to mobile particles, 2) mass transfer between the aqueous phase and all solid phases including the soil matrix and all other mobile and immobile particulate phases. 3) user-define biogeochemical transformation processes. Introduction of biogeochemical process is done by first defining bio-kinetics and stoichiometric parameters and then filling in a Peterson matrix \citep{Russell2006} specifying the rates and stoichiometries of each process. Bio-kinetic and stoichiometric parameters can be specified to be a function of temperature through Arrhenius equation. Also physical parameters such as moisture content, light intensity and such can also be used as part of the process rate expressions and stoichiometric expressions.

Constituents can be assigned to have settling velocities. This is particularly useful when modeling algal circulation, bacteria, particulate organic matter, or other particulate species that can can undergo settling or floatation.

\section{Inverse Modeling and Parameter Estimation Capability}
GIFMod is equipped with both deterministic (using Genetic Algorithm) and probabilistic (using Markov Chain Monte-Carlo) parameter estimation capability. Any of the parameters used in a model can be treated as unknown  and multiple sets of observed data can be introduced to represent hydraulic and water quality outputs of the model.

\section{Installing GIFMod}
\input{Installation.tex}

Typically, the following steps are performed when using the GIFMod to evaluate GI performance:

\begin{itemize}
    \item Create a project in solution explorer and set (or accept the default values) the basic project options (e.g., project setting, climate setting, and solver setting) for analysis .... (see Chapter 3)
    \item Draw a visual representation of the GI to be evaluated using blocks that represent spatial components of the GI (e.g., pond, stream, etc.) and connectors that represent interfaces between the spatial components. (see Chapter 3)
    \item Edit the properties of the blocks and connectors that make up the evaluated GI system (see Chapter 3)
    \item Add any available time series hydraulic and water quality data.
    \item Set up the water quality component of the model (see Chapter 4) if the model has a water quality aspect.
    \item If the model is intended to be used for parameter estimation set up the define parameters and observed data (see Chapter 5).
    \item Run the model if forward (or inverse if parameter estimation is intended to be performed).
    \item View the results of the analysis.

\end{itemize}


%%%Standard Preamble%%%%%
\documentclass[11pt,oneside]{amsart}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{latexsym}
\usepackage{hyperref}
\usepackage{subcaption}
\captionsetup[subfigure]{labelfont=rm}
\usepackage{tikz}
\usetikzlibrary{snakes}
\usetikzlibrary{decorations}
\usepackage[square,numbers]{natbib}
%\usepackage{subfigure}
\bibliographystyle{abbrvnat}
\setlength{\voffset}{-0.5in}
\setlength{\hoffset}{-0.5in}
\setlength{\topmargin}{0pt}
\setlength{\oddsidemargin}{0.5in}
\setlength{\evensidemargin}{0.5in}
\setlength{\textwidth}{6.5in}
\setlength{\topskip}{12pt}
\setlength{\headheight}{12pt}
\setlength{\headsep}{12pt}
\setlength{\footskip}{36pt}
\setlength{\textheight}{9.16in}
%\setcounter{secnumdepth}{1}

\def\ni{\noindent}
\def\nl{\newline}
\def\eps{\varepsilon}
\def\d{\delta}
\def\ds{\displaystyle}

\newtheorem{definition}{Definition}

\theoremstyle{definition}
\newtheorem{thm}{Theorem}[section]

\title[Gizzard Shad Model]{An investigation of integral projection models utilizing density-dependent survival and growth in Gizzard Shad}
\author{B. Bennie$^{\rm 1}$, R. Erickson$^{\rm 2}$, J. Peirce$^{\rm 1,4}$,  G.  Sandland$^{\rm 3,4}$}
\address{
${\rm 1}$ University of Wisconsin - La Crosse, Mathematics \& Statistics Department\\
${\rm 2}$ U.S.G.S. Upper Mississippi Environmental Science Center\\
${\rm 3}$ University of Wisconsin - La Crosse, Biology Department\\
${\rm 4}$ River Studies Center}

\begin{document}
\maketitle

\begin{abstract}
XXX
\end{abstract}

\section{Introduction}
Gizzard shad are a common freshwater fish throughout the central and eastern portions of North America, occupying both lotic and lentic habitats (Pierce et al., 1981; Vanni et al., 2005). Within these areas, gizzard shad play a number of important roles in the freshwater community. First, young shad often serve as a critical food source for many fish species, including those of commercial and recreational importance (such as walleye and largemouth bass) (Jester et al., 1972). Second, because detritus serves as an important food source throughout much of gizzard shad development (i.e. from the young-of-the-year stage onward), these fish translocate nutrients from benthic regions into pelagic habitats (Mather et al., 1995; Schaus and Vanni, 2000; Vanni et al., 2005). This process can result in an increase in the nutrients available to organisms within the water column leading to increases in phytoplankton biomass, algal blooms, and, due to these conditions, shifts in freshwater community structure (Vanni et al., 2000; Aday et al., 2003). Finally, the fact that detritus comprises gizzard shad diets makes this species an important link between aquatic and terrestrial ecosystems through nutrient inputs (Vanni et al., 2000). Given its potentially important role in aquatic ecosystems, interest has intensified in understanding how gizzard shad populations respond to environmental changes (both natural and anthropogenic) and what these changes may mean for freshwater communities in general and fish assemblages in particular.

Although substantial empirical work on gizzard shad biology has accumulated over the decades, few if any studies have attempted to use these data to model the population dynamics of the particular species. Here, we introduce an integral projection model for gizzard shad based on empirical data, with density-dependent survival in age-0 fish, and compare model outcomes to dynamics reported for this fish species in the La Grange Station along the Illinois River. The model itself could be an important tool for predicting gizzard shad population responses to changing environmental conditions, including those mediated through species invasions (i.e. silver and bighead carp).

\section{Model Development}
\subsection{Gizzard shad life history}

\subsection{Equations}
We use an integral projection model to describe the life history of gizzard shad in the Upper Mississippi River system.  Integral projection models have been used to describe a wide range of organisms (include Ellner and Rees references).  Add a little more modeling history.

We assume that variations among individual gizzard shad can be summarized by its length $z$ (in cm) ranging from the minimum possible length $L$ to the maximum value $U$.  The state of the population at time $t$ (in years) is described by the length distribution $n(z,t)$.  Technically, for each time $t$, $n(z,t)$ is a smooth function of $z$ such that the number of individuals of length $z$ in the interval $[a,b]$ at time $t$ is $\ds \int_a^b n(z,t) \, dz$.

Between times $t$ and $t+1$, individual gizzard shad may grow, die, and produce offspring that vary in length all depending on the individuals current length. At time $t+1$ the population will have a length distribution defined by $n(z, t+1)$. For our model, we partition the life cycle of gizzard shad into two stages: growth and reproduction.

Growth and survival of gizzard during this time interval will be denoted by the function $P(z,z')$

 Note, For an individual of length $z$ at time $t$, $P(z',z)\Delta z$ is the probability that the individual is alive at time $t+1$, and its size is in the interval $[z', z' + \Delta z]$ (as with $n(z,t)$ this is an approximation that is valid for small $\Delta z$, and the exact probability is given by an integral like the one above).

We define two functions $P(z',z)$, representing survival and growth, and $F(z',z)$ representing the production of new recruits.  In both cases, $z$ is the length at time $t$ and $z'$ is the length at time $t+1$.  Note, For an individual of length $z$ at time $t$, $P(z',z)\Delta z$ is the probability that the individual is alive at time $t+1$, and its size is in the interval $[z', z' + \Delta z]$ (as with $n(z,t)$ this is an approximation that is valid for small $\Delta z$, and the exact probability is given by an integral like the one above). Similarly. $F(z',z)\Delta z$ is the number of new offspring in the interval $[z', z' + \Delta z]$ present at time $t+1$, per length-$z$ individual at time $t$.

\subsubsection{Growth and survival}
We assume that $P(z'z) = s(z)G(z',z)$ where $s(z)$ is the adult survival probability and $G(z',z)$ describes the length transitions.  We assume that the survival function is a logistic function,
\begin{equation}\label{eq:surv}
s(z) = s_{\rm min} + \frac{s_{\rm max}-s_{\rm min}}{1+e^{\beta_s(\log(z)-\log(\alpha_s)),}}.
\end{equation}
with four parameters: the minimum survival rate $s_{\rm min}$; a maximum survival rate, $s_{\rm max}$; and intercept parameter, $\alpha_s$; and a slope parameter, $\beta_s$ (Bolker 2008)

The growth function is a two-variable normal distribution centered around a modified von Bertalanffy function of the length at time t.  The von Bertalanffy equation, commonly used to describe the length of a fish over time, is given by $\ds z(t) = L_{\infty} \left(1-e^{-r(t-t_0)} \right)$ where $L_\infty$ is maximum asymptotic length, $r$ is the growth rate, and $t_0$ is the initial time. The expected length in the next year
\[ z'=z(t+1) =  L_{\infty} \left(1-e^{-r(t+1-t_0)} \right) =  L_{\infty} - L_{\infty}e^{-r(t-t_0)} e^{-r} =  L_{\infty} \left(1-e^{-r} \right) + z(t)e^{-r}. \]
We assume that
\begin{equation}\label{eq:grow}
G(z',z) = \mathrm{Prob}(z' | z, L_{\infty}, r, \sigma_g) = \mathrm{Normal PDF}(\mu_g, \sigma_g)
\end{equation}
where $\mu_g =  L_{\infty} \left(1-e^{-r} \right) + z(t)e^{-r}$ and $\sigma_g$ is the standard deviation.

\subsection{Fecundity}
The fecundity/recruitment kernel,
\begin{equation}\label{eq:fecundity}
F(z',z) = p_b(z) \mbox{egg}(z) \nu s_0(n(z,t))C_1(z', z)
\end{equation}
where $p_b(z)$ is the probability of reproducing, $\mbox{egg}(z)$ is the mean number of eggs produced, $\nu$ is the probability that an egg is viable, $s_0(n(z,t))$ is the density-dependent probability of surviving to age-1, and $C_1 (z',z)$ is the length distribution of new recruits at age-1 (when they are first censused).

The probability of reproducing is modeled from ...

Egg production is formed from the batch fecundity versus length relationship from Jons \& Miranda (1997)

The probability of survival of gizzard shad during their first year depends on many factors (reference to paper and summary).  The density of gizzard shad can effect the amount of resources available to age-0 fish and therefore effects the survival of age-0 fish. Discuss Michaletz paper and the modeling of $s_0$.

\subsection{The Model}
In traditional matrix population models, the state vector is multiplied on the left by a matrix to project the current measurement to its future value.  In an integral projection model, the projection matrix is replaces by an integral kernel $K(z',z)$ that projects the population forward in time.  The population at time $t+1$ is the sum of the contributions from each individual alive at time $t$,
\begin{equation}\label{eq:IPM}
n(z',t+1) = \int_L^U K(z',z)n(z,t) \,dz,
\end{equation}
where $K(z',z) = G(z',z) + F(z',z)$ and $[U,L]$ is the range of all possible lengths.

\section{Methods and Analysis}
\subsection{Determination and Parameterization of Functions}
The size-dependent probability of females spawning, $p_b(z)$, is estimated from a logistic regression with a logit link function scaled to maximum of 90\% (Figure \ref{fig:repro_prob}). We apply the inverse of the logit transformation to write this probability as $p_b(z) = (1+e^{-\nu_f})^{-1},$ where the estimated linear predictor $\nu_f = \alpha_s + \beta_s z$.  The mean eggs produced per female is gleaned from a linear approximation of the data from Jons \& Miranda (1997).  Specifically we assume that $\mbox{egg}(z) = \beta_e z$ for $z>140$ and zero otherwise(Figure \ref{eggs}).

\begin{figure}
\centering
\begin{subfigure}[b]{.32\textwidth}
  \includegraphics[width=\textwidth]{figures/Figure1.pdf}
  \caption{}
  \label{fig:repro_prob}
\end{subfigure}
\begin{subfigure}[b]{.32\textwidth}
  \includegraphics[width=\textwidth]{figures/Figure2.pdf}
  \caption{}
  \label{fig:eggs}
\end{subfigure}
\begin{subfigure}[b]{.32\textwidth}
  \includegraphics[width=\textwidth]{figures/Figure3.pdf}
  \caption{}
  \label{fig:surv_age0}
\end{subfigure}
\caption{(a) Graph of $p_b(z)$ (b) Graph of $\mbox{egg}(z)$, (c) Density-dependent survival of age-0 gizzard shard.}
\label{fig:fecundity}
\end{figure}

The survival to age-0 is assumed to be dependent on the density of age-0 gizzard shad (Figure \ref{fig:surv_age0}).  We assume that the probability of survival in age-0 fish is approximated by the exponentially decaying function
\begin{equation}\label{eq:age0surv}
s_0(n(z,t)) = A_s e^{-r_s d(n,t)}
\end{equation}
where the density $\ds d(n,t) = 10^{-3} \int_L^U \nu \, \mbox{egg}(z) p_b(z) n(z,t) \, dz$.

To complete the recruitment process we assign a length to the recruited individuals by simulating a Gaussian random variable with mean $\mu_c$ and standard deviation $\sigma_c$.

\begin{table}
  \caption{A summary of parameters, their biological meaning, and source for mean values.
  }
 \begin{center}
	\resizebox{\textwidth}{!}{
\begin{tabular}{|c|p{7.7cm}|c| p{2.5cm} | }\hline
     Parameter & Meaning (units) & Mean Value & Source \\\hline
     $\ds \alpha_s$ & intercept for linear regression for probability of spawning & -73.954 & Bodola(1955) \\
  $\ds \beta_s$ & slope for linear regression for probability of spawning & 0.430 & Bodola(1955)\\
  $\ds \beta_e$  & eggs per female & 15000/7 & Jons \& Miranda (1997) \\
  $\nu$ & viability of eggs & 0.002 & \\
  $\ds A_s$ & intercept for exponential model for age-0 survival & 0.289 &  Michaletz(1997) \\
    $r_s$ & decay rate for exponential model for age-0 survival & 0.003 &  Michaletz(1997) \\
    $\mu_c$ & mean length of age-0 & 112 & \\
    $\sigma_c$ & standard deviation of age-0 & 40 & \\
       \hline
      \end{tabular} } \label{table:parameters}
     \end{center}
     \end{table}

\subsection{Simulations}

We numerically solved our integral model using the mid-point rule with large approximating matrices (Burden and Faires, 2005). The mid-point rule has been commonly used for integral projection models because of its simplicity and effectiveness (Ellner and Rees, 2006; Ramula et al., 2009; Merow et al., 2014). During the course of model development, we explored different step sizes for the mid-point rule point rule and found that about XXXX points provided numerically stable results. We integrated over lengths from 0.01 cm to 500 cm. The upper limit was chosen based upon numerical stability and consistency of the system (e.g., avoiding ?eviction? or the loss of individuals due to numerical errors; Williams et al., 2012).

We coded our model as python and published scripts on JP bithub page XXXXXX.

\subsubsection{Relative Growth}
The dependence on survival of next generation of age-0 fish on the present density of age-0 fish strongly influences the density, at all ages, of gizzard shad within the population. When the fish density is large, there may be more fish at longer lengths and consequently a greater number of eggs produced.  More eggs leads to a higher density of age-0 fish and reflectively a reduction in the survival to age-1.  If this reduced survival continues for a few years, the overall density of fish may decline and there may not be as many larger fish reproducing.  If fewer eggs are spawned, there are less age-0 fish and the reduced density leads to a better survival probability.  For these years we would expect the overall density to increase.  This cycle of oscillation continues, reflected in our model by the time-dependent survival probability of age-0 (Figure \ref{fig:age0time}) and the relative growth rate
$$ \lambda(t) = \left. \int_L^U n(z,t+1) \, dz \middle/ \int_L^U n(z,t) \, dz \right.$$ (Figure \ref{fig:lambda}).

\begin{figure}
\centering
\begin{subfigure}[b]{.45\textwidth}
  \includegraphics[width=\textwidth]{figures/age0time.png}
   \caption{}
  \label{fig:age0time}
\end{subfigure}
\begin{subfigure}[b]{.45\textwidth}
   \includegraphics[width=\textwidth]{figures/lambda.png}
     \caption{}
\label{fig:lambda}
\end{subfigure}
\caption{(a) survival of age-0, (b) Relative growth rate of gizzard shad density}
%\caption{(a) Graph of $p_b(z)$ (b) Graph of $\mbox{egg}(z)$, (c) Density-dependent survival of age-0 gizzard shard.}
%\label{fig:fecundity}
\end{figure}

%\begin{figure}[t]
%  \centering
%    \includegraphics[width=0.4\textwidth]{figures/lambda.png}
%     \caption{Relative growth rate of gizzard shad density.}
%\label{fig:lambda}
%\end{figure}

\section{Results}

\subsection{Length Distribution Over Time}
We compared simulated length distributions with USGS LTRM data from La Grange reach. Selecting years with sample sizes greater than 200 observations limited the LTMR dataset to the years 2002 and 2005 (see Figure \ref{fig:LGdata}). In both years, the length of the sampled gizzard shad was organized into 11 bins of equal width $\Delta z = 30\mbox{cm}$ starting with 60-90cm.  We used the 2002 length distribution to define the initial distribution $\ds n(z_i,0)$, $i=1,...,11$, as the observed values per $\Delta z$. Solving equation (\ref{eq:IPM}) with parameter values summarized in Table \label{table:parameters} for 3 years resulted in a relative distribution that can be compared with the observed values in 2005 (Figure \ref{fig:LGdata_sim}).

\begin{figure}
\centering
\begin{subfigure}[b]{.45\textwidth}
  \includegraphics[width=\textwidth]{figures/LGdata.png}
     \caption{}
  \label{fig:LGdata}
\end{subfigure}
\begin{subfigure}[b]{.45\textwidth}
   \includegraphics[width=\textwidth]{figures/LGdata_sim.png}
     \caption{}
\label{fig:LGdata_sim}
\end{subfigure}
\caption{(a) Relative frequency of length from LTMR data in the years 2002 and 2005, (b) A comparison length frequency in 2005 from LTRM data and simulated frequency from the model with initial condition given by LTRM data in 2002.}
%\caption{(a) Graph of $p_b(z)$ (b) Graph of $\mbox{egg}(z)$, (c) Density-dependent survival of age-0 gizzard shard.}
%\label{fig:fecundity}
\end{figure}

\subsection{Total Population Size vs. Time}
Graphs of n

total n vs t and compare with Pool 26

\begin{figure}
\centering
\begin{subfigure}[b]{.32\textwidth}
  \includegraphics[width=\textwidth]{figures/popdensity.png}
     \caption{}
  \label{fig:popdensity}
\end{subfigure}
\begin{subfigure}[b]{.32\textwidth}
   \includegraphics[width=\textwidth]{figures/lagrange.png}
     \caption{}
\label{fig:lagrange}
\end{subfigure}
\begin{subfigure}[b]{.32\textwidth}
   \includegraphics[width=\textwidth]{figures/pool26.png}
     \caption{}
\label{fig:pool26}
\end{subfigure}
\caption{(a) length distribution over time, (b-c) Density of gizzard shad vs La Grange reach and Pool 26 observations}
%\caption{(a) Graph of $p_b(z)$ (b) Graph of $\mbox{egg}(z)$, (c) Density-dependent survival of age-0 gizzard shard.}
%\label{fig:fecundity}
\end{figure}

\section{Discussion}

\end{document}


%% template-AutoScaling.tex
%% Author: Zongxu Mu, Yasha Pushak
%% This is the LaTeX template file for Empirical Scaling Analyser (ESA) v2.
%% ESA takes the template, replace variables with their corresponding values,
%%	and generates an output file named AutoScaling.tex.
%% You may compile this file alone without running ESA to see how the output looks like.
%% Variables are surrounded by ``@@''s
%% Supported variable names include:
%%	- algName, e.g., ``WalkSAT/SKC''
%%	- instName, e.g., ``random 3SAT at phase transition''
%%	- models, e.g., ``\\begin{itemize}\n\\item $Exp\\left[a,b\\right]\\left(n\\right)=a\\cdot b^{n}$ \\quad{}(2-parameter exponential);\n\\end{itemize}''
%%	- numBootstrapSamples, the number of bootstrap samples used in the analysis, e.g., 1000
%%	- numInsts, the number of instances used in the analysis, e.g., 1200
%%      - numInsts[Train,Test], the number of instances used as support/challenge data in the anlaysis, e.g., 600.
%%	- largestSupportSize, e.g., 500
%%	- table-Details-dataset, e.g., ``\\input{table_Details-dataset}''
%%	- table-Details-dataset, e.g., ``\\input{table_Details-dataset}''
%%	- table-Fitted-models, e.g., ``\\input{table_Fitted-models}''
%%	- figure-fittedModels, e.g., ``\\includegraphics[width=0.8\textwidth]{fittedModels_loglog}''
%%	- supportSizes, the sizes used for fitting the models, e.g., ``200, 250, 300, 350, 400, 450, 500''
%%	- challengeSizes, e.g., ``600, 700, 800, 900, 1000''
%%	- table-Bootstrap-intervals-of-parameters, e.g., ``\\input{table_Bootstrap-intervals-of-parameters}''
%%	- table-Bootstrap-intervals, e.g., ``\\input{table_Bootstrap-intervals}''
%%	- analysisSummary, e.g., ``observed median running times are consistent with the polynomial scaling model''
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{geometry}
\geometry{verbose,tmargin=3.5cm,bmargin=3.5cm,lmargin=3cm,rmargin=3cm}
\usepackage{array}
\usepackage{multirow}
\usepackage{amstext}
\usepackage{graphicx}
\usepackage[usenames, dvipsnames]{color}

\newcommand{\updatedYP}[1]{#1}
\newcommand{\yp}[1]{#1}
\newcommand{\orange}[1]{#1}
\newcommand{\evalModels}[1]{#1}
\newcommand{\bestBoot}[1]{#1}

\newcommand{\medianInterval}[1]{}
\newcommand{\randomizedAlgorithm}[1]{}
\newcommand{\quantileRegression}[1]{}
@@customCommands@@

\makeatletter

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
%% Because html converters don't know tabularnewline
\providecommand{\tabularnewline}{\\}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.

\title{On the empirical scaling of running time of @@algName@@ for solving @@instName@@}
\author{Empirical Scaling Analyzer}

\makeatother

\usepackage{babel}
\begin{document}
\maketitle %

\section{Introduction}

This is the automatically generated report on the empirical scaling
of the running time of @@algName@@ for solving @@instName@@.

\section{Methodology}

\label{sec:Methodology}

% models, model fitting
For our scaling analysis, we considered the following parametric models:
@@models@@
% \begin{itemize}
% \item $Exp\left[a,b\right]\left(n\right)=a\cdot b^{n}$ \quad{}(2-parameter exponential);
% \item $RootExp\left[a,b\right]\left(n\right)=a\cdot b^{\sqrt{n}}$ \quad{}(2-parameter root-exponential);
% \item $Poly\left[a,b\right]\left(n\right)=a\cdot n^{b}$ \quad{}(2-parameter polynomial).
% \end{itemize}
Note that the approach could be easily extended to other scaling models.
For fitting parametric scaling models to observed data, we used
\quantileRegression{%
iteratively re-weighted linear
}%
least squres
\quantileRegression{%
to perform quantile
}%
regression.
Since this method works best for linear models, we used
log transformations to convert
non-linear models into linear models. This transformation biases the
fitted models to more heavily favour the smaller training instance
sizes, so we used a heuristic error correction term to compensate.
Preliminary studies using this fitting method when applied to simulated
running time datasets with known scaling properties show that using the
heuristic error correction term improves the quality of the fitted models
and allows the procedure to fit scaling models consistent with the true,
underlying scaling of the data.

% what we fitted the models to, how we assessed model fit
The fitted models correspond to performance predictions for the empirical
scaling of the @@statistic@@ of the distribution of running times.
\randomizedAlgorithm{%
Since @@algName@@ is a randomized algorithm, we analyzed the per-instance
@@perInstanceStatistic@@ of @@numRunsPerInstance@@ independent runs for
each instance. This means that the model predictions correspond to
@@statistic@@s of
per-instance @@perInstanceStatistic@@s. Similarly, the running time statistics
reported throughout this report are statistics of per-instance
@@perInstanceStatistic@@s.
}%
%Compared to the mean, the median has two
%advantages: it is statistically more stable and immune to the presence
%of a certain amount of timed-out runs.
To assess the fit of a given
scaling model to observed data, we used the @@errorType@@ as a loss function.

\medianInterval{%
Due to the instances for which the running times are unknown,
there is uncertainty about the
precise location of the @@statistic@@s of the running time distributions
at each such $n$, and we can only provide bounds on
those @@statistic@@s instead. Closely following \cite{dubois2015on}, we calculate
these bounds based on the best-and worst-case scenarios, in which all instances with unknown running times
are easiest (required 0 running time) or hardest (required infinite running time), respectively.
We note that these are not confidence
intervals, since we can guarantee the actual @@statistic@@ running
times to lie within them.
We also calculate model losses and confidence intervals based on these bounds.
}

% bootstrap confidence intervals
Closely following \cite{PusHoo20}, we
computed @@alpha@@\% bootstrap confidence intervals for the performance predictions
obtained from our scaling models, based on @@numBootstrapSamples@@ bootstrap samples
per instance set and @@numBootstrapSamples@@ automatically fitted variants of each scaling
model.
\bestBoot{To extend this idea, we calculated training and challenge losses for
each of the fitted models' predictions and the corresponding
bootstrap samples of the observed data. We used these bootstrap sample
losses to calculate median and 95\% confidence intervals of the support and
challenge losses for each model.
\medianInterval{In order to handle the unknown running times, we used the geometric
means of the @@statistic@@ intervals for each instance size to calculate the median losses.
However, to better capture both sources of uncertainty for the bootstrap intervals, we
calculated the loss interval upper and lower bounds by computing 97.5 and 2.5 quantiles
for the set of upper bounds and the set of lower bounds on the losses, respectively.}}%
\randomizedAlgorithm{Since this analysis was performed on per-instance
@@perInstanceStatistic@@s, we also computed these statistics on nested, per-instance
bootstrap samples, by first computing @@perInstanceStatistic@@s for
@@numPerInstanceBootstrapSamples@@ bootstrap samples for each instance and then
randomly selecting one of the per-instance @@perInstanceStatistic@@s when needed.}

We calculated the observed point estimates for the @@statistic@@s of the
data by fitting a linear model to local data with Guassian weights, and
then recording the observed statistic as the prediction from the linear
model as the mid-point of the local data.
\updatedYP{%
In the following, we say that a scaling model prediction is in-consistent
with observed data if the bootstrap confidence interval for the observed data
is disjoint from the bootstrap confidence interval for the
predicted @@statistic@@ \randomizedAlgorithm{of per-instance
@@perInstanceStatistic@@}
 running times; we say that a scaling model prediction is weakly consistent
with the observed data if the bootstrap confidence interval for the prediction
overlaps with the bootstrap confidence interval for the observed data;
%\medianInterval{we say that a scaling model prediction is consistent
%with observed data, if the interval for observed @@statistic@@ \randomizedAlgorithm{of per-instance @@perInstanceStatistic@@} running times
%overlaps with the
%bootstrap confidence interval for predicted running times;}
and, we say that a scaling model is strongly consistent with observed
data, if the bootstrap confidence interval for the observed @@statistic@@
 \randomizedAlgorithm{of per-instance @@perInstanceStatistic@@s} is fully contained
within the bootstrap confidence interval for predicted
running times.}
Also, we define the residue of a model at a given size as the observed
point estimate less the
predicted value using the fitted running time scaling model (fitted to
the set of training data).

\section{Dataset Description}

The dataset contains running times of the @@algName@@ algorithm solving
@@numInsts@@ instances of different sizes \randomizedAlgorithm{with
@@numRunsPerInstance@@ independent runs per instance}. We split the
running times into two categories, \emph{support} or \emph{training}
instances ($n\leq@@largestSupportSize@@$) and \emph{challenge} or
\emph{test} instances ($n>@@largestSupportSize@@$) with @@numInstsTrain@@
and @@numInstsTest@@ instances, respectively. The
details of the dataset can be found in Tables \ref{tab:Details-dataset-support}
and \ref{tab:Details-dataset-challenge}.
\begin{table*}
\noindent \begin{centering}
@@table-Details-dataset-support@@
\par\end{centering}

\caption{\label{tab:Details-dataset-support} Details of the running time
dataset used as support data for model fitting.
\randomizedAlgorithm{The reported statistics are of the per-instance
@@perInstanceStatistic@@ running times.} The ``\# of instances'' is the
sum of the weights of the instances used to calculate these statistics.}
\end{table*}

\begin{table*}
\noindent \begin{centering}
@@table-Details-dataset-challenge@@
\par\end{centering}

\caption{\label{tab:Details-dataset-challenge} Details of the running time
dataset used as challenge data for model fitting.
\randomizedAlgorithm{The reported statistics are of the per-instance
@@perInstanceStatistic@@ running times.} The ``\# of instances'' is the
sum of the weights of the instances used to calculate these statistics.}
\end{table*}

%
% Figure \ref{fig:CDFs} shows the distributions of the running times of
% @@algName@@ solving @@instName@@.
% \begin{figure*}[tb]
% \begin{centering}
% @@figure-cdfs@@
% % \includegraphics[width=0.8\textwidth]{cdfs}
% \par\end{centering}
%
% \noindent \centering{}\caption{\label{fig:CDFs} Distribution of running times across instance sets for
% @@algName@@.}
% \end{figure*}
%
%

\section{Empirical Scaling of Solver Performance}

\label{sec:Results}

We first fitted our parametric scaling models to the
@@statistic@@s of the
\randomizedAlgorithm{per-instance @@perInstanceStatistic@@} running times
of @@algName@@, as described in Section \ref{sec:Methodology}. The
models were fitted using the training instance data and later
challenged with the test instance data.
This resulted in the models, shown along with losses on support and
challenge data, shown in Table~\ref{tab:Fitted-models}.
\begin{table}[tb]
\begin{centering}
@@table-Fitted-models@@
% \input{table_Fitted-models}
\par\end{centering}

\caption{\label{tab:Fitted-models}Fitted models of the @@statistic@@s
of the \randomizedAlgorithm{per-instance @@perInstanceStatistic@@} running
times and loss
values (in CPU sec). The models yielding the most
accurate predictions (as per losses on challenge data) are shown in
boldface.}
\end{table}
In addition, we illustrate the fitted models of @@algName@@ in
Figure~\ref{fig:Fitted-models},
and the residues for the models in Figure~\ref{fig:Fitted-residues}.
\begin{figure}[tb]
\noindent \begin{centering}
@@figure-fittedModels@@
% \includegraphics[width=0.8\textwidth]{fittedModels}
\par\end{centering}

\caption{\label{fig:Fitted-models} Fitted models of the @@statistic@@s of the
\randomizedAlgorithm{per-instance @@perInstanceStatistic@@} running times.
The models correspond to predictions for the @@statistic@@s of the
\randomizedAlgorithm{per-instance @@perInstanceStatistic@@} running times of
@@algName@@ solving the set of @@instName@@
with $@@supportSizes@@$ variables, and are challenged by the @@statistic@@s of
the \randomizedAlgorithm{per-instance @@perInstanceStatistic@@}
running times of $@@challengeSizes@@$ variables.}
\end{figure}

\begin{figure}[tb]
\noindent \begin{centering}
@@figure-fittedResidues@@
% \includegraphics[width=0.8\textwidth]{fittedResidues}
\par\end{centering}

\caption{\label{fig:Fitted-residues} Residues of the fitted models of the
@@statistic@@s of the \randomizedAlgorithm{per-instance @@perInstanceStatistic@@}
running times. }
\end{figure}

But how much confidence should we have in these models? Are the losses
small enough that we should accept them? To answer this question,
we assessed the fitted models using the bootstrap approach outlined
in Section~\ref{sec:Methodology}. Table~\ref{tab:Bootstrap-intervals-of-parameters}
shows the bootstrap intervals of the model parameters,
\bestBoot{Table~\ref{tab:Bootstrap-model-RMSE}
shows the bootstrap intervals of the model prediction losses},
and Table~\ref{tab:Bootstrap-intervals-support}
contains the bootstrap intervals for the support data.
Challenging the models with extrapolation, as shown in
\evalModels{Table~\ref{tab:Bootstrap-intervals-challenge}, it is concluded that
@@analysisSummary@@
(as also illustrated in Figure~\ref{fig:Fitted-models}).
@@analysisSummaryExplaination@@}
\begin{table*}[tb]
\noindent \begin{centering}
@@table-Bootstrap-intervals-of-parameters@@
% \input{table_Bootstrap-intervals-of-parameters}

\par\end{centering}
\caption{\label{tab:Bootstrap-intervals-of-parameters} 95\% bootstrap intervals
of model parameters for the @@statistic@@s of the
\randomizedAlgorithm{per-instance @@perInstanceStatistic@@} running times}

%Group tables 4 and 5 together.
%\end{table*}
%\begin{table*}[tb]
\bigskip

\noindent \begin{centering}
@@table-Bootstrap-model-Loss@@
% \input{table_Bootstrap-model-Loss}

\par\end{centering}
\caption{\label{tab:Bootstrap-model-RMSE} \bestBoot{95\% bootstrap confidence
intervals
of model prediction losses for the @@statistic@@s of the
\randomizedAlgorithm{per-instance @@perInstanceStatistic@@} running times.%
%\medianInterval{To calculate the median RMSEs we used the geometric mean of the intervals for the @@statistic@@s of
%the \randomizedAlgorithm{per-instance @@perInstanceStatistic@@} running times for each instance size. However, the bootstrap
%confidence intervals directly capture both sources of uncertainty by reporting the 2.5 and 97.5
%quantiles of the lower and upper bounds on the RMSEs, respectively.}
@@winnerSelectRule@@ }}
\end{table*}

\begin{table*}[tb]
\noindent \begin{centering}
@@table-Bootstrap-intervals-support@@
% \input{table_Bootstrap-intervals}
\par\end{centering}

\caption{\label{tab:Bootstrap-intervals-support} 95\% bootstrap confidence
intervals
for the @@statistic@@s of the
\randomizedAlgorithm{per-instance @@perInstanceStatistic@@} running time
predictions and observed running times on @@instName@@.
The instance sizes shown here are those used for fitting the models.
Bootstrap intervals on predictions that are weakly consistent
with the observed point estimates are shown in boldface
%\medianInterval{those that are consistent are marked by plus signs ({+}),}
and those that are strongly consistent are marked
by asterisks ({*}).}
%and those that fully contain the confidence intervals on
%observations are marked by asterisks ({*}).}
\end{table*}

\begin{table*}[tb]
\noindent \begin{centering}
@@table-Bootstrap-intervals-challenge@@
% \input{table_Bootstrap-intervals}
\par\end{centering}

\caption{\label{tab:Bootstrap-intervals-challenge} 95\% bootstrap confidence intervals
for the @@statistic@@s of the \randomizedAlgorithm{per-instance @@perInstanceStatistic@@}
 running time predictions and observed running times on @@instName@@.
The instance sizes shown here are larger than those used for fitting the models.
Bootstrap intervals on predictions that are weakly consistent
with the observed data are shown in boldface
%\medianInterval{those that are consistent are marked by plus signs ({+}),}
and those that are strongly consistent are marked
by asterisks ({*}).}
%and those that fully contain the confidence intervals on
%observations are marked by asterisks ({*}).}
\end{table*}

\section{Conclusion}

In this report, we presented an empirical analysis of the scaling
behaviour of @@algName@@ on @@instName@@. We found
@@analysisSummary@@.

\bibliographystyle{plain}
\begin{thebibliography}{1}

\bibitem{PusHoo20}
Yasha Pushak and Holger~H. Hoos.
\newblock Advanced Statistical Analysis of Empirical Performance Scaling.
\newblock in {\em Proceedings of the 22nd Genetic and Evolutionary Computation Conference}, (GECCO 2020), pages 236--244, 2020.

\bibitem{PusEtAl20}
Yasha Pushak, Zongxu Mu and Holger~H. Hoos.
\newblock Empirical scaling analyzer: An automated system for empirical analysis of performance scaling.
\newblock {\em AI Communications} -- to appear, 2020.

\bibitem{dubois2015on}
J{\'e}r{\'e}mie Dubois-Lacoste, Holger~H. Hoos, and Thomas St{\"u}tzle.
\newblock On the empirical scaling behaviour of state-of-the-art local search
  algorithms for the {E}uclidean {TSP}.
\newblock In {\em Proceedings of the 17th Genetic and Evolutionary Computation Conference}, (GECCO 2015), pages 377--384, 2015.

\bibitem{hoos2009bootstrap}
Holger~H. Hoos.
\newblock A bootstrap approach to analysing the scaling of empirical run-time
  data with problem size.
\newblock Technical report, Technical Report TR-2009-16, Department of Computer Science, University of British
  Columbia, 2009.

\bibitem{hoos2014empirical}
Holger~H. Hoos and Thomas St{\"u}tzle.
\newblock On the empirical scaling of run-time for finding optimal solutions to
  the travelling salesman problem.
\newblock {\em European Journal of Operational Research}, 238(1):87--94, 2014.

\end{thebibliography}

\end{document}