#include "mtt_Solver.hh" class HJ_Solver : public Solver { // http://www.netlib.org/opt/hooke.c // Hooke and Jeeves solution public: HJ_Solver (sys_ae ae, const int npar, const int nu, const int nx, const int ny, const int nyz) : Solver (ae,npar,nu,nx,ny,nyz) { static_ptr = this; VARS = nyz; }; static double f (double tryUi[], int nyz); ~HJ_Solver (void) {}; protected: void Solve (void); double best_nearby (double delta[], double point[], double prevbest, int nvars); int hooke (int nvars, // MTTNYZ double startpt[], // user's initial guess double endpt[], // result double rho = 0.05, // geometric shrink factor double epsilon = 1e-3, // end value stepsize int itermax = 5000); // max # iterations private: int VARS; public: static HJ_Solver *static_ptr; };