MOOCHO (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
MoochoPack::MeritFunc_PenaltyParamUpdate_AddedStep Class Referenceabstract

Base class for steps that update penalty parameters based on the Lagrange multipliers lambda_k (or some approximation to them). More...

#include <MoochoPack_MeritFunc_PenaltyParamUpdate_AddedStep.hpp>

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

Pure virtual methods to be overridden by subclasses

virtual void small_mu (value_type small_mu)=0
 Set the smallest value a penalty parameter is allowed to be. More...
 
virtual value_type small_mu () const =0
 
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
 
virtual void mult_factor (value_type mult_factor)=0
 Set set the factor for mu = (1 + mult_factor) * abs(lambda_k(i)). More...
 
virtual value_type mult_factor () const =0
 
virtual void kkt_near_sol (value_type kkt_near_sol)=0
 Set the total KKT error ( max(||rGL||inf/max(1,||Gf||inf),||c||inf) ) above which the penalty parameter will be allowed to be reduced. More...
 
virtual value_type kkt_near_sol () const =0
 

Additional Inherited Members

- Public Types inherited from IterationPack::AlgorithmStep
typedef size_t poss_type
 
- Public Member Functions inherited from IterationPack::AlgorithmStep
virtual bool do_step (Algorithm &algo, poss_type step_poss, EDoStepType type, poss_type assoc_step_poss)=0
 Called by Algorithm to perform a main, pre or post step at step_poss and assoc_step_poss. More...
 
virtual ~AlgorithmStep ()
 
virtual void initialize_step (Algorithm &algo, poss_type step_poss, EDoStepType type, poss_type assoc_step_poss)
 Called by Algorithm just before the algorithm is run. More...
 
virtual void inform_updated (Algorithm &algo, poss_type step_poss, EDoStepType type, poss_type assoc_step_poss)
 Called by Algorithm to inform when a runtime configuration change is finihed. More...
 
virtual void finalize_step (Algorithm &algo, poss_type step_poss, EDoStepType type, poss_type assoc_step_poss)
 Called by Algorithm just after an algorithm is terminiated. More...
 
virtual void print_step (const Algorithm &algo, poss_type step_poss, EDoStepType type, poss_type assoc_step_poss, std::ostream &out, const std::string &leading_str) const
 Called by Algorithm::print_algorithm() to print out what this step does in Matlab like format. More...
 

Detailed Description

Base class for steps that update penalty parameters based on the Lagrange multipliers lambda_k (or some approximation to them).

This class contains methods for setting and querying values that determine how the penalty parameters are updated.

Definition at line 56 of file MoochoPack_MeritFunc_PenaltyParamUpdate_AddedStep.hpp.

Member Function Documentation

virtual void MoochoPack::MeritFunc_PenaltyParamUpdate_AddedStep::small_mu ( value_type  small_mu)
pure virtual

Set the smallest value a penalty parameter is allowed to be.

Implemented in MoochoPack::MeritFunc_PenaltyParamsUpdateWithMult_AddedStep, and MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep.

virtual value_type MoochoPack::MeritFunc_PenaltyParamUpdate_AddedStep::small_mu ( ) const
pure virtual
virtual void MoochoPack::MeritFunc_PenaltyParamUpdate_AddedStep::min_mu_ratio ( value_type  min_mu_ratio)
inlinevirtual

Set the ratio of min(mu(i))/max(mu(i)) >= min_mu_ratio.

If there is only one penalty parameter this is ignored. The default implementation is to just return 1.

Reimplemented in MoochoPack::MeritFunc_PenaltyParamsUpdateWithMult_AddedStep.

Definition at line 74 of file MoochoPack_MeritFunc_PenaltyParamUpdate_AddedStep.hpp.

virtual value_type MoochoPack::MeritFunc_PenaltyParamUpdate_AddedStep::min_mu_ratio ( ) const
inlinevirtual
virtual void MoochoPack::MeritFunc_PenaltyParamUpdate_AddedStep::mult_factor ( value_type  mult_factor)
pure virtual

Set set the factor for mu = (1 + mult_factor) * abs(lambda_k(i)).

Here it is expented that mult_factor will be very small (i.e. 1e-4)

Implemented in MoochoPack::MeritFunc_PenaltyParamsUpdateWithMult_AddedStep, and MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep.

virtual value_type MoochoPack::MeritFunc_PenaltyParamUpdate_AddedStep::mult_factor ( ) const
pure virtual
virtual void MoochoPack::MeritFunc_PenaltyParamUpdate_AddedStep::kkt_near_sol ( value_type  kkt_near_sol)
pure virtual

Set the total KKT error ( max(||rGL||inf/max(1,||Gf||inf),||c||inf) ) above which the penalty parameter will be allowed to be reduced.

If the KKT error is less than near_solution the penalty parameter will only be increased. This is usually needed to prove convergence.

Implemented in MoochoPack::MeritFunc_PenaltyParamsUpdateWithMult_AddedStep, and MoochoPack::MeritFunc_PenaltyParamUpdateGuts_AddedStep.

virtual value_type MoochoPack::MeritFunc_PenaltyParamUpdate_AddedStep::kkt_near_sol ( ) const
pure virtual

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