Multi Objective Optimization in Matlab Programming
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.