![]() |
Sleipnir C++ API
|
#include </home/runner/work/Sleipnir/Sleipnir/include/sleipnir/optimization/solver/util/filter.hpp>
Public Member Functions | |
| constexpr | Filter (Scalar initial_constraint_violation=Scalar(0)) |
| void | reset () |
| Resets the filter. | |
| bool | try_reset (const FilterEntry< Scalar > ¤t_entry) |
| bool | try_add (const FilterEntry< Scalar > ¤t_entry, const FilterEntry< Scalar > &trial_entry, Scalar D_ϕ, Scalar α) |
| void | add (const FilterEntry< Scalar > &entry) |
| bool | is_acceptable (const FilterEntry< Scalar > &entry) const |
| Scalar | min_step_size (const FilterEntry< Scalar > ¤t_entry, Scalar D_ϕ) const |
Public Attributes | |
| Scalar | min_constraint_violation |
| The minimum constraint violation. | |
| Scalar | max_constraint_violation |
| The maximum constraint violation. | |
Step filter.
See the section on filters in chapter 15 of [1].
| Scalar | Scalar type. |
|
inlineexplicitconstexpr |
Constructs an empty filter.
| initial_constraint_violation | The optimization problem's initial constraint violation. |
|
inline |
Adds the given entry to the filter.
The entry is shifted by the sufficient decrease margins, so iterates that don't sufficiently decrease the cost or constraint violation relative to it are rejected afterward.
| entry | The entry to add to the filter. |
|
inline |
Returns true if the given entry is acceptable to the filter.
| entry | The entry. |
|
inline |
Returns the minimum step size of the backtracking line search.
Below this step size, no trial iterate can satisfy the sufficient decrease condition or both the switching condition and Armijo condition, so feasibility restoration should be invoked.
| current_entry | The entry corresponding to the current iterate. |
| D_ϕ | Cost directional derivative along the search direction. |
|
inline |
Returns true if the given trial entry is acceptable to the filter.
| current_entry | The entry corresponding to the current iterate. |
| trial_entry | The entry corresponding to the trial iterate. |
| D_ϕ | Cost directional derivative along the search direction. |
| α | The step size (0, 1]. |
|
inline |
Resets the filter and lowers the maximum constraint violation if the filter may be impeding progress.
| current_entry | The entry corresponding to the current iterate. |