MoochoPack::LineSearchFilter_Step Class Reference

Filter line-search step class. More...

#include <MoochoPack_LineSearchFilter_Step.hpp>

Inheritance diagram for MoochoPack::LineSearchFilter_Step:

[legend]
List of all members.

Constructors / initializers

void gamma_theta (const value_type &gamma_theta)
 Feasibility decrease fraction.
const value_typegamma_theta () const
void gamma_f (const value_type &gamma_f)
 Optimality decrease fraction.
const value_typegamma_f () const
void f_min (const value_type &f_min)
 Estimate of minimum value obtainable for the objective function.
const value_typef_min () const
void gamma_alpha (const value_type &gamma_alpha)
 alpha_min linearization correction fraction
const value_typegamma_alpha () const
void delta (const value_type &delta)
 Delta parameter for switching condition.
const value_typedelta () const
void s_f (const value_type &s_f)
 Exponent for objective in switching condition.
const value_types_f () const
void s_theta (const value_type &s_theta)
 Exponent for theta in switching condition.
const value_types_theta () const
void theta_small_fact (const value_type &theta_small_fact)
 Factor to evaluate theta_small theta_small = theta_small_fact*max(1,theta_k).
const value_typetheta_small_fact () const
void theta_max (const value_type &theta_max)
 Maximum allowable theta value.
const value_typetheta_max () const
void eta_f (const value_type &eta_f)
 Constant for Armijo condition on objective.
const value_typeeta_f () const
void back_track_frac (const value_type &back_track_frac)
 Backtracking fraction for step.
const value_typeback_track_frac () const
 LineSearchFilter_Step (Teuchos::RefCountPtr< NLPInterfacePack::NLP > nlp, const std::string obj_iq_name="f", const std::string grad_obj_iq_name="Gf", const value_type &gamma_theta=1e-5, const value_type &gamma_f=1e-5, const value_type &f_min=F_MIN_UNBOUNDED, const value_type &gamma_alpha=5e-2, const value_type &delta=1e-4, const value_type &s_theta=1.1, const value_type &s_f=2.3, const value_type &theta_small_fact=1e-4, const value_type &theta_max=1e10, const value_type &eta_f=1e-4, const value_type &back_track_frac=0.5)
 Constructor.
value_type gamma_theta_
value_type gamma_f_
value_type f_min_
value_type gamma_alpha_
value_type delta_
value_type s_f_
value_type s_theta_
value_type theta_small_fact_
value_type theta_max_
value_type eta_f_
value_type back_track_frac_

Overridden from AlgorithmStep

bool do_step (Algorithm &algo, poss_type step_poss, IterationPack::EDoStepType type, poss_type assoc_step_poss)
 
void print_step (const Algorithm &algo, poss_type step_poss, IterationPack::EDoStepType type, poss_type assoc_step_poss, std::ostream &out, const std::string &leading_str) const
 

Public types

value_type F_MIN_UNBOUNDED = std::numeric_limits<value_type>::min()
 

Public Member Functions

 ~LineSearchFilter_Step ()
 Destructor.

Private Member Functions

bool ValidatePoint (const IterQuantityAccess< VectorMutable > &x, const IterQuantityAccess< value_type > &f, const IterQuantityAccess< VectorMutable > *c, const IterQuantityAccess< VectorMutable > *h, const bool throw_excpt) const
bool CheckFilterAcceptability (const value_type f, const value_type theta, const AlgorithmState &s) const
bool CheckArmijo (const value_type Gf_t_dk, const value_type alpha_k, const IterQuantityAccess< value_type > &f_iq) const
bool CheckFractionalReduction (const IterQuantityAccess< value_type > &f_iq, const value_type gamma_f_used, const value_type theta_kp1, const value_type theta_k) const
void UpdatePoint (const VectorMutable &d, value_type alpha, IterQuantityAccess< VectorMutable > &x, IterQuantityAccess< value_type > &f, IterQuantityAccess< VectorMutable > *c, IterQuantityAccess< VectorMutable > *h, NLP &nlp) const
value_type CalculateAlphaMin (const value_type gamma_f_used, const value_type Gf_t_dk, const value_type theta_k, const value_type theta_small) const
value_type CalculateTheta_k (const IterQuantityAccess< VectorMutable > *c, const IterQuantityAccess< VectorMutable > *h, int k) const
value_type CalculateGammaFUsed (const IterQuantityAccess< value_type > &f, const value_type theta_k, const EJournalOutputLevel olevel, std::ostream &out) const
bool ShouldSwitchToArmijo (const value_type Gf_t_dk, const value_type alpha_k, const value_type theta_k, const value_type theta_small) const
void UpdateFilter (IterationPack::AlgorithmState &s) const
void AugmentFilter (const value_type gamma_f_used, const value_type f_with_boundary, const value_type theta_with_boundary, IterationPack::AlgorithmState &s, const EJournalOutputLevel olevel, std::ostream &out) const

Private Attributes

CastIQMember< Filter_Tfilter_
CastIQMember< value_typeobj_f_
 Iteration quantity access for objective value.
CastIQMember< VectorMutable > grad_obj_f_
 ITeration quantity access for objective gradient.
Teuchos::RefCountPtr< NLPInterfacePack::NLPnlp_

Detailed Description

Filter line-search step class.

Todo: Finish documentataion.

Definition at line 63 of file MoochoPack_LineSearchFilter_Step.hpp.


Constructor & Destructor Documentation

MoochoPack::LineSearchFilter_Step::LineSearchFilter_Step Teuchos::RefCountPtr< NLPInterfacePack::NLP nlp,
const std::string  obj_iq_name = "f",
const std::string  grad_obj_iq_name = "Gf",
const value_type gamma_theta = 1e-5,
const value_type gamma_f = 1e-5,
const value_type f_min = F_MIN_UNBOUNDED,
const value_type gamma_alpha = 5e-2,
const value_type delta = 1e-4,
const value_type s_theta = 1.1,
const value_type s_f = 2.3,
const value_type theta_small_fact = 1e-4,
const value_type theta_max = 1e10,
const value_type eta_f = 1e-4,
const value_type back_track_frac = 0.5
 

Constructor.

Definition at line 59 of file MoochoPack_LineSearchFilter_Step.cpp.

MoochoPack::LineSearchFilter_Step::~LineSearchFilter_Step  ) 
 

Destructor.

Definition at line 105 of file MoochoPack_LineSearchFilter_Step.cpp.


Member Function Documentation

void MoochoPack::LineSearchFilter_Step::gamma_theta const value_type gamma_theta  )  [inline]
 

Feasibility decrease fraction.

ToDo: Finish documentation.

Definition at line 83 of file MoochoPack_LineSearchFilter_Step.hpp.

const value_type& MoochoPack::LineSearchFilter_Step::gamma_theta  )  const [inline]
 

Definition at line 83 of file MoochoPack_LineSearchFilter_Step.hpp.

void MoochoPack::LineSearchFilter_Step::gamma_f const value_type gamma_f  )  [inline]
 

Optimality decrease fraction.

ToDo: Finish documentation.

Definition at line 89 of file MoochoPack_LineSearchFilter_Step.hpp.

const value_type& MoochoPack::LineSearchFilter_Step::gamma_f  )  const [inline]
 

Definition at line 89 of file MoochoPack_LineSearchFilter_Step.hpp.

void MoochoPack::LineSearchFilter_Step::f_min const value_type f_min  )  [inline]
 

Estimate of minimum value obtainable for the objective function.

If this value is set to F_MIN_UNBOUNDED then the default behavior if gamma_f is alterned otherwise the value of gamma_f used is set to gamm_f_used = gamma_f *(f_k-f_min) (see the algorithm print out).

Definition at line 97 of file MoochoPack_LineSearchFilter_Step.hpp.

const value_type& MoochoPack::LineSearchFilter_Step::f_min  )  const [inline]
 

Definition at line 97 of file MoochoPack_LineSearchFilter_Step.hpp.

void MoochoPack::LineSearchFilter_Step::gamma_alpha const value_type gamma_alpha  )  [inline]
 

alpha_min linearization correction fraction

ToDo: Finish documentation.

Definition at line 103 of file MoochoPack_LineSearchFilter_Step.hpp.

const value_type& MoochoPack::LineSearchFilter_Step::gamma_alpha  )  const [inline]
 

Definition at line 103 of file MoochoPack_LineSearchFilter_Step.hpp.

void MoochoPack::LineSearchFilter_Step::delta const value_type delta  )  [inline]
 

Delta parameter for switching condition.

ToDo: Finish documentation.

Definition at line 109 of file MoochoPack_LineSearchFilter_Step.hpp.

const value_type& MoochoPack::LineSearchFilter_Step::delta  )  const [inline]
 

Definition at line 109 of file MoochoPack_LineSearchFilter_Step.hpp.

void MoochoPack::LineSearchFilter_Step::s_f const value_type s_f  )  [inline]
 

Exponent for objective in switching condition.

ToDo: Finish documentation.

Definition at line 115 of file MoochoPack_LineSearchFilter_Step.hpp.

const value_type& MoochoPack::LineSearchFilter_Step::s_f  )  const [inline]
 

Definition at line 115 of file MoochoPack_LineSearchFilter_Step.hpp.

void MoochoPack::LineSearchFilter_Step::s_theta const value_type s_theta  )  [inline]
 

Exponent for theta in switching condition.

ToDo: Finish documentation.

Definition at line 121 of file MoochoPack_LineSearchFilter_Step.hpp.

const value_type& MoochoPack::LineSearchFilter_Step::s_theta  )  const [inline]
 

Definition at line 121 of file MoochoPack_LineSearchFilter_Step.hpp.

void MoochoPack::LineSearchFilter_Step::theta_small_fact const value_type theta_small_fact  )  [inline]
 

Factor to evaluate theta_small theta_small = theta_small_fact*max(1,theta_k).

ToDo: Finish documentation.

Definition at line 128 of file MoochoPack_LineSearchFilter_Step.hpp.

const value_type& MoochoPack::LineSearchFilter_Step::theta_small_fact  )  const [inline]
 

Definition at line 128 of file MoochoPack_LineSearchFilter_Step.hpp.

void MoochoPack::LineSearchFilter_Step::theta_max const value_type theta_max  )  [inline]
 

Maximum allowable theta value.

ToDo: Finish documentation.

Definition at line 134 of file MoochoPack_LineSearchFilter_Step.hpp.

const value_type& MoochoPack::LineSearchFilter_Step::theta_max  )  const [inline]
 

Definition at line 134 of file MoochoPack_LineSearchFilter_Step.hpp.

void MoochoPack::LineSearchFilter_Step::eta_f const value_type eta_f  )  [inline]
 

Constant for Armijo condition on objective.

ToDo: Finish documentation.

Definition at line 140 of file MoochoPack_LineSearchFilter_Step.hpp.

const value_type& MoochoPack::LineSearchFilter_Step::eta_f  )  const [inline]
 

Definition at line 140 of file MoochoPack_LineSearchFilter_Step.hpp.

void MoochoPack::LineSearchFilter_Step::back_track_frac const value_type back_track_frac  )  [inline]
 

Backtracking fraction for step.

ToDo: Finish documentation.

Definition at line 146 of file MoochoPack_LineSearchFilter_Step.hpp.

const value_type& MoochoPack::LineSearchFilter_Step::back_track_frac  )  const [inline]
 

Definition at line 146 of file MoochoPack_LineSearchFilter_Step.hpp.

bool MoochoPack::LineSearchFilter_Step::do_step Algorithm algo,
poss_type  step_poss,
IterationPack::EDoStepType  type,
poss_type  assoc_step_poss
 

Definition at line 114 of file MoochoPack_LineSearchFilter_Step.cpp.

void MoochoPack::LineSearchFilter_Step::print_step const Algorithm algo,
poss_type  step_poss,
IterationPack::EDoStepType  type,
poss_type  assoc_step_poss,
std::ostream &  out,
const std::string &  leading_str
const
 

Definition at line 457 of file MoochoPack_LineSearchFilter_Step.cpp.

bool MoochoPack::LineSearchFilter_Step::ValidatePoint const IterQuantityAccess< VectorMutable > &  x,
const IterQuantityAccess< value_type > &  f,
const IterQuantityAccess< VectorMutable > *  c,
const IterQuantityAccess< VectorMutable > *  h,
const bool  throw_excpt
const [private]
 

Definition at line 535 of file MoochoPack_LineSearchFilter_Step.cpp.

bool MoochoPack::LineSearchFilter_Step::CheckFilterAcceptability const value_type  f,
const value_type  theta,
const AlgorithmState &  s
const [private]
 

Definition at line 556 of file MoochoPack_LineSearchFilter_Step.cpp.

bool MoochoPack::LineSearchFilter_Step::CheckArmijo const value_type  Gf_t_dk,
const value_type  alpha_k,
const IterQuantityAccess< value_type > &  f_iq
const [private]
 

Definition at line 583 of file MoochoPack_LineSearchFilter_Step.cpp.

bool MoochoPack::LineSearchFilter_Step::CheckFractionalReduction const IterQuantityAccess< value_type > &  f_iq,
const value_type  gamma_f_used,
const value_type  theta_kp1,
const value_type  theta_k
const [private]
 

Definition at line 605 of file MoochoPack_LineSearchFilter_Step.cpp.

void MoochoPack::LineSearchFilter_Step::UpdatePoint const VectorMutable &  d,
value_type  alpha,
IterQuantityAccess< VectorMutable > &  x,
IterQuantityAccess< value_type > &  f,
IterQuantityAccess< VectorMutable > *  c,
IterQuantityAccess< VectorMutable > *  h,
NLP &  nlp
const [private]
 

Definition at line 622 of file MoochoPack_LineSearchFilter_Step.cpp.

value_type MoochoPack::LineSearchFilter_Step::CalculateAlphaMin const value_type  gamma_f_used,
const value_type  Gf_t_dk,
const value_type  theta_k,
const value_type  theta_small
const [private]
 

Definition at line 649 of file MoochoPack_LineSearchFilter_Step.cpp.

value_type MoochoPack::LineSearchFilter_Step::CalculateTheta_k const IterQuantityAccess< VectorMutable > *  c,
const IterQuantityAccess< VectorMutable > *  h,
int  k
const [private]
 

Definition at line 674 of file MoochoPack_LineSearchFilter_Step.cpp.

value_type MoochoPack::LineSearchFilter_Step::CalculateGammaFUsed const IterQuantityAccess< value_type > &  f,
const value_type  theta_k,
const EJournalOutputLevel  olevel,
std::ostream &  out
const [private]
 

Definition at line 691 of file MoochoPack_LineSearchFilter_Step.cpp.

bool MoochoPack::LineSearchFilter_Step::ShouldSwitchToArmijo const value_type  Gf_t_dk,
const value_type  alpha_k,
const value_type  theta_k,
const value_type  theta_small
const [private]
 

Definition at line 716 of file MoochoPack_LineSearchFilter_Step.cpp.

void MoochoPack::LineSearchFilter_Step::UpdateFilter IterationPack::AlgorithmState s  )  const [private]
 

Definition at line 732 of file MoochoPack_LineSearchFilter_Step.cpp.

void MoochoPack::LineSearchFilter_Step::AugmentFilter const value_type  gamma_f_used,
const value_type  f_with_boundary,
const value_type  theta_with_boundary,
IterationPack::AlgorithmState s,
const EJournalOutputLevel  olevel,
std::ostream &  out
const [private]
 

Definition at line 753 of file MoochoPack_LineSearchFilter_Step.cpp.


Member Data Documentation

value_type MoochoPack::LineSearchFilter_Step::F_MIN_UNBOUNDED = std::numeric_limits<value_type>::min() [static]
 

Definition at line 806 of file MoochoPack_LineSearchFilter_Step.cpp.

value_type MoochoPack::LineSearchFilter_Step::gamma_theta_ [private]
 

Definition at line 83 of file MoochoPack_LineSearchFilter_Step.hpp.

value_type MoochoPack::LineSearchFilter_Step::gamma_f_ [private]
 

Definition at line 89 of file MoochoPack_LineSearchFilter_Step.hpp.

value_type MoochoPack::LineSearchFilter_Step::f_min_ [private]
 

Definition at line 97 of file MoochoPack_LineSearchFilter_Step.hpp.

value_type MoochoPack::LineSearchFilter_Step::gamma_alpha_ [private]
 

Definition at line 103 of file MoochoPack_LineSearchFilter_Step.hpp.

value_type MoochoPack::LineSearchFilter_Step::delta_ [private]
 

Definition at line 109 of file MoochoPack_LineSearchFilter_Step.hpp.

value_type MoochoPack::LineSearchFilter_Step::s_f_ [private]
 

Definition at line 115 of file MoochoPack_LineSearchFilter_Step.hpp.

value_type MoochoPack::LineSearchFilter_Step::s_theta_ [private]
 

Definition at line 121 of file MoochoPack_LineSearchFilter_Step.hpp.

value_type MoochoPack::LineSearchFilter_Step::theta_small_fact_ [private]
 

Definition at line 128 of file MoochoPack_LineSearchFilter_Step.hpp.

value_type MoochoPack::LineSearchFilter_Step::theta_max_ [private]
 

Definition at line 134 of file MoochoPack_LineSearchFilter_Step.hpp.

value_type MoochoPack::LineSearchFilter_Step::eta_f_ [private]
 

Definition at line 140 of file MoochoPack_LineSearchFilter_Step.hpp.

value_type MoochoPack::LineSearchFilter_Step::back_track_frac_ [private]
 

Definition at line 146 of file MoochoPack_LineSearchFilter_Step.hpp.

CastIQMember<Filter_T> MoochoPack::LineSearchFilter_Step::filter_ [private]
 

Definition at line 194 of file MoochoPack_LineSearchFilter_Step.hpp.

CastIQMember<value_type> MoochoPack::LineSearchFilter_Step::obj_f_ [private]
 

Iteration quantity access for objective value.

Definition at line 197 of file MoochoPack_LineSearchFilter_Step.hpp.

CastIQMember<VectorMutable> MoochoPack::LineSearchFilter_Step::grad_obj_f_ [private]
 

ITeration quantity access for objective gradient.

Definition at line 200 of file MoochoPack_LineSearchFilter_Step.hpp.

Teuchos::RefCountPtr<NLPInterfacePack::NLP> MoochoPack::LineSearchFilter_Step::nlp_ [private]
 

Definition at line 203 of file MoochoPack_LineSearchFilter_Step.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:36:21 2008 for MOOCHO (Single Doxygen Collection) by doxygen 1.3.9.1