MoochoPack : Framework for Large-Scale Optimization Algorithms  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep Class Referenceabstract

Updates the penalty parameter for a merit function as: mu_k = max( mu_km1, min_mu ). More...

#include <MoochoPack_MeritFunc_PenaltyParamUpdateGuts_AddedStep.hpp>

Inheritance diagram for MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep:
Inheritance graph
[legend]

Public Member Functions

 MeritFunc_PenaltyParamUpdateGuts_AddedStep (value_type small_mu, value_type mult_factor, value_type kkt_near_sol)
 
- Public Member Functions inherited from MoochoPack::MeritFunc_PenaltyParamUpdate_AddedStep
virtual void min_mu_ratio (value_type min_mu_ratio)
 Set the ratio of min(mu(i))/max(mu(i)) >= min_mu_ratio. More...
 
virtual value_type min_mu_ratio () const
 

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
 

Overridden from MeritFunc_PenaltyParamUpdate_AddedStep

void small_mu (value_type small_mu)
 
value_type small_mu () const
 
void mult_factor (value_type mult_factor)
 
value_type mult_factor () const
 
void kkt_near_sol (value_type kkt_near_sol)
 
value_type kkt_near_sol () const
 

Pure virtual functions to be overridden by subclasses

virtual bool min_mu (NLPAlgoState &s, value_type *min_mu) const =0
 Override to determine the mininum value of mu the penalty parameter can take on. More...
 
virtual void print_min_mu_step (std::ostream &out, const std::string &leading_str) const =0
 Override to print how min_mu calculated. More...
 

Detailed Description

Updates the penalty parameter for a merit function as: mu_k = max( mu_km1, min_mu ).

This class assumes the merit function iteration quantity supports the interfaces MeritFuncPenaltyParam and MeritFuncNLPDirecDeriv.

min_mu is computed by subclasses.

Definition at line 57 of file MoochoPack_MeritFunc_PenaltyParamUpdateGuts_AddedStep.hpp.

Constructor & Destructor Documentation

MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep::MeritFunc_PenaltyParamUpdateGuts_AddedStep ( value_type  small_mu,
value_type  mult_factor,
value_type  kkt_near_sol 
)

Member Function Documentation

bool MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep::do_step ( Algorithm algo,
poss_type  step_poss,
IterationPack::EDoStepType  type,
poss_type  assoc_step_poss 
)
void MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep::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
void MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep::small_mu ( value_type  small_mu)
virtual
value_type MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep::small_mu ( ) const
virtual
void MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep::mult_factor ( value_type  mult_factor)
virtual
value_type MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep::mult_factor ( ) const
virtual
void MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep::kkt_near_sol ( value_type  kkt_near_sol)
virtual
value_type MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep::kkt_near_sol ( ) const
virtual
virtual bool MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep::min_mu ( NLPAlgoState s,
value_type *  min_mu 
) const
protectedpure virtual

Override to determine the mininum value of mu the penalty parameter can take on.

Parameters
s[in] The rSQP state object to get at useful information.
min_mu[out] If min_mu(...) returns true, then this is the mininum value mu can take on and still have descent in the merit function.
Returns
Returns true if the penalty parameter should be updated or false if the previous mu_km1 should be used.

Implemented in MoochoPack::MeritFunc_PenaltyParamUpdateWithMult_AddedStep, and MoochoPack::MeritFunc_PenaltyParamUpdateMultFree_AddedStep.

virtual void MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep::print_min_mu_step ( std::ostream &  out,
const std::string &  leading_str 
) const
protectedpure virtual

The documentation for this class was generated from the following files: