4c829ca665419742f10bf8d429a0418e6164875d
[scilab.git] / scilab / modules / optimization / demos / neldermead / nmplot_quadratic.variable2.sce
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2008-2009 - INRIA - Michael Baudin
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10
11 mprintf("Illustrates that the Nelder-Mead algorithm performs correctly on a badly quadratic test case.\n");
12 mprintf("Defining quadratic function...\n");
13 a = 100.0;
14 function [ y , index ] = quadratic ( x , index )
15   y = a * x(1)^2 + x(2)^2;
16 endfunction
17
18 mprintf("Creating nmplot object...\n");
19 nm = nmplot_new ();
20 nm = nmplot_configure(nm,"-numberofvariables",2);
21 nm = nmplot_configure(nm,"-function",quadratic);
22 nm = nmplot_configure(nm,"-x0",[10.0 10.0]');
23 nm = nmplot_configure(nm,"-maxiter",400);
24 nm = nmplot_configure(nm,"-maxfunevals",400);
25 nm = nmplot_configure(nm,"-tolxmethod",%f);
26 nm = nmplot_configure(nm,"-tolsimplexizerelative",1.e-8);
27 nm = nmplot_configure(nm,"-simplex0method","spendley");
28 nm = nmplot_configure(nm,"-method","variable");
29 //nm = nmplot_configure(nm,"-verbose",1);
30 //nm = nmplot_configure(nm,"-verbosetermination",0);
31 //
32 // Perform optimization
33 //
34 mprintf("Searching for minimum...\n");
35 nm = nmplot_search(nm);
36 nmplot_display(nm);
37 nm = nmplot_destroy(nm);
38
39 //
40 // Load this script into the editor
41 //
42 filename = 'nmplot_quadratic.variable2.sce';
43 dname = get_absolute_file_path(filename);
44 editor ( dname + filename );
45