Multiobjective optimization involves 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.
Common approaches for multiobjective optimization include:
- 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.