#include #include #include using namespace std; using namespace opt_utilities; class foo :public diff_func_obj > { foo* do_clone()const { return new foo(*this); } double do_eval(const vector& p) { static int call_cnt=0; ++call_cnt; //cerr< do_gradient(const vector& p) { static int call_cnt=0; ++call_cnt; cerr< result(p.size()); for(int i=0;i > opt; opt.set_opt_method(conjugate_gradient >()); //opt.set_opt_method(powell_method >()); opt.set_func_obj(foo()); std::vector p(300); for(int i=0;i