// search2.java from global search dx = 0.001 public class search2 { double f(double x, double y) { return Math.exp(Math.sin(60.0*x)) + Math.sin(50.0*Math.exp(y)) + Math.sin(70.0*Math.sin(x)) + Math.sin(Math.sin(80.0*y)) - Math.sin(20.0*(x+y)) + (x*x+y*y)/4.0; } // end f public search2() { double xmin = 0.0; // computed double xmax = 0.0; double ymin = 0.0; double ymax = 0.0; double z; double dx = 0.001; double dy = 0.001; double xbest = 0.07100000000000094; double ybest = 0.2990000000000011; double zbest = -3.234835266318443; double dxbest = 0.0; double dybest = 0.0; System.out.println("search2.java running"); System.out.println("starting at global search"); System.out.println("xbest="+xbest); System.out.println("ybest="+ybest); System.out.println("zbest="+zbest); System.out.println("dx="+dx+" dy="+dy); for(int k=0; k<30; k++) // each time dx and dy half previous { xmin = xbest - dx; xmax = xbest + dx; ymin = ybest - dy; ymax = ybest + dy; dx = dx/2.0; dy = dy/2.0; System.out.println("next"); System.out.println("xmin="+xmin+" xmax="+xmax); System.out.println("ymin="+ymin+" ymax="+ymax); System.out.println("dx="+dx+" dy="+dy); for(double x=xmin; x