Multiobjective Optimization

Minimize multiple objective functions subject to constraints

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.
  • Multiobjective genetic algorithm: solves multiobjective optimization problems by finding an evenly distributed set of points on the Pareto front. This approach is used to optimize smooth or nonsmooth problems with or without bound and linear constraints.

Both goal attainment and minimax problems can be solved by transforming the problem into a standard constrained optimization problem and then using an active-set approach to find the solution. For more information, see Optimization Toolbox™ and Global Optimization Toolbox.

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