function [bsf_value, bsf, fitness_call] = GRADEoptimization(Fconfig);

Fconfig()

GRADEinit

%while fitness_call < 1000*Dim
while (bsf_value-opt) > Prec
    GRADEnewpop
    GRADEselect    
end

output = sprintf('%s.out', Name );
f = fopen(output,'a');
fprintf( f, '%d %g', fitness_call, bsf_value );
for i = 1:Dim fprintf( f, ' %g', bsf(i) ); end
fprintf( f, '\n' );
fclose( f );


%% author: Anicka Kucerova, Czech Technical University in Prague
%% version 0.0.2
%% 6 Feb 2009