5 //#include "function.h"
9 typedef void dom(RTBox) ;
12 typedef double obj(RCRVector) ;
15 typedef void grad(RCRVector,RVector&) ;
18 typedef enum { OBJECTIVE_ONLY, GRADIENT_ONLY, OBJECTIVE_AND_GRADIENT } whichO;
20 typedef double objgrad(RCRVector,RCRVector,whichO) ;
21 typedef objgrad* Pobjgrad ;
25 long int maxtime, maxeval;
26 double eps_cl, mu, rshift;
27 int det_pnts, rnd_pnts;
30 class Global: public GlobalParams {
32 // Problem specification
38 virtual double ObjectiveGradient(RCRVector xy, RVector&grad, whichO which){
41 case OBJECTIVE_AND_GRADIENT:
51 Global(RTBox, Pobj, Pgrad, GlobalParams);
52 // Global& operator=(const Global &);
54 void Search(int, RCRVector);
55 void DispMinimizers();
56 double OneMinimizer(RCRVector);
58 void SetDomain(RTBox);
59 void GetDomain(RTBox);
61 void SetMinValue(double);
63 void AddPoint(RCRVector, double);
70 list<Trial>::const_iterator titr;
71 priority_queue<TBox> CandSet;
72 priority_queue<TBox> Garbage;
77 void FillRegular(RTBox, RTBox);
78 void FillRandom(RTBox, RTBox);
79 double NewtonTest(RTBox, int, RCRVector, int*);
80 void ReduceOrSubdivide(RTBox, int, RCRVector);