function nelder_mead_test04 ( ) %*****************************************************************************80 % %% NELDER_MEAD_TEST04 runs the Goldstein-Price function. % % Licensing: % % This code is distributed under the GNU LGPL license. % % Modified: % % 06 September 2010 % % Author: % % Jeff Borggaard % fprintf ( 1, '\n' ); fprintf ( 1, 'NELDER_MEAD_TEST04:\n' ); fprintf ( 1, ' Use the Goldstein-Price optimization function.\n' ); n = 2; x = [ -4, 5; ... 2, 3; ... 1, -4 ]; fprintf ( 1, '\n' ); fprintf ( 1, ' Initial data:\n' ); fprintf ( 1, '\n' ); for j = 1 : n fprintf ( 1, ' ---X(%d)---', j ); end fprintf ( 1, ' ---F(X)---\n' ); fprintf ( 1, '\n' ); for i = 1 : n + 1 for j = 1 : n fprintf ( 1, ' %10f', x(i,j) ); end fprintf ( 1, ' %10e\n', goldstein_price ( x(i,1:n) ) ); end [ xopt, n_feval ] = nelder_mead ( x, @goldstein_price, 0 ); fprintf ( 1, '\n' ); fprintf ( 1, ' Computed optimum after %d evaluations:\n', n_feval ); fprintf ( 1, '\n' ); for j = 1 : n fprintf ( 1, ' ---X(%d)---', j ); end fprintf ( 1, ' ---F(X)---\n' ); fprintf ( 1, '\n' ); for j = 1 : n fprintf ( 1, ' %10f', xopt(j) ); end fprintf ( 1, ' %10e\n', goldstein_price ( xopt ) ); return end