\documentclass{article}

\usepackage{graphicx}
\usepackage{mathtools}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{changepage}
\usepackage{fontspec}
\usepackage{titlesec}

% \setmainfont{Adamina}
% \setmainfont{Alegreya}
\setmainfont[Scale=1.2]{Average}

\titleformat{\section}
            {\bfseries\fontspec{Roboto}\LARGE}
            {\thesection}
            {0.5em}
            {}
\titleformat{\subsection}
            {\fontspec{Roboto}\Large}
            {\thesubsection}
            {0.5em}
            {}
\titleformat{\subsubsection}
            {\fontspec{Roboto}\large}
            {\thesubsubsection}
            {0.5em}
            {}

\newcommand{\thesisTitle}{Designing Optimal Low-Thrust Interplanetary Trajectories Utilizing
Monotonic Basin Hopping}

\geometry{left=1in, right=1in, top=1in, bottom=1in}
\doublespacing

\begin{document}

  \title{\thesisTitle}
  \author{Richard Connor Johnstone \\
          B.S., University of Kentucky, 2016}

  \maketitle

  \vspace{3.5in}

  \begin{adjustwidth}{100pt}{100pt}
    \begin{center}
      A thesis submitted to the Faculty of the Graduate School of the University of Colorado in
      partial fulfillment of the requirements for the degree of Master of Science Department of
      Aerospace Engineering Sciences \\ 2022
    \end{center}
  \end{adjustwidth}

  \newpage

  This will be the copyright page.

  \newpage

  \begin{center}
    This thesis entitled:

    \thesisTitle

    has been approved for the Department of Aerospace Engineering Sciences

  \end{center}

  \centerline{\begin{minipage}{4in}
    \begin{center}

      \vspace{1.5in}
      \hrule
      Dr. Natasha Bosanac

      \vspace{1.5in}
      \hrule
      Dr. Daniel J. Scheeres

      \vspace{1.5in}
      \hrule
      Dr. Kathryn Davis

      \vspace{1.5in}

    \end{center}
  \end{minipage}}

  \hspace{4.25in} Date: \hrulefill

  The final copy of this thesis has been examined by the signatories, and we find that both the
  content and the form meet acceptable presentation standards of scholarly work in the above
  mentioned discipline.

  \newpage

  %TODO: This should be better
  Dedicated to some people.

  \newpage

  Richard Connor Johnstone

  \thesisTitle

  %TODO: Don't directly copy Bryce's formatting
  Thesis directed by Dr. Natasha Bosanac

  %TODO: This is just a quick abstract for now. Rewrite more towards the end.
  \begin{abstract}

    There are a variety of approaches to finding and optimizing low-thrust trajectories in
    interplanetary space. This thesis analyzes one such approach, Sims-Flanagan transcriptions, and
    its applications in a multiple-shooting non-linear solver for the purpose of finding valid
    low-thrust trajectory arcs between planets given poor initial conditions. These valid arcs are
    then fed into a Monotonic Basin Hopping (MBH) algorithm, which combines these arcs in order to
    find and optimize interplanetary trajectories, given a set of flyby planets. This allows for a
    fairly rapid searching of a very large solution space of low-thrust profiles via a medium
    fidelity inner-loop solver and a well-suited optimization routine. The trajectories found by
    this method can then be optimized further by feeding the solutions back, once again, into the
    non-linear solver, this time allowing the solver to perform optimization. 

  \end{abstract}

  \newpage

  \tableofcontents

  \newpage

  \section{Introduction}

    Continuous low-thrust arcs utilizing technologies such as Ion propulsion, Halls thrusters, and
    others can be a powerful tool in the design of space missions. They tend to be particularly
    suited to missions which require very high total $\Delta V$ values and take place over a
    particularly long duration. As such, they are well-suited to interplanetary missions. For
    instance, low thrust ion propulsion was used on the Bepi-Colombo, Dawn, and Deep Space 1
    missions. 

    Provide some historical background, motivations, and discussion of the basic problems being
    investigated. Also a brief overview how the thesis will be laid out.

  \section{Trajectory Optimization}
    This section will outline the foundational problem of trajectory optimization.

    \subsection{The Two-Body Problem}
      Propose the two-body problem as a differential equation.

      \subsubsection{Kepler's Equations}
        Detail Kepler's equations for astrodynamics.

    \subsection{Analytical Solutions to Kepler's Equations}
      Discuss how, since the 2BP is analytically solveable, there exists algorithms for solving
      these equations.

      \subsubsection{LaGuerre-Conway Algorithm}
        Step through the LaGuerre-Conway algorithm, as it's used in this implementation.

    \subsection{Non-Linear Problem Optimization}
      Discuss the concept of a non-linear problem as it related to the study of optimization.

      \subsubsection{Non-Linear Solvers}
        Mention common non-linear solvers (Ipopt, SNOPT, etc.).

      \subsubsection{Newton Trust-Region Method}
        Discuss how the Newton Trust-Region method works.

      \subsubsection{Linesearch Method}
        I may take this section out, because I'm not currently using a linesearch. But I would cover
        the additions of linesearch methods.

  \section{Low-Thrust Considerations}
    Highlight the differences between high and low-thrust mission profiles.

    \subsection{Low Thrust Overview}
      Dive deeper into the concept of low thrust trajectories, highlighting the added trouble with
      propagation/integration.

    \subsection{Sims-Flanagan Transcription}
      Reveal the advantages of Sims-Flanagan transcription as an alternative to higher-fidelity
      propagation models. Be sure to mention its uses in many legitimate places.

  \section{Interplanetary Trajectory Considerations}
    Highlight the problems with the 2BP in co-ordinating influences of extra bodies over an
    interplanetary journey.

    \subsection{Patched Conics}
      Describe the method of patched conics.

    \subsection{Gravity Assist Maneuvers}
      Describe how a gravity assist maneuver would work in the framework of patched conics. Also
      discuss the advantages of such a maneuver.

    \subsection{Multiple Gravity Assist Techniques}
      Discuss the advantages of chaining together multiple gravity assists and highlight the
      difficulties in choosing these assists. Here I can mention porkchop plots, Lambert's problem,
      etc. Here I can also talk about Hybrid Optimal Control Problems.

    \subsection{Ephemeris Considerations}
      I can quickly mention SPICE here and talk a bit about validation.

  \section{Genetic Algorithms}
    I will probably give only a brief overview of genetic algorithms here. I don't personally know
    that much about them. Then in the following subsections I can discuss the parts that are
    relevant to the specific algorithm that I'm using.

    \subsection{Decision Vectors}
      Discuss what a decision vector is in the context of an optimization problem.

    \subsection{Selection and Fitness Evaluation}
      Discuss the costing being used as well as the different types of fitness evaluation that are
      common. Also discuss the concept of generations and ``survival''.

      \subsubsection{Tournament Selection}
        Dive deeper into the specific selection algorithm being used here.

    \subsection{Crossover}
      Discuss the concept of crossover and procreation in a genetic algorithm.

      \subsubsection{Binary Crossover}
        Discuss specific crossover algorithm used here.

      \subsubsection{Mutation}
        Discuss both the necessity for mutation and the mutation algorithm being used.

  \section{Algorithm Overview}
    Highlight the algorithm at a high-level. This is likely where flowcharts and diagrams will go to
    give a high-level overview.

    \subsection{Trajectory Composition}
      Discuss briefly the nomenclature used in defining these trajectories. Currently this isn't
      ``baked in'' to the code, so I have some freedom to adopt Englander's notation or use my own
      (since my intended use case is a little simpler).

    \subsection{Inner Loop Implementation}
      Give a better overview of the inner loop specifically. Probably this section will have a more
      in-depth flowchart.

      \subsubsection{LaGuerre-Conway Kepler Solver}
        Discuss how the LaGuerre-Conway algorithm is used in the code to provide a fundamental
        ``natural trajectory'' between two quantized, but not necessarily close points. Mention
        validation.

      \subsubsection{Sims-Flanagan Propagator}
        Discuss how this algorithm can then be expanded by using SFT to propagate any number of
        low-thrust steps over a specific arc. Mention validation. Here I can also mention the ``Sc''
        object and talk about how those parameters were chosen and effected the propagator.

      \subsubsection{Non-Linear Problem Solver}
        Mention the package being used to solve NLPs and how it works, highlighting the trust region
        method used and error-handling. Mention validation.

      \subsubsection{Monotonic Basin Hopping}
        Outline the MBH algorithm, going into detail at each step. Mention the long-tailed PDF being
        used and go into quite a bit of detail. Englander's paper on the MBH algorithm specifically
        should be a good guide. Mention validation.

    \subsection{Outer Loop Implementation}
      Overview the outer loop. This may require a final flowchart, but might potentially be too
      simple to lend itself to one.

      \subsubsection{Inner Loop Calling Function}
        The primary reason for including this section is to discuss the error handling.

      \subsubsection{Genetic Algorithm Description}
        Similar to the MBH section, there are a lot of implementation details to go over here. Many
        will have already been discussed in the background sections above. But I can step through
        each of the decisions, similar to Englander's paper on this.

  \section{Results Analysis}
    Simply highlight that the algorithm was tested on a sample trajectory to Saturn.

    \subsection{Sample Trajectory to Saturn}
      Give an overview of the trajectory that was ultimately chosen.

      \subsubsection{Comparison to Less Optimal Solutions}
        I should have a number of elite but less-optimal solutions. Honestly, I may write the
        algorithm to keep all of the solutions to provide many points of comparison here.

      \subsubsection{Cost Function Analysis}
        Give some real-world context for the mass-use, time-of-flight, etc.

      \subsubsection{Comparison to Impulsive Trajectories}
        I may also remove this section. I could do a quick comparison (using porkchop plots) to
        similar impulsive trajectories. Honestly, this is a lot of work for very little gain,
        though, so probably the first place to chop if needed.

  \section{Conclusion}
    \subsection{Overview of Results}
      Quick re-wording of the previous section in a paragraph or two for reader's convenience.

    \subsection{Applications of Algorithm}
      Talk a bit about why this work is valuable. Missions that could have benefited, missions that
      this enables, etc.

    \subsection{Recommendations for Future Work}
      Recommend future work, obviously. There are a \emph{ton} of opportunities for improvement
      including parallelization, cluster computing, etc.

  % \bibliography{biblio}{}
  % \bibliographystyle{plain}

\end{document}
