function f = evaluate_objective(x, M, V)
Function to evaluate the objective functions for the given input vector x. x is an array of decision variables and f(1), f(2),
etc are the objective functions. The algorithm always minimizes the objective function hence if you would like to maximize
the function then multiply the function by negative one. M is the numebr of objective functions and V is the number of decision
This functions is basically written by the user who defines his/her own objective function. Make sure that the M and V matches
your initial user input. Make sure that the
An example objective function is given below. It has two six decision variables are two objective functions.
Kursawe proposed by Frank Kursawe.
Take a look at the following reference A variant of evolution strategies for vector optimization. In H. P. Schwefel and R.
Männer, editors, Parallel Problem Solving from Nature. 1st Workshop, PPSN I, volume 496 of Lecture Notes in Computer Science,
pages 193-197, Berlin, Germany, oct 1991. Springer-Verlag.
Number of objective is two, while it can have arbirtarly many decision variables within the range -5 and 5. Common number
of variables is 3.
f = ;
sum = 0;
for i = 1 : V - 1
sum = sum - 10*exp(-0.2*sqrt((x(i))^2 + (x(i + 1))^2));
f(1) = sum;
sum = 0;
for i = 1 : V
sum = sum + (abs(x(i))^0.8 + 5*(sin(x(i)))^3);
f(2) = sum;
Check for error
if length(f) ~= M
error('The number of decision variables does not match you previous input. Kindly check your objective function');