diff --git a/LaTeX/thesis.tex b/LaTeX/thesis.tex new file mode 100644 index 0000000..fe13b04 --- /dev/null +++ b/LaTeX/thesis.tex @@ -0,0 +1,177 @@ +\documentclass{article} + +\usepackage{graphicx} +\usepackage{mathtools} +\usepackage{geometry} +\usepackage{setspace} + +\geometry{left=1in, right=1in, top=1in, bottom=1in} +\doublespacing + +\begin{document} + + \title{This Will Be The Title Page} + \author{Richard Connor Johnstone} + + \maketitle + + \newpage + + This will be the copyright page + + \newpage + + This will be the signature page + + \newpage + + This will be the Acknowledgments + + \newpage + + \begin{abstract} + + This will be the overview/summary/abstract page + + \end{abstract} + + \newpage + + \tableofcontents + + \newpage + + \section{Introduction} + 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 manuever 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. + + \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} + Dicuss 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 neccessity 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 dicuss the error handling. + + \subsubsection{Genetic Algorithm Decription} + 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 parallellization, cluster computing, etc. + + % \bibliography{biblio}{} + % \bibliographystyle{plain} + +\end{document}