What Is Multiobjective Optimization?
Multiobjective optimization is minimizing or maximizing multiple objective functions subject to a set of constraints. Example problems include analyzing design tradeoffs, selecting optimal product or process designs, or any other application where you need an optimal solution with tradeoffs between two or more conflicting objectives.
Methods and Algorithms
- Goal attainment: Reduces the values of a linear or nonlinear vector function to attain the goal values given in a goal vector; the relative importance of the goals is indicated using a weight vector (Goal attainment problems may also be subject to linear and nonlinear constraints.)
- Minimax: Minimizes the worst-case values of a set of multivariate functions, possibly subject to linear and nonlinear constraints
- Pareto front: Finds noninferior solutions—that is, solutions in which an improvement in one objective requires a degradation in another; solutions are found with either a direct (pattern) search solver or a genetic algorithm (Both can be applied to smooth or nonsmooth problems with linear and nonlinear constraints.)
Both goal attainment and minimax problems can be solved by transforming the problem into a standard constrained optimization problem and then using a standard solver to find the solution. For more information, see Optimization Toolbox™ and Global Optimization Toolbox.
Multiobjective Optimization in MATLAB
MATLAB® provides flexible multiobjective optimization workflows for problems defined by equations or data using solvers from Optimization Toolbox and Global Optimization Toolbox. You can choose the problem-based workflow for rapid setup and solver flexibility or the solver-based workflow for maximum customization and control. Using either approach, MATLAB supports automated trade studies, algorithm development, and analysis beyond the initial Pareto front through custom postprocessing and visualization.
Multiobjective Optimization in Simulink
Engineers working with Simulink® models to identify optimal designs with conflicting objectives can use the Response Optimizer and Sensitivity Analyzer apps from Simulink Design Optimization™. These tools support multiobjective tradeoff analysis by identifying Pareto-optimal designs, enabling exploration of tradeoffs through visualizations such as multiobjective scatter and parallel plots, and helping you select the design that best fits your preferences.
Examples and How To
Multiobjective Optimization in MATLAB
Multiobjective Optimization in Simulink
Software Reference
See also: Optimization Toolbox, Global Optimization Toolbox, Simulink Design Optimization, design optimization, linear programming, quadratic programming, integer programming, nonlinear programming, genetic algorithm, simulated annealing