Multiobjective optimization involves minimizing or maximizing more than one 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 in MATLAB include:
• Goal attainment: reduces the values of a linear or nonlinear vector function to get the goal values given in a goal vector. The major importance of the goals is indicated using a weight vector. Goal attainment may also be subject to linear and nonlinear constraints.
• Minimax: minimizes the worst-case values of a set of functions having multi-variable , possibly subject to linear and nonlinear constraints.
• Pareto front: finds the non-inferior solutions—that is, solutions in which an improvement in one objective requires a reductions in another. Solutions are searched with either a direct (pattern) search solver or a genetic algorithm. Both can be simplified to smooth or nonsmooth problems with linear and nonlinear constraints.
Both goal attainment and minimax problems will be solved by changing the problem into a standard constrained optimization problem and then using a standard solver to find the solution. Optimization Toolbox™ in MATLAB provides functions for getting parameters that minimize or maximize objectives while satisfying constraints. The toolbox also have solvers for linear programming (LP), mixed-integer linear programming (MILP), quadratic programming (QP), nonlinear programming (NLP), nonlinear least squares, constrained linear least squares, and nonlinear equations. Other than optimization toolbox there is
Global Optimization Toolbox also provides functions that search for global solutions to problems that contain more than one maxima or minima. Toolbox solvers include surrogate, pattern search, algorithm, particle swarm, genetic simulated annealing, multistart, and global search.