Filter line-search step class.
More...
#include <MoochoPack_LineSearchFilter_Step.hpp>
|
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 |
|
|
| STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, gamma_theta) |
| Feasibility decrease fraction. More...
|
|
| STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, gamma_f) |
| Optimality decrease fraction. More...
|
|
| STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, f_min) |
| Estimate of minimum value obtainable for the objective function. More...
|
|
| STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, gamma_alpha) |
| alpha_min linearization correction fraction More...
|
|
| STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, delta) |
| Delta parameter for switching condition. More...
|
|
| STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, s_f) |
| Exponent for objective in switching condition. More...
|
|
| STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, s_theta) |
| Exponent for theta in switching condition. More...
|
|
| STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, theta_small_fact) |
| Factor to evaluate theta_small theta_small = theta_small_fact*max(1,theta_k) More...
|
|
| STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, theta_max) |
| Maximum allowable theta value. More...
|
|
| STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, eta_f) |
| Constant for Armijo condition on objective. More...
|
|
| STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, back_track_frac) |
| Backtracking fraction for step. More...
|
|
| LineSearchFilter_Step (Teuchos::RCP< 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. More...
|
|
Filter line-search step class.
Todo: Finish documentataion.
Definition at line 79 of file MoochoPack_LineSearchFilter_Step.hpp.
MoochoPack::LineSearchFilter_Step::LineSearchFilter_Step |
( |
Teuchos::RCP< 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 |
|
) |
| |
MoochoPack::LineSearchFilter_Step::~LineSearchFilter_Step |
( |
| ) |
|
MoochoPack::LineSearchFilter_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS |
( |
value_type |
, |
|
|
gamma_theta |
|
|
) |
| |
Feasibility decrease fraction.
ToDo: Finish documentation.
MoochoPack::LineSearchFilter_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS |
( |
value_type |
, |
|
|
gamma_f |
|
|
) |
| |
Optimality decrease fraction.
ToDo: Finish documentation.
MoochoPack::LineSearchFilter_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS |
( |
value_type |
, |
|
|
f_min |
|
|
) |
| |
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).
MoochoPack::LineSearchFilter_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS |
( |
value_type |
, |
|
|
gamma_alpha |
|
|
) |
| |
alpha_min linearization correction fraction
ToDo: Finish documentation.
MoochoPack::LineSearchFilter_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS |
( |
value_type |
, |
|
|
delta |
|
|
) |
| |
Delta parameter for switching condition.
ToDo: Finish documentation.
MoochoPack::LineSearchFilter_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS |
( |
value_type |
, |
|
|
s_f |
|
|
) |
| |
Exponent for objective in switching condition.
ToDo: Finish documentation.
MoochoPack::LineSearchFilter_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS |
( |
value_type |
, |
|
|
s_theta |
|
|
) |
| |
Exponent for theta in switching condition.
ToDo: Finish documentation.
MoochoPack::LineSearchFilter_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS |
( |
value_type |
, |
|
|
theta_small_fact |
|
|
) |
| |
Factor to evaluate theta_small theta_small = theta_small_fact*max(1,theta_k)
ToDo: Finish documentation.
MoochoPack::LineSearchFilter_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS |
( |
value_type |
, |
|
|
theta_max |
|
|
) |
| |
Maximum allowable theta value.
ToDo: Finish documentation.
MoochoPack::LineSearchFilter_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS |
( |
value_type |
, |
|
|
eta_f |
|
|
) |
| |
Constant for Armijo condition on objective.
ToDo: Finish documentation.
MoochoPack::LineSearchFilter_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS |
( |
value_type |
, |
|
|
back_track_frac |
|
|
) |
| |
Backtracking fraction for step.
ToDo: Finish documentation.
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 |
bool MoochoPack::LineSearchFilter_Step::CheckFilterAcceptability |
( |
const value_type |
f, |
|
|
const value_type |
theta, |
|
|
const AlgorithmState & |
s |
|
) |
| const |
|
private |
bool MoochoPack::LineSearchFilter_Step::CheckArmijo |
( |
const value_type |
Gf_t_dk, |
|
|
const value_type |
alpha_k, |
|
|
const IterQuantityAccess< value_type > & |
f_iq |
|
) |
| const |
|
private |
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 |
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 |
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 |
value_type MoochoPack::LineSearchFilter_Step::CalculateTheta_k |
( |
const IterQuantityAccess< VectorMutable > * |
c, |
|
|
const IterQuantityAccess< VectorMutable > * |
h, |
|
|
int |
k |
|
) |
| const |
|
private |
value_type MoochoPack::LineSearchFilter_Step::CalculateGammaFUsed |
( |
const IterQuantityAccess< value_type > & |
f, |
|
|
const value_type |
theta_k, |
|
|
const EJournalOutputLevel |
olevel, |
|
|
std::ostream & |
out |
|
) |
| const |
|
private |
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 |
value_type MoochoPack::LineSearchFilter_Step::F_MIN_UNBOUNDED = std::numeric_limits<value_type>::min() |
|
static |
CastIQMember<Filter_T> MoochoPack::LineSearchFilter_Step::filter_ |
|
private |
CastIQMember<value_type> MoochoPack::LineSearchFilter_Step::obj_f_ |
|
private |
CastIQMember<VectorMutable> MoochoPack::LineSearchFilter_Step::grad_obj_f_ |
|
private |
The documentation for this class was generated from the following files: