Optimization |
Top Previous Next |
FreeFlyer includes a generic single-objective 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 for single-objective optimization: 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 Single-Objective Optimization Engines page.
FreeFlyer also includes a multi-objective optimization capability which supports integer programming and Pareto front dominance, allowing users to optimize scenarios involving discrete choices. This approach utilizes a stochastic state space search, building generations of candidate solutions which maximize or minimize multiple user-specified objective functions.
FreeFlyer supports two algorithm types for multi-objective optimization: NSGA and SPEA. Support for NSGA and SPEA is built-in and requires no additional configuration on the part of the user. More information on each of these optimizers is available on the Multi-Objective 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.
Table of ContentsSee the pages listed below for more information on the Optimizer object and other related topics.
|