fminsearch: Removed unnecessary customized options in the demos
[scilab.git] / scilab / modules / optimization / demos / neldermead / nmplot_quadratic.fixed.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 fixed-shape Spendley et al. algorithm performs well on a quadratic test case.\n");
12 mprintf("Defining quadratic function...\n");
13 function [ y , index ] = quadratic ( x , index )
14   y = x(1)^2 + x(2)^2 - x(1) * x(2);
15 endfunction
16
17 mprintf("Creating nmplot object...\n");
18 nm = nmplot_new ();
19 nm = nmplot_configure(nm,"-numberofvariables",2);
20 nm = nmplot_configure(nm,"-function",quadratic);
21 nm = nmplot_configure(nm,"-x0",[2.0 2.0]');
22 nm = nmplot_configure(nm,"-maxiter",100);
23 nm = nmplot_configure(nm,"-maxfunevals",300);
24 nm = nmplot_configure(nm,"-tolxmethod",%f);
25 nm = nmplot_configure(nm,"-tolsimplexizerelative",1.e-8);
26 nm = nmplot_configure(nm,"-simplex0method","spendley");
27 nm = nmplot_configure(nm,"-method","fixed");
28 //
29 // Setup output files
30 //
31 nm = nmplot_configure(nm,"-simplexfn","rosenbrock.fixed.history.simplex.txt");
32 nm = nmplot_configure(nm,"-fbarfn","rosenbrock.fixed.history.fbar.txt");
33 nm = nmplot_configure(nm,"-foptfn","rosenbrock.fixed.history.fopt.txt");
34 nm = nmplot_configure(nm,"-sigmafn","rosenbrock.fixed.history.sigma.txt");
35 //
36 // Perform optimization
37 //
38 mprintf("Searching (please wait)...\n");
39 nm = nmplot_search(nm);
40 nmplot_display(nm);
41 // Plot various histories
42 mprintf("Plotting history of fbar...\n");
43 f = scf();
44 nmplot_historyplot ( nm , "rosenbrock.fixed.history.fbar.txt" , ...
45   mytitle = "Function Value Average" , myxlabel = "Iterations" );
46 mprintf("Plotting history of fopt...\n");
47 f = scf();
48 nmplot_historyplot ( nm , "rosenbrock.fixed.history.fopt.txt" , ...
49   mytitle = "Logarithm Minimum Function Value" , myxlabel = "Iterations" );
50 f.children.log_flags = "nln";
51 newticks = tlist(["ticks","locations","labels"]);
52 newticks.labels = ["1.e-20" "1.e-10" "1.e-1"];
53 newticks.locations = [1.e-20 1.e-10 1.e-1];
54 f.children.y_ticks = newticks;
55 f.children.children(1).children.mark_mode = "on";
56 f.children.children(1).children.mark_style = 9;
57 mprintf("Plotting history of sigma...\n");
58 f = scf();
59 nmplot_historyplot ( nm , "rosenbrock.fixed.history.sigma.txt" , ...
60   mytitle = "Logarithm Maximum Oriented length" , myxlabel = "Iterations" );
61 f.children.log_flags = "nln";
62 f.children.y_ticks = newticks;
63 f.children.children(1).children.mark_mode = "on";
64 f.children.children(1).children.mark_style = 9;
65 // Plot the contours of the cost function and the simplex history
66 mprintf("Plotting contour (please wait)...\n");
67 nm = nmplot_configure(nm,"-verbose",0);
68 [nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin = -2.0 , xmax = 4.0 , ymin = -2.0 , ymax = 4.0 , nx = 50 , ny = 50 );
69 f = scf();
70 drawlater();
71 contour ( xdata , ydata , zdata , [0.1 1.0 2.0 5.0 10.0 15.0 20.0] )
72 nmplot_simplexhistory ( nm );
73 drawnow();
74 // Clean-up
75 deletefile("rosenbrock.fixed.history.simplex.txt");
76 deletefile("rosenbrock.fixed.history.fbar.txt");
77 deletefile("rosenbrock.fixed.history.fopt.txt");
78 deletefile("rosenbrock.fixed.history.sigma.txt");
79 nm = nmplot_destroy(nm);
80 mprintf("End of demo.\n");
81
82 //
83 // Load this script into the editor
84 //
85 filename = 'nmplot_quadratic.fixed.sce';
86 dname = get_absolute_file_path(filename);
87 editor ( dname + filename );
88