function x = dfoxs(n,nprob,factor) % This is a Matlab version of the subroutine dfoxs.f % This subroutine specifies the standard starting points for the % functions defined by subroutine dfovec as used in: % % Benchmarking Derivative-Free Optimization Algorithms % Jorge J. More' and Stefan M. Wild % SIAM J. Optimization, Vol. 20 (1), pp.172-191, 2009. % % The latest version of this subroutine is always available at % http://www.mcs.anl.gov/~more/dfo/ % The authors would appreciate feedback and experiences from numerical % studies conducted using this subroutine. % % The subroutine returns % in x a multiple (factor) of the standard starting point. for % the 11th function the standard starting point is zero, so in % this case, if factor is not unity, then the subroutine returns % the vector x(j) = factor, j=1,...,n. % % xs is an output array of length n which contains the standard % starting point for problem nprob multiplied by factor. % n is a positive integer input variable. % nprob is a positive integer input variable which defines the % number of the problem. nprob must not exceed 22. % factor is an input variable which specifies the multiple of % the standard starting point. if factor is unity, no % multiplication is performed. % % Argonne National Laboratory % Jorge More' and Stefan Wild. January 2008. x = zeros(n,1); switch nprob case 1 % linear function - full rank or rank 1. x = ones(n,1); case 2 % linear function - full rank or rank 1. x = ones(n,1); case 3 % linear function - full rank or rank 1. x = ones(n,1); case 4 % rosenbrock function. x(1) = -1.2; x(2) = 1; case 5 % helical valley function. x(1) = -1; case 6 % powell singular function. x(1) = 3; x(2) = -1; x(3) = 0; x(4) = 1; case 7 % freudenstein and roth function. x(1) = .5; x(2) = -2; case 8 % bard function. x(1:3) = 1; case 9 % kowalik and osborne function. x(1) = .25; x(2) = .39; x(3) = .415; x(4) = .39; case 10 % meyer function. x(1) = .02; x(2) = 4000; x(3) = 250; case 11 % watson function. x = .5*ones(n,1); case 12 % box 3-dimensional function. x(1) = 0; x(2) = 10; x(3) = 20; case 13 % jennrich and sampson function. x(1) = .3; x(2) = .4; case 14 % brown and dennis function. x(1) = 25; x(2) = 5; x(3) = -5; x(4) = -1; case 15 % chebyquad function. for k = 1:n x(k) = k/(n+1); end case 16 % brown almost-linear function. x = .5*ones(n,1); case 17 % osborne 1 function. x(1) = .5; x(2) = 1.5; x(3) = 1; x(4) = .01; x(5) = .02; case 18 % osborne 2 function. x(1) = 1.3; x(2) = .65; x(3) = .65; x(4) = .7; x(5) = .6; x(6) = 3; x(7) = 5; x(8) = 7; x(9) = 2; x(10) = 4.5; x(11) = 5.5; case 19 % bdqrtic x = ones(n,1); case 20 % cube x = .5*ones(n,1); case 21 % mancino for i=1:n ss = 0; for j=1:n ss = ss+(sqrt(i/j)*((sin(log(sqrt(i/j))))^5+(cos(log(sqrt(i/j))))^5)); end x(i) = -8.710996D-4*((i-50)^3 + ss); end case 22 % Heart8 x= [-.3, -.39, .3, -.344, -1.2, 2.69, 1.59, -1.5]'; end x = factor*x;