Files
thesis/prelim_notes/plan.md
rconnorjohnstone 97a5648ca2 Added a makefile
2021-04-03 19:01:19 -06:00

38 lines
2.5 KiB
Markdown

# Plan After Literature Review
After reading the papers in the Google Drive (see `paper_notes.md`) I've come up with the following
plan:
I think that I'd like to follow an approach similar to what I saw in Englander and Morante. However,
I think it makes more sense to follow the Englander approach for the specific optimizers being used
in the inner and outer loops. Specifically this means:
- Set up the problem as a Hybrid Optimal Control Problem (HOCP) with an inner and an outer loop
- The outer loop will determine the number and identities of the flybys and optimize using a Binary
Genetic Algorithm described by Englander
- The inner loop in Englander uses Sims-Flanagan Transcription optimized using monotonic basin
hopping. This seems like a good approach. I'd like to use this approach, but also consider using,
as an alternative method for comparison, one of the machine-learning algorithms from the other
papers.
- There are a number of other details including modeling launch C3, power, thrust, and ephemeris.
For all of these I'll use either the exact approach from Englander or a similar approach. There
exists an option to use alternatives to SPICE for ephemeris, but I think the parallelization
problems that SPICE poses can be solved in other ways.
- Specifically, I'd like to build this program using a micro-service architecture. This could
allow for deployment using Kubernetes clusters. This will handle the parallelization (by
running multiple inner loop micro-services at once) and allow for simpler use in production
environments if that's ever needed, as kubernetes has a robust integration with most
web-hosting services. This also allows for flexible scalability if improved speed is ever
needed.
## Open Questions
- Are there other inner and outer loop optimization approaches I should consider?
- I didn't see a ton of information regarding the specific parameters of the orbital flybys outside
of the number and the identities of the planets. I need to figure out whether Englander approaches
that optimization in the inner or the outer loop
- I would like to use a fast language for this, and ideally one that I could benefit from learning
about (by this I mean, preferably not C++, as I've used that before -- though it does integrate
well with tools like SPICE, so it is a good option). Preferably Rust, as it has the fastest server
libraries, which I don't expect to have a huge overhead, but is something to consider.