MoochoPack : Framework for Large-Scale Optimization Algorithms  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends 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
 

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: