Sie sind auf Seite 1von 4

Multiobjective Optimization Algorithms

On this page
Multiobjective Optimization Definition
Algorithms
Multiobjective Optimization Definition
There are two Optimization Toolbox multiobjective solvers: fgoalattain and fminimax.
fgoalattain addresses the problem of reducing a set of nonlinear functions Fi(x) below a set of goals F*i. Since
there are several functions Fi(x), it is not always clear what it means to solve this problem, especially when you
cannot achieve all the goals simultaneously. Therefore, the problem is reformulated to one that is always well-
defined.
The unscaled goal attainment problem is to minimize the maximum of Fi(x) F*i.
There is a useful generalization of the unscaled problem. Given a set of positive weights wi, the goal attainment
problem tries to find x to minimize the maximum of

(6-113)
This minimization is supposed to be accomplished while satisfying all types of
constraints: c(x) 0, ceq(x) = 0,Ax b, Aeqx = beq, and l x u.
If you set all weights equal to 1 (or any other positive constant), the goal attainment problem is the same as the
unscaled goal attainment problem. If the F*i are positive, and you set all weights as wi = F*i, the goal attainment
problem becomes minimizing the relative difference between the functions Fi(x) and the goals F*i.
In other words, the goal attainment problem is to minimize a slack variable , defined as the maximum over i of the
expressions in Equation 6-113. This implies the expression that is the formal statement of the goal attainment
problem:

such that F(x) w F*, c(x) 0, ceq(x) = 0, Ax b, Aeqx = beq, and l x u.
fminimax addresses the problem of minimizing the maximum of a set of nonlinear functions, subject to all types of
constraints:

such that c(x) 0, ceq(x) = 0, Ax b, Aeqx = beq, and l x u.
Clearly, this problem is a special case of the unscaled goal attainment problem, with F*i = 0 and wi = 1.
Algorithms
Goal Attainment Method
This section describes the goal attainment method of Gembicki [16]. This method uses a set of design goals,
, associated with a set of objectives, F(x) = {F1(x),F2(x),...,Fm(x)}. The problem formulation
allows the objectives to be under- or overachieved, enabling the designer to be relatively imprecise about the initial
design goals. The relative degree of under- or overachievement of the goals is controlled by a vector of weighting
coefficients, w = {w1,w2,...,wm}, and is expressed as a standard optimization problem using the formulation

(6-114)
such that

The term wi introduces an element of slackness into the problem, which otherwise imposes that the goals be rigidly
met. The weighting vector, w, enables the designer to express a measure of the relative tradeoffs between the
objectives. For instance, setting the weighting vector w equal to the initial goals indicates that the same percentage
under- or overachievement of the goals, F*, is achieved. You can incorporate hard constraints into the design by
setting a particular weighting factor to zero (i.e., wi = 0). The goal attainment method provides a convenient intuitive
interpretation of the design problem, which is solvable using standard optimization procedures. Illustrative examples
of the use of the goal attainment method in control system design can be found in Fleming ([10] and [11]).
The goal attainment method is represented geometrically in the figure below in two dimensions.
Figure 6-5. Geometrical Representation of the Goal Attainment Method

Specification of the goals, , defines the goal point, P. The weighting vector defines the direction of search
from P to the feasible function space, (). During the optimization is varied, which changes the size of the feasible
region. The constraint boundaries converge to the unique solution point F1s, F2s.
Algorithm Improvements for the Goal Attainment Method
The goal attainment method has the advantage that it can be posed as a nonlinear programming problem.
Characteristics of the problem can also be exploited in a nonlinear programming algorithm. In sequential quadratic
programming (SQP), the choice of merit function for the line search is not easy because, in many cases, it is difficult
to "define" the relative importance between improving the objective function and reducing constraint violations. This
has resulted in a number of different schemes for constructing the merit function (see, for example, Schittkowski [36]).
In goal attainment programming there might be a more appropriate merit function, which you can achieve by
posing Equation 6-114 as the minimax problem

(6-115)
where

Following the argument of Brayton et al. [2] for minimax optimization using SQP, using the merit function
ofEquation 6-47 for the goal attainment problem of Equation 6-115 gives

(6-116)
When the merit function of Equation 6-116 is used as the basis of a line search procedure, then, although (x,)
might decrease for a step in a given search direction, the function max i might paradoxically increase. This is
accepting a degradation in the worst case objective. Since the worst case objective is responsible for the value of the
objective function , this is accepting a step that ultimately increases the objective function to be minimized.
Conversely, (x,) might increase when max i decreases, implying a rejection of a step that improves the worst
case objective.
Following the lines of Brayton et al. [2], a solution is therefore to set (x) equal to the worst case objective, i.e.,

(6-117)
A problem in the goal attainment method is that it is common to use a weighting coefficient equal to 0 to incorporate
hard constraints. The merit function of Equation 6-117 then becomes infinite for arbitrary violations of the constraints.
To overcome this problem while still retaining the features of Equation 6-117, the merit function is combined with that
of Equation 6-48, giving the following:

(6-118)
Another feature that can be exploited in SQP is the objective function . From the KKT equations it can be shown that
the approximation to the Hessian of the Lagrangian, H, should have zeros in the rows and columns associated with
the variable . However, this property does not appear if H is initialized as the identity matrix. H is therefore initialized
and maintained to have zeros in the rows and columns associated with .
These changes make the Hessian, H, indefinite. Therefore H is set to have zeros in the rows and columns associated
with , except for the diagonal element, which is set to a small positive number (e.g., 1e-10). This allows use of the
fast converging positive definite QP method described in Quadratic Programming Solution.
The preceding modifications have been implemented in fgoalattain and have been found to make the method
more robust. However, because of the rapid convergence of the SQP method, the requirement that the merit function
strictly decrease sometimes requires more function evaluations than an implementation of SQP using the merit
function of Equation 6-47.
Minimizing the Maximum Objective
fminimax uses a goal attainment method. It takes goals of 0, and weights of 1. With this formulation, the goal
attainment problem becomes

which is the minimax problem.
Parenthetically, you might expect fminimax to turn the multiobjective function into a single objective. The function
f(x) = max(F1(x),...Fj(x))
is a single objective function to minimize. However, it is not differentiable, and Optimization Toolbox objectives are
required to be smooth. Therefore the minimax problem is formulated as a smooth goal attainment problem.