Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

NlpIotrTrustRegion.hh

00001 #ifndef NLPIOTRTRUSTREGION
00002 #define NLPIOTRTRUSTREGION
00003 
00004 class NlpResiduals;
00005 class NlpIterate;
00006 class NlpBounds;
00007 class Nlp;
00008 
00009 #include "IotrHandle.hh"
00010 #include "IotrRefCount.hh"
00011 #include "IotrVector.hh"
00012 #include "NlpLinsys.hh"
00013 #include "NlpLinsysDiag.hh"
00014 #include "NlpLinsysSol.hh"
00015 #include "NlpIotrMerit.hh"
00016 
00017 class NlpValues;
00018 class NlpGrads;
00019 class NlpHessian;
00020 
00021 typedef Handle<NlpValues>  NlpValuesHandle;
00022 typedef Handle<NlpGrads>   NlpGradsHandle;
00023 typedef Handle<NlpHessian>   NlpHessianHandle;
00024 typedef Handle<NlpLinsys> NlpLinsysHandle;
00025 typedef Handle<NlpLinsysDiag> NlpLinsysDiagHandle;
00026 typedef Handle<NlpLinsysSol> NlpLinsysSolHandle;
00027 typedef Handle<NlpIotrMerit> NlpIotrMeritHandle;
00028 
00033 class NlpIotrTrustRegion : public IotrRefCount {
00034 protected:
00035   NlpGradsHandle      mGrads;
00036   NlpHessianHandle    mHessian;
00037   NlpLinsysHandle     mLinsys;
00038   NlpIotrMeritHandle  mMerit;
00039 
00040   double mSigma, mElipNorm, mMinValue;
00041 public:
00042   NlpIotrTrustRegion( NlpGrads * grads,
00043                       NlpHessian * hess, NlpLinsys * linsys,
00044                       NlpIotrMerit * merit );
00045 
00046   double sigma()    { return mSigma; }
00047   double elipNorm() { return mElipNorm; }
00048   double minValue() { return mMinValue; }
00049 
00050   virtual void trustkktqp2(NlpLinsysSol & sol, NlpLinsysDiag & diag,
00051                            NlpBounds & bounds, 
00052                            double delta, double s, double tol);
00053 
00054   virtual void slvScaledKkt(NlpLinsysSol & sol,
00055                             NlpGrads & grads );
00056   virtual void slvScaledMrt(NlpLinsysSol &sol, NlpLinsysDiag & diag,
00057                             NlpBounds & bounds);
00058 
00059   virtual double approxNull( NlpLinsysSol &zsol, NlpLinsysDiag & diag,
00060                              NlpBounds & bounds );
00061 
00062 };
00063 
00064 #endif

Generated on Wed Aug 27 10:03:41 2003 for iotr by doxygen1.2.18