5 //#include "function.h"
9 extern "C" int stogo_verbose;
11 typedef void dom(RTBox) ;
14 typedef double obj(RCRVector) ;
17 typedef void grad(RCRVector,RVector&) ;
20 typedef enum { OBJECTIVE_ONLY, GRADIENT_ONLY, OBJECTIVE_AND_GRADIENT } whichO;
22 typedef double objgrad(RCRVector,RCRVector,whichO) ;
23 typedef objgrad* Pobjgrad ;
29 double eps_cl, mu, rshift;
30 int det_pnts, rnd_pnts;
33 class Global: public GlobalParams {
35 // Problem specification
41 virtual double ObjectiveGradient(RCRVector xy, RVector&grad, whichO which){
44 case OBJECTIVE_AND_GRADIENT:
54 Global(RTBox, Pobj, Pgrad, GlobalParams);
55 // Global& operator=(const Global &);
57 void Search(int, RCRVector);
58 void DispMinimizers();
59 double OneMinimizer(RCRVector);
61 void SetDomain(RTBox);
62 void GetDomain(RTBox);
64 void SetMinValue(double);
66 void AddPoint(RCRVector, double);
73 list<Trial>::const_iterator titr;
74 priority_queue<TBox> CandSet;
75 priority_queue<TBox> Garbage;
80 void FillRegular(RTBox, RTBox);
81 void FillRandom(RTBox, RTBox);
82 double NewtonTest(RTBox, int, RCRVector, int*);
83 void ReduceOrSubdivide(RTBox, int, RCRVector);