The Particle Swarm Optimization Toolbox is a library of evolutionary optimization tools developed in the MAT-LAB environment. The algorithms contained in the library include a genetic algorithm (GA), a single-objective particle swarm optimizer (SOPSO), and a multi-objective particle swarm optimizer (MOPSO). Development focused on both the SOPSO and MOPSO. A GA was included mainly for comparison purposes, and the particle swarm optimizers appeared to perform better for a wide variety of optimization problems. All algorithms are capable of performing unconstrained and constrained optimization. The particle swarm optimizers are capable of performing single and multi-objective optimization. The SOPSO and MOPSO algorithms are based on swarming theory and bird-flocking patterns to search the trade space for the optimal solution or optimal trade in competing objectives. The MOPSO generates Pareto fronts for objectives that are in competition.

A GA, based on Darwin evolutionary theory, is also included in the library. The GA consists of individuals that form a population in the design space. The population mates to form offspring at new locations in the design space. These offspring contain traits from both of the parents. The algorithm is based on this combination of traits from parents to hopefully provide an improved solution than either of the original parents. As the algorithm progresses, individuals that hold these optimal traits will emerge as the optimal solutions.

Due to the generic design of all optimization algorithms, each algorithm interfaces with a user-supplied objective function. This function serves as a “black-box” to the optimizers in which the only purpose of this function is to evaluate solutions provided by the optimizers. Hence, the user-supplied function can be numerical simulations, analytical functions, etc., since the specific detail of this function is of no concern to the optimizer. These algorithms were originally developed to support entry trajectory and guidance design for the Mars Science Laboratory mission but may be applied to any optimization problem.

The MSL simulations reside on a computational network of development computers and two clusters at NASA Langley. The MSL can take advantage of the parallel nature of these population-based algorithms with the optimization algorithms running with the Mars entry simulations on the Langley clusters via the user-supplied interface. Other problems for which this software might be used do not necessarily require use of the Langley clusters. The group in which

this innovation was developed uses the algorithms for MSL, but due to its generic nature, other uses can include Crew Exploration Vehicle ascent, entry, mission design, or any other project that can use this type of toolset.

This program was written by Michael J. Grant for Johnson Space Center. For more information, download the Technical Support Package (free white paper) at under the Software category. MSC-24261-1.

NASA Tech Briefs Magazine

This article first appeared in the June, 2010 issue of NASA Tech Briefs Magazine.

Read more articles from this issue here.

Read more articles from the archives here.