\documentclass[10pt]{article}

\usepackage{fullpage}
\usepackage{setspace}
\usepackage{parskip}
\usepackage{titlesec}
\usepackage[section]{placeins}
\usepackage{xcolor}
\usepackage{breakcites}
\usepackage{lineno}
\usepackage{hyphenat}





\PassOptionsToPackage{hyphens}{url}
\usepackage[colorlinks = true,
            linkcolor = blue,
            urlcolor  = blue,
            citecolor = blue,
            anchorcolor = blue]{hyperref}
\usepackage{etoolbox}
\makeatletter
\patchcmd\@combinedblfloats{\box\@outputbox}{\unvbox\@outputbox}{}{%
  \errmessage{\noexpand\@combinedblfloats could not be patched}%
}%
\makeatother


\usepackage{natbib}




\renewenvironment{abstract}
  {{\bfseries\noindent{\abstractname}\par\nobreak}\footnotesize}
  {\bigskip}

\titlespacing{\section}{0pt}{*3}{*1}
\titlespacing{\subsection}{0pt}{*2}{*0.5}
\titlespacing{\subsubsection}{0pt}{*1.5}{0pt}


\usepackage{authblk}


\usepackage{graphicx}
\usepackage[space]{grffile}
\usepackage{latexsym}
\usepackage{textcomp}
\usepackage{longtable}
\usepackage{tabulary}
\usepackage{booktabs,array,multirow}
\usepackage{amsfonts,amsmath,amssymb}
\providecommand\citet{\cite}
\providecommand\citep{\cite}
\providecommand\citealt{\cite}
% You can conditionalize code for latexml or normal latex using this.
\newif\iflatexml\latexmlfalse
\providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}%

\AtBeginDocument{\DeclareGraphicsExtensions{.pdf,.PDF,.eps,.EPS,.png,.PNG,.tif,.TIF,.jpg,.JPG,.jpeg,.JPEG}}

\usepackage[utf8]{inputenc}
\usepackage[english]{babel}



\usepackage{float}








\begin{document}

\title{PyBrOpS -Python Breeding Optimizer and Simulator}



\author[1]{Robert Z Shrote}%
\author[1]{Addie M Thompson}%
\affil[1]{Michigan State University}%


\vspace{-1em}



  
  \date{June 13, 2024}


\begingroup
\let\center\flushleft
\let\endcenter\endflushleft
\maketitle
\endgroup





\selectlanguage{english}
\begin{abstract}
Choosing a suitable breeding strategy is essential to the success of a plant breeding program. Simulations are an important tool that allow plant breeders to propose and assess the merits of alternative breeding strategies. The Python package PyBrOpS provides a highly flexible and modular framework to make optimized breeding selection decisions and perform stochastic simulations of plant breeding programs. PyBrOpS utilizes a customizable scripting-based approach to constructing breeding simulations and optimizations. Through the use of software interfaces that allow for extensibility, the user may implement custom PyBrOpS modules that provide additional functionality. PyBrOpS offers pre-built subroutines for selection strategies such as conventional genomic selection, weighted genomic selection, optimal contribution selection, optimal population value selection, and optimal haploid value selection. Additionally, PyBrOpS is capable of both single-and multi-trait selection. For multi-trait selection scenarios, PyBrOpS offers the novel capability of mapping trade-off frontiers through the use of multi-objective evolutionary algorithms. Here, we describe the main features of PyBrOpS and provide example use cases for breeding program simulation and optimization.%
\end{abstract}%



\sloppy




\selectlanguage{english}
\FloatBarrier
\end{document}

