OptBCFDNewton.h
00001 #ifndef OptBCFDNewton_h
00002 #define OptBCFDNewton_h
00003
00004
00005
00006
00007
00008
00009 #include "OptBCNewtonLike.h"
00010
00011 using std::cerr;
00012
00013 namespace OPTPP {
00014
00025 class OptBCFDNewton: public OptBCNewton1Deriv {
00026 protected:
00028 int nactive;
00030 BoolVector work_set;
00031
00032 public:
00036 OptBCFDNewton():
00037 OptBCNewton1Deriv(), nactive(0), work_set(0)
00038 { cerr << "OptBCFDNewton :: instantiation \n";
00039 strcpy(method,"Bound constrained QNewton"); work_set = false;
00040 }
00047 OptBCFDNewton(NLP1* p):
00048 OptBCNewton1Deriv(p), nactive(0), work_set(p->getDim())
00049 { strcpy(method,"Bound constrained FDNewton"); work_set = false; }
00057 OptBCFDNewton(NLP1* p, UPDATEFCN u):
00058 OptBCNewton1Deriv(p, u), nactive(0), work_set(p->getDim())
00059 { strcpy(method,"Bound constrained FDNewton"); work_set = false; }
00066 OptBCFDNewton(NLP1* p, TOLS t):
00067 OptBCNewton1Deriv(p, t), nactive(0), work_set(p->getDim())
00068 { strcpy(method,"Bound constrained FDNewton"); work_set = false; }
00069
00073 virtual ~OptBCFDNewton(){;}
00074
00075
00076
00077
00078
00079 virtual int checkDeriv();
00080 NEWMAT::SymmetricMatrix updateH(NEWMAT::SymmetricMatrix& H, int k);
00081 virtual void reset();
00082
00083 };
00084
00085 }
00086 #endif