PlayaSteepestDescent.hpp

00001 #ifndef PLAYA_STEEPESTDESCENT_H
00002 #define PLAYA_STEEPESTDESCENT_H
00003 
00004 
00005 #include "PlayaLineSearchBasedOptBase.hpp"
00006 
00007 
00008 namespace Playa
00009 {
00016 class SteepestDescent : public LineSearchBasedOptBase
00017 {
00018 public:
00020   SteepestDescent(const ParameterList& params);
00021         
00023   std::string description() const {return "SteepestDescent";}
00024 
00026   RCP<DirectionGeneratorBase> makeDirectionGenerator() const ; 
00027 };
00028 
00030 class SteepestDescentDirection : public DirectionGeneratorBase
00031 {
00032 public:
00034   SteepestDescentDirection() {}
00035 
00037   ~SteepestDescentDirection() {}
00038 
00040   bool generateDirection(const RCP<ObjectiveBase>& obj,
00041     const Vector<double>& xCur,
00042     const Vector<double>& gradCur,
00043     const double& fCur,
00044     Vector<double>& p) ;
00045 };
00046 
00047 }
00048 
00049 #endif

doxygen