Multiobjective Optimization

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.

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.

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.

See also: Optimization Toolbox, Global Optimization Toolbox, design optimization, linear programming, quadratic programming, integer programing, nonlinear programming, genetic algorithm, simulated annealing