The following code is generating the following error,
>> mainOptimization terminated: average change in the spread of Pareto solutions less than options.TolFun.Undefined function or variable 'y'.Error in main (line 9)f1 = x.^4 + y.^4 - x.^2 * y.^2 + x * y - 10 * x.^2;
simpleMultiObjective.m
function z = simpleMultiObjective(xy) x = xy(1); y = xy(2); z(1) = x.^4 + y.^4 - x.^2 * y.^2 + x * y - 10 * x.^2; z(2) = x.^4 + y.^4 - x.^2 * y.^2 + x * y; end
main.m
fitness = @simpleMultiObjective;nvar = 2;[x, fval] = gamultiobj(fitness, nvar);x0 = -5:0.5:5;f1 = x.^4 + y.^4 - x.^2 * y.^2 + x * y - 10 * x.^2; f2 = x.^4 + y.^4 - x.^2 * y.^2 + x * y;figure; hold onplot(x0, f1);plot(x0, f2);grid;xlabel('x');ylabel('f');plot(x, fval(:, 1), 'x');plot(x, fval(:, 2), 'o');figure;plot(fval(:, 1), fval(:,2), 'o');xlabel('f1');ylabel('f2');grid;
Best Answer