14.11 Solution of Multiobjective Problems Using MATLAB 767
with the weights satisfying the normalization condition
∑k
i= 1
wi= 1
14.11 Solution of Multiobjective Problems Using MATLAB
The MATLAB functionfgoalattaincan be used to solve a multiobjective optimiza-
tion problem using the goal attainment method. The following example illustrates the
procedure.
Example 14.3 Find the solution of the following three-objective optimization problem
using goal attainment method using the MATLAB functionfgoalattain.
Minimize
f 1 =^12 (x 1 − 2 )^2 + 131 (x 2 + 1 )^2 + 3
f 2 = 1751 (x 1 +x 2 − 3 )^2 + 171 ( 2 x 2 −x 1 )^2 − 31
f 3 =^18 ( 3 x 1 − 2 x 2 + 4 )^2 + 271 (x 1 −x 2 + 1 )^2 + 51
subject to
− 4 ≤xi≤ 4 ;i= 1 , 2
4 x 1 +x 2 − 4 ≤ 0
−x 1 − 1 ≤ 0
x 1 −x 2 − 2 ≤ 0
Assume the initial design variables to bex 1 =x 2 = 0. 1 , the weights to bew 1 = 0. 2 ,
w 2 = 0. 5 , andw 3 = 0. 3 , and the goals to beb 1 = , 5 b 2 = − 8 , andb 3 = 0. 2
SOLUTION
Step 1:Create an m-file for the objective functions and save it asfgoalat-
tain_obj.m
function f = fgoalattainobj(x)
f(1) = (x(1)-2)^2/2+(x(2)+1)^2/13+3
f(2) = (x(1)+x(2)-3)^2/175+(2*x(2)-x(1))^2/17-13
f(3) = (3*x(1)-2*x(2)+4)^2/8+(x(1)-x(2)+1)^2/27+15
Step 2:Create an m-file for the constraints and save it asfgoalattain_con.m
function [c ceq] = fgoalattaincon(x)
c= [- 4- x(1); ...
x(1)- 4; ...