Top  Previous  Next

FreeFlyer includes a generic optimization capability that can be used for multivariable optimization of user-defined objective functions. Users can configure any number of state variables and constraints to define their problem, then create a custom objective function which the optimization engine can minimize or maximize. If desired, the user can provide the optimization engine with gradient and Jacobian elements in order to leverage known analytic derivatives to improve iteration speed and convergence.


FreeFlyer supports three industry-standard optimizers: SNOPT, Ipopt, and NLopt. Support for Ipopt and NLopt is built-in and requires no additional configuration on the part of the user. To use SNOPT, a user must have access to their own SNOPT license and provide the path to their SNOPT library when loading the optimization engine. More information on each of these optimizers is available on the Optimization Engines page.


Note: This feature is unavailable for students using FreeFlyer Engineer-tier licenses as part of the FreeFlyer University program. If you are a student and have a need for the use of this feature, reach out to our FreeFlyer University team at ffuniversity@ai-solutions.com to discuss options.


There are a variety of Sample Mission Plans (included with your FreeFlyer installation) that demonstrate various applications of these topics. Continue to the Optimization Samples page to view descriptions and images of these examples.



Table of Contents

See the pages listed below for more information on the Optimizer object and other related topics.


Using the Optimizer

Tuning an Optimizer

Specifying Known Derivatives

Optimization Engines

Optimization Variable and Constraint Structure

Targeting versus Optimization

Optimal Control

oCollocation Algorithm

oControl Models

oTrajectory Phases