fminsearch: added (please wait) messages in the demos
Michaƫl Baudin [Thu, 29 Oct 2009 13:40:49 +0000 (14:40 +0100)]
16 files changed:
scilab/modules/optimization/demos/neldermead/neldermead_boxpost.sce
scilab/modules/optimization/demos/neldermead/neldermead_boxproblemA.sce
scilab/modules/optimization/demos/neldermead/neldermead_boxproblemB.sce
scilab/modules/optimization/demos/neldermead/neldermead_dimension.sce
scilab/modules/optimization/demos/neldermead/neldermead_outputcmd.sce
scilab/modules/optimization/demos/neldermead/neldermead_rosenbrock.sce
scilab/modules/optimization/demos/neldermead/nmplot_han1.sce
scilab/modules/optimization/demos/neldermead/nmplot_han2.sce
scilab/modules/optimization/demos/neldermead/nmplot_mckinnon.sce
scilab/modules/optimization/demos/neldermead/nmplot_mckinnon2.sce
scilab/modules/optimization/demos/neldermead/nmplot_quadratic.fixed.sce
scilab/modules/optimization/demos/neldermead/nmplot_quadratic.fixed2.sce
scilab/modules/optimization/demos/neldermead/nmplot_quadratic.variable.sce
scilab/modules/optimization/demos/neldermead/nmplot_quadratic.variable2.sce
scilab/modules/optimization/demos/neldermead/nmplot_rosenbrock.fixed.sce
scilab/modules/optimization/demos/neldermead/nmplot_rosenbrock.sce

index b31c43b..c235003 100644 (file)
@@ -148,6 +148,8 @@ shift = abs(fcomp-fopt)/abs(fopt);
 mprintf("Shift =%f\n",shift);
 nm = neldermead_destroy(nm);
 deletefile ( "postoffice.txt" )
+mprintf("End of demo.\n");
+
 //
 // Load this script into the editor
 //
index 21cd08e..59c02e1 100644 (file)
@@ -162,7 +162,7 @@ nm = neldermead_configure(nm,"-nbineqconst",6);
 //
 // Perform optimization
 //
-mprintf("Searching...\n");
+mprintf("Searching (please wait)...\n");
 nm = neldermead_search(nm);
 mprintf("...Done\n");
 neldermead_display(nm);
@@ -178,6 +178,8 @@ shift = abs(fcomp-fopt)/abs(fopt);
 mprintf("Shift =%f\n",shift);
 nm = neldermead_destroy(nm);
 deletefile ( "boxproblemA.txt" )
+mprintf("End of demo.\n");
+
 //
 // Load this script into the editor
 //
index 513f699..d2c4026 100644 (file)
@@ -121,6 +121,7 @@ nm = neldermead_configure(nm,"-boxboundsalpha" , 0.0001 );
 //
 // Perform optimization
 //
+mprintf("Searching (please wait)...\n");
 nm = neldermead_search(nm);
 neldermead_display(nm);
 xcomp = neldermead_get(nm,"-xopt");
@@ -135,6 +136,8 @@ shift = abs(fcomp-fopt)/abs(fopt);
 mprintf("Shift =%f\n",shift);
 nm = neldermead_destroy(nm);
 deletefile ( "boxproblemB.txt" )
+mprintf("End of demo.\n");
+
 //
 // Load this script into the editor
 //
index 6863644..860eeb0 100644 (file)
@@ -76,6 +76,8 @@ hh.children.y_label.text = "Number of function evaluations"
 hh.children.children.children.mark_mode = "on";
 hh.children.children.children.mark_style = 9;
 hh.children.children.children.mark_size = 10;
+mprintf("End of demo.\n");
+
 //
 // Load this script into the editor
 //
index a3a27e7..1794d4e 100644 (file)
@@ -64,6 +64,7 @@ nm = neldermead_configure(nm,"-verbosetermination",0);
 nm = neldermead_configure(nm,"-outputcommand",myoutputcmd);
 nm = neldermead_search(nm);
 nm = neldermead_destroy(nm);
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor
index c96ae6e..e75e739 100644 (file)
@@ -11,62 +11,24 @@ mprintf("Defining Rosenbrock function...\n");
 function [ y , index ] = rosenbrock ( x , index )
 y = 100*(x(2)-x(1)^2)^2+(1-x(1))^2;
 endfunction
+
 x0 = [-1.2 1.0]';
-mprintf("x0=%s\n",strcat(string(x0)," "));
-mprintf("Creating object...\n");
+
 nm = neldermead_new ();
-mprintf("Configuring object...\n");
 nm = neldermead_configure(nm,"-numberofvariables",2);
 nm = neldermead_configure(nm,"-function",rosenbrock);
 nm = neldermead_configure(nm,"-x0",x0);
-nm = neldermead_configure(nm,"-maxiter",200);
-nm = neldermead_configure(nm,"-maxfunevals",300);
-nm = neldermead_configure(nm,"-tolfunrelative",10*%eps);
-nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
-nm = neldermead_configure(nm,"-simplex0method","axes");
-nm = neldermead_configure(nm,"-simplex0length",1.0);
-nm = neldermead_configure(nm,"-method","variable");
-nm = neldermead_configure(nm,"-verbose",0);
-nm = neldermead_configure(nm,"-verbosetermination",0);
-mprintf("Searching for minimum...\n");
+
+mprintf("Searching (please wait)...\n");
 nm = neldermead_search(nm);
-neldermead_display(nm);
-mprintf("Plot contour...\n");
-xmin = -2.0 ; 
-xmax = 2.0 ; 
-ymin = -2.0 ; 
-ymax = 2.0 ; 
-nx = 50; 
-ny = 50;
-stepx = (xmax - xmin)/nx
-xdata = xmin:stepx:xmax;
-stepy = (ymax - ymin)/ny
-ydata = ymin:stepy:ymax;
-for ix = 1:length(xdata)
-  for iy = 1:length(ydata)
-    experiment = [xdata(ix) ydata(iy)];
-    [ nm , fiexp ] = neldermead_function ( nm , experiment );
-    zdata ( ix , iy ) = fiexp;
-  end
-end
-wnum = 100001;
-my_handle             = scf(wnum);
-contour ( xdata , ydata , zdata , [3 10 100 500 1000 2000] )
-// Plot starting point
-mprintf("x0 : blue dot\n");
-plot(x0(1),x0(2));
-my_handle.children.children(1).children.mark_mode="on";
-my_handle.children.children(1).children.mark_size = 5;
-my_handle.children.children(1).children.mark_foreground = 2;
-mprintf("xopt : red dot\n");
-xopt = neldermead_get(nm,"-xopt");
-plot(xopt(1),xopt(2));
-my_handle.children.children(1).children.mark_mode="on";
-my_handle.children.children(1).children.mark_size = 5;
-my_handle.children.children(1).children.mark_foreground = 5;
 
+fx0 = neldermead_get(nm,"-fx0");
+mprintf("f(x0) = %f, x0=[%s]\n" , fx0 , strcat(string(x0)," "));
+xopt = neldermead_get(nm,"-xopt");
+fopt = neldermead_get(nm,"-fopt");
+mprintf("f(xopt) = %f, xopt=[%s]\n" , fopt , strcat(string(xopt)," "));
 nm = neldermead_destroy(nm);
-clear nm;
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor
index dc9e2f9..5b74d8c 100644 (file)
@@ -60,13 +60,13 @@ nm = nmplot_configure(nm,"-sigmafn","han1-history-sigma.txt");
 //
 // Perform optimization
 //
-mprintf("Searching for minimum...\n");
+mprintf("Searching (please wait)...\n");
 nm = nmplot_search(nm);
 nmplot_display(nm);
 //
 // Plot the history of the simplex
 //
-mprintf("Plotting contour...\n");
+mprintf("Plotting contour (please wait)...\n");
 [nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin = -0.2 , xmax = 1.2 , ymin = -2.0 , ymax = 2.0 , nx = 50 , ny = 50 );
 f = scf(100001);
 xset("fpf"," ")
@@ -82,6 +82,7 @@ deletefile("han1-history-fbar.txt");
 deletefile("han1-history-fopt.txt");
 deletefile("han1-history-sigma.txt");
 nm = nmplot_destroy(nm);
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor
index d412656..9d8fa8b 100644 (file)
@@ -60,13 +60,13 @@ nm = nmplot_configure(nm,"-simplexfn","han2-history-simplex.txt");
 //
 // Perform optimization
 //
-mprintf("Searching for minimum...\n");
+mprintf("Searching (please wait)...\n");
 nm = nmplot_search(nm);
 nmplot_display(nm);
 //
 // Plot
 //
-mprintf("Plotting contour...\n");
+mprintf("Plotting contour (please wait)...\n");
 [nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin = -0.2 , xmax = 1.2 , ymin = -1.5 , ymax = 1.5 , nx = 50 , ny = 50 );
 f = scf(100001);
 xset("fpf"," ")
@@ -76,6 +76,7 @@ nmplot_simplexhistory ( nm );
 drawnow();
 deletefile("han2-history-simplex.txt");
 nm = nmplot_destroy(nm);
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor
index b23b4ac..4e49847 100644 (file)
@@ -127,12 +127,13 @@ nm = nmplot_configure(nm,"-sigmafn","mckinnon.history.sigma.txt");
 //
 // Perform optimization
 //
+mprintf("Searching (please wait)...\n");
 nm = nmplot_search(nm);
 nmplot_display(nm);
 //
 // Plot
 //
-mprintf("Plot contour...\n");
+mprintf("Plot contour (please wait)...\n");
 [nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin = -0.2 , xmax = 1.2 , ymin = -2.0 , ymax = 2.0 , nx = 50 , ny = 50 );
 f = scf(100001);
 xset("fpf"," ")
@@ -154,6 +155,7 @@ deletefile("mckinnon.history.fbar.txt");
 deletefile("mckinnon.history.fopt.txt");
 deletefile("mckinnon.history.sigma.txt");
 nm = nmplot_destroy(nm);
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor
index 4b82f2c..f84931e 100644 (file)
@@ -129,12 +129,13 @@ nm = nmplot_configure(nm,"-sigmafn","mckinnon.history.restart.sigma.txt");
 //
 // Perform optimization
 //
+mprintf("Searching (please wait)...\n");
 nm = nmplot_search(nm);
 nmplot_display(nm);
 //
 // Plot
 //
-mprintf("Plot contour...\n");
+mprintf("Plot contour (please wait)...\n");
 [nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin = -0.2 , xmax = 2.0 , ymin = -2.0 , ymax = 2.0 , nx = 50 , ny = 50 );
 f = scf();
 xset("fpf"," ")
@@ -156,6 +157,7 @@ deletefile("mckinnon.history.restart.fbar.txt");
 deletefile("mckinnon.history.restart.fopt.txt");
 deletefile("mckinnon.history.restart.sigma.txt");
 nm = nmplot_destroy(nm);
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor
index 39449ed..dcf22cb 100644 (file)
@@ -37,7 +37,7 @@ nm = nmplot_configure(nm,"-sigmafn","rosenbrock.fixed.history.sigma.txt");
 //
 // Perform optimization
 //
-mprintf("Searching for minimum...\n");
+mprintf("Searching (please wait)...\n");
 nm = nmplot_search(nm);
 nmplot_display(nm);
 // Plot various histories
@@ -65,7 +65,7 @@ f.children.y_ticks = newticks;
 f.children.children(1).children.mark_mode = "on";
 f.children.children(1).children.mark_style = 9;
 // Plot the contours of the cost function and the simplex history
-mprintf("Plotting contour...\n");
+mprintf("Plotting contour (please wait)...\n");
 nm = nmplot_configure(nm,"-verbose",0);
 [nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin = -2.0 , xmax = 4.0 , ymin = -2.0 , ymax = 4.0 , nx = 50 , ny = 50 );
 f = scf();
@@ -79,6 +79,7 @@ deletefile("rosenbrock.fixed.history.fbar.txt");
 deletefile("rosenbrock.fixed.history.fopt.txt");
 deletefile("rosenbrock.fixed.history.sigma.txt");
 nm = nmplot_destroy(nm);
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor
index 3301ea8..39073be 100644 (file)
@@ -38,7 +38,7 @@ nm = nmplot_configure(nm,"-sigmafn","rosenbrock.fixed.history.sigma.txt");
 //
 // Perform optimization
 //
-mprintf("Searching for minimum...\n");
+mprintf("Searching (please wait)...\n");
 nm = nmplot_search(nm);
 nmplot_display(nm);
 // Plot various histories
@@ -66,7 +66,7 @@ f.children.y_ticks = newticks;
 f.children.children(1).children.mark_mode = "on";
 f.children.children(1).children.mark_style = 9;
 // Plot the contours of the cost function and the simplex history
-mprintf("Plotting contour...\n");
+mprintf("Plotting contour (please wait)...\n");
 nm = nmplot_configure(nm,"-verbose",0);
 [nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin = -5.0 , xmax = 12.0 , ymin = -2.0 , ymax = 12.0 , nx = 50 , ny = 50 );
 f = scf();
@@ -80,6 +80,7 @@ deletefile("rosenbrock.fixed.history.fbar.txt");
 deletefile("rosenbrock.fixed.history.fopt.txt");
 deletefile("rosenbrock.fixed.history.sigma.txt");
 nm = nmplot_destroy(nm);
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor
index 276f220..7d6cabe 100644 (file)
@@ -37,7 +37,7 @@ nm = nmplot_configure(nm,"-sigmafn","history.sigma.txt");
 //
 // Perform optimization
 //
-mprintf("Searching for minimum...\n");
+mprintf("Searching (please wait)...\n");
 nm = nmplot_search(nm);
 nmplot_display(nm);
 // Plot various histories
@@ -65,7 +65,7 @@ f.children.y_ticks = newticks;
 f.children.children(1).children.mark_mode = "on";
 f.children.children(1).children.mark_style = 9;
 // Plot the contours of the cost function and the simplex history
-mprintf("Plotting contour...\n");
+mprintf("Plotting contour (please wait)...\n");
 nm = nmplot_configure(nm,"-verbose",0);
 [nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin = -2.0 , xmax = 4.0 , ymin = -2.0 , ymax = 4.0 , nx = 50 , ny = 50 );
 f = scf();
@@ -79,6 +79,7 @@ deletefile("history.fbar.txt");
 deletefile("history.fopt.txt");
 deletefile("history.sigma.txt");
 nm = nmplot_destroy(nm);
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor
index 4c829ca..b6b05ef 100644 (file)
@@ -31,10 +31,11 @@ nm = nmplot_configure(nm,"-method","variable");
 //
 // Perform optimization
 //
-mprintf("Searching for minimum...\n");
+mprintf("Searching (please wait)...\n");
 nm = nmplot_search(nm);
 nmplot_display(nm);
 nm = nmplot_destroy(nm);
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor
index 07e363c..5e326de 100644 (file)
@@ -38,11 +38,11 @@ nm = nmplot_configure(nm,"-sigmafn","rosenbrock.fixed.history.sigma.txt");
 //
 // Perform optimization
 //
-mprintf("Searching for minimum...\n");
+mprintf("Searching (please wait)...\n");
 nm = nmplot_search(nm);
 nmplot_display(nm);
 // Plot the contours of the cost function and the simplex history
-mprintf("Plotting contour...\n");
+mprintf("Plotting contour (please wait)...\n");
 [nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin = -2.0 , xmax = 2.0 , ymin = -2.0 , ymax = 2.0 , nx = 50 , ny = 50 );
 f = scf();
 drawlater();
@@ -66,6 +66,7 @@ deletefile("rosenbrock.fixed.history.fbar.txt");
 deletefile("rosenbrock.fixed.history.fopt.txt");
 deletefile("rosenbrock.fixed.history.sigma.txt");
 nm = nmplot_destroy(nm);
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor
index aaf8a6d..8ef82db 100644 (file)
@@ -38,11 +38,11 @@ nm = nmplot_configure(nm,"-sigmafn","rosenbrock.history.sigma.txt");
 //
 // Perform optimization
 //
-mprintf("Searching for minimum...\n");
+mprintf("Searching (please wait)...\n");
 nm = nmplot_search(nm);
 nmplot_display(nm);
 // Plot the contours of the cost function and the simplex history
-mprintf("Plotting contour...\n");
+mprintf("Plotting contour (please wait)...\n");
 [nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin = -2.0 , xmax = 2.0 , ymin = -1.0 , ymax = 2.5 , nx = 50 , ny = 50 );
 f = scf();
 drawlater();
@@ -67,6 +67,7 @@ deletefile("rosenbrock.history.fbar.txt");
 deletefile("rosenbrock.history.fopt.txt");
 deletefile("rosenbrock.history.sigma.txt");
 nm = nmplot_destroy(nm);
+mprintf("End of demo.\n");
 
 //
 // Load this script into the editor