4 #include "nlopt-util.h"
7 //#include "function.h"
11 extern "C" int stogo_verbose;
13 typedef void dom(RTBox) ;
16 typedef double obj(RCRVector) ;
19 typedef void grad(RCRVector,RVector&) ;
22 typedef enum { OBJECTIVE_ONLY, GRADIENT_ONLY, OBJECTIVE_AND_GRADIENT } whichO;
24 typedef double objgrad(RCRVector,RCRVector,whichO) ;
25 typedef objgrad* Pobjgrad ;
35 double eps_cl, mu, rshift;
36 int det_pnts, rnd_pnts;
39 class Global: public GlobalParams {
41 // Problem specification
47 virtual double ObjectiveGradient(RCRVector xy, RVector&grad, whichO which){
50 case OBJECTIVE_AND_GRADIENT:
60 Global(RTBox, Pobj, Pgrad, GlobalParams);
61 // Global& operator=(const Global &);
63 void Search(int, RCRVector);
64 void DispMinimizers();
65 double OneMinimizer(RCRVector);
67 void SetDomain(RTBox);
68 void GetDomain(RTBox);
70 void SetMinValue(double);
72 void AddPoint(RCRVector, double);
79 list<Trial>::const_iterator titr;
80 priority_queue<TBox> CandSet;
81 priority_queue<TBox> Garbage;
86 void FillRegular(RTBox, RTBox);
87 void FillRandom(RTBox, RTBox);
88 double NewtonTest(RTBox, int, RCRVector, int*);
89 void ReduceOrSubdivide(RTBox, int, RCRVector);