Borrar filtros
Borrar filtros

Multi objective optimization of a 2D function.

5 visualizaciones (últimos 30 días)
Ba Ba Black Sheep!
Ba Ba Black Sheep! el 9 de En. de 2017
Editada: Ba Ba Black Sheep! el 9 de En. de 2017
I need to optimize the following function,
.
I have written the following program. But, I couldn't figure out how to get the program working with two parameters.
main.m
fitness = @simpleMultiObjective;
nvar = 2;
[x, fval] = gamultiobj(fitness, nvar);
simpleMultiObjective.m
function z = simpleMultiObjective(x, y)
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
This program is generating the following error,
>> main
Error using simpleMultiObjective (line 2)
Not enough input arguments.
Error in createAnonymousFcn>@(x)fcn(x,FcnArgs{:}) (line 11)
fcn_handle = @(x) fcn(x,FcnArgs{:});
Error in gamultiobjMakeState (line 27)
Score = FitnessFcn(state.Population(1,:));
Error in gamultiobjsolve (line 8)
state = gamultiobjMakeState(GenomeLength,FitnessFcn,ConstrFcn,output.problemtype,options);
Error in gamultiobj (line 261)
[x,fval,exitFlag,output,population,scores] = gamultiobjsolve(FitnessFcn,nvars, ...
Error in main (line 4)
[x, fval] = gamultiobj(fitness, nvar);
Caused by:
Failure in initial user-supplied fitness function evaluation. GAMULTIOBJ cannot continue.
>>

Respuesta aceptada

Walter Roberson
Walter Roberson el 9 de En. de 2017
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

Más respuestas (0)

Categorías

Más información sobre Get Started with Optimization Toolbox en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by