00001 #ifndef __FBacktrackingLineSearch_H__ 00002 #define __FBacktrackingLineSearch_H__ 00003 00004 00034 #include "AbsFLineSearch.hpp" 00035 #include "AFSymMatrix.hpp" 00036 00037 class FBacktrackingLineSearch: public AbsFLineSearch 00038 { 00039 private: 00040 00041 double alpha; 00042 double s; 00043 00044 FloatVector* xd; 00045 FloatVector* f1; 00046 00047 public: 00048 FBacktrackingLineSearch(int maxIterations, double aalpha=0.0001, double as=0.8, double epsilon=1.0e-4) 00049 :AbsFLineSearch(maxIterations, epsilon) 00050 {f1=0; xd=0; alpha=aalpha; s=as;} 00051 virtual ~FBacktrackingLineSearch(){} 00052 00053 virtual double find(FloatVector* x, AbsFObjectiveFn* fn, FloatVector* d); 00054 }; 00055 00056 #endif 00057