916e72077b425c93c3b2c07c597792dfcecc0d71
[scilab.git] / scilab / modules / optimization / tests / unit_tests / neldermead / neldermead_searchaddargobsolete.tst
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2008-2009 - INRIA - Michael Baudin
3 // Copyright (C) 2011 - DIGITEO - Michael Baudin
4 //
5 // This file must be used under the terms of the CeCILL.
6 // This source file is licensed as described in the file COPYING, which
7 // you should have received as part of this distribution.  The terms
8 // are also available at
9 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10
11 // <-- CLI SHELL MODE -->
12 // <-- ENGLISH IMPOSED -->
13 // <-- NO CHECK REF -->
14
15 // This test is designed to produce a warning:
16 // this warning is localized.
17 // This is why we do not check the ref.
18 // Checking the ref file under Linux fails, because
19 // <-- ENGLISH IMPOSED --> has no effect there.
20 // See : http://bugzilla.scilab.org/show_bug.cgi?id=9284
21
22
23
24 x0 = [11.0 140.0]';
25
26
27 //
28 // In this case, the mydata variable is passed
29 // explicitely by the neldermead class.
30 // So the actual name "mydata" does not matter
31 // and whatever variable name can be used.
32 //
33 function [ y , index ] = rosenbrock2 ( x , index , mydata )
34   a = mydata.a
35   y = 100*(x(2)-x(1)^2)^2 + ( a - x(1))^2;
36 endfunction
37
38 //
39 // Check backward compatibility with the "-costfargument" option.
40 //
41 mystuff = tlist(["T_MYSTUFF","a"]);
42 mystuff.a = 12.0;
43 nm = neldermead_new ();
44 nm = neldermead_configure(nm,"-numberofvariables",2);
45 nm = neldermead_configure(nm,"-function",rosenbrock2);
46 nm = neldermead_configure(nm,"-costfargument",mystuff);
47 nm = neldermead_configure(nm,"-x0",x0);
48 nm = neldermead_configure(nm,"-maxfunevals",%inf);
49 nm = neldermead_configure(nm,"-maxiter",10);
50 nm = neldermead_search(nm);
51 iter = neldermead_get(nm,"-iterations");
52 assert_checkequal ( iter , 10 );
53 nm = neldermead_destroy(nm);
54