chiark / gitweb /
first stab at minf_max support in StoGO (clearly too conservative still)
authorstevenj <stevenj@alum.mit.edu>
Tue, 11 Sep 2007 22:42:19 +0000 (18:42 -0400)
committerstevenj <stevenj@alum.mit.edu>
Tue, 11 Sep 2007 22:42:19 +0000 (18:42 -0400)
darcs-hash:20070911224219-c8de0-7eb662a7671d5ae99616bb64dc3cf754c1d7376f.gz

stogo/global.cc

index b27925e53110ca776b70b4f08613a222da33f6a4..6a5451805033eade365b5d9be2a1a8d52f10918b 100644 (file)
@@ -140,6 +140,10 @@ double Global::NewtonTest(RTBox box, int axis, RCRVector x_av, int *noutside) {
          cout << " F=" <<tmpTrial.objval << " FC=" << FC << endl;
        }
        SolSet.push_back(tmpTrial);
+#ifdef NLOPT_UTIL_H
+       if (tmpTrial.objval < stop->minf_max)
+         break;
+#endif
       }
 #ifdef GS_DEBUG
       cout << "Found a stationary point, X= " << tmpTrial.xvals;
@@ -236,6 +240,12 @@ void Global::Search(int axis, RCRVector x_av){
 #endif
       ReduceOrSubdivide(box, axis, x_av);
 
+#ifdef NLOPT_UTIL_H
+      if (!NoMinimizers() && OneMinimizer(x) < stop->minf_max) {
+       done = TRUE;
+       break;
+      }
+#endif
       if (!InTime()) {
         done=TRUE;
        if (stogo_verbose)