Genetic algorithm giving errors - reg

1 Ansicht (letzte 30 Tage)
Kallam Haranadha Reddy
Kallam Haranadha Reddy am 29 Jan. 2017
Beantwortet: Geoff Hayes am 31 Jan. 2017
I implemented a flow shop scheduling problem in MATLAB R 2009b. But the same m-file and same data when i want to run in MATLAB R 2013a. It is giving error messages.
I tried to run genetic algorithm with the following line:
[x,fval,reason,output] = ga(fitnessfcn1,numberOfVariables,options)
Error messages are given below:
Error using feval
Undefined function 'gaoutputgen' for input
arguments of type 'struct'.
Error in gaoutput (line 29)
[state,optnew,changed] =
feval(functions{i},options,state,flag,args{i}{:});
Error in gaunc (line 55)
[state,options] =
gaoutput(FitnessFcn,options,state,currentState);
Error in ga (line 348)
[x,fval,exitFlag,output,population,scores]
= gaunc(FitnessFcn,nvars, ...
Error in mainHGA (line 58)
[x,fval,reason,output] =
ga(fitnessfcn1,numberOfVariables,options)
But the same program worked well in MATLAB R 2009b.
How can i run it in MATLAB R 2013a.
Thanks
  2 Kommentare
Walter Roberson
Walter Roberson am 29 Jan. 2017
What options did you pass in?
Kallam Haranadha Reddy
Kallam Haranadha Reddy am 31 Jan. 2017
Bearbeitet: Geoff Hayes am 31 Jan. 2017
I used the following options for running the Genetic Algorithm
options = gaoptimset('PopulationType', 'custom');
options = gaoptimset(options,'CreationFcn',inpop, ...
'CrossoverFcn',@mycrossoverOrder, ...
'MutationFcn',@mymutate_RX, ...
'PlotFcns',@gaplotbestf, ...
'Generations',2000,'PopulationSize',200, ...
'OutputFcn',@gaoutputgen,...
'StallGenLimit',2000,'TimeLimit',100,...
'StallTimeLimit',1000,'Vectorized','on');
This program run well in MATLAB R 2009b. But it is showing error messages in MATLAB R 2013a.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Geoff Hayes
Geoff Hayes am 31 Jan. 2017
According to the 2013a documentation found here, the signature for the output function is
[state,options,optchanged] = myfun(options,state,flag)
with the input arguments are defined as
  • options — Options structure
  • state — Structure containing information about the current generation. The State Structure describes the fields of state.
  • flag — String indicating the current status of the algorithm
Given the error message, Undefined function 'gaoutputgen' for input arguments of type 'struct', I suspect that this function signature changed from R2009b to R2013a to include a struct input (this would be the options). You will need to modify your gaoutputgen to conform to the (new) expected signature.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by