Skip to content

Filter

class Filter

Functions

Name Description
Filter Construct a new Filter object
sufficient_progress Determine if a candidate point makes sufficient progress with respect to feasibility and merit decrease compared to an entry in the filter candidate : Candidate filter entry entry : Existing filter entry to compare against Return : std::pair Pair indicating whether sufficient progress is made in feasibility, merit decrease, respectively
candidate_acceptable Determine if a candidate point is acceptable compared to an existing entry in the filter.
candidate_dominated Determine if a candidate point is dominated by an existing entry in the filter.
acceptable Determine if a candidate point is acceptable compared to any entry in the filter.
update Add a new entry to the filter and remove any entries that are dominated by the new entry new_entry : New filter entry to add
clear Clear all entries from the filter

Function Details

Filter

Filter()

Construct a new Filter object

acceptable

bool acceptable(const Entry& candidate)

Determine if a candidate point is acceptable compared to any entry in the filter. Defined as making either sufficient feasibility progress or sufficient merit decrease compared to any entry in the filter.

candidate : Candidate filter entry

Return : true Candidate is acceptable

Return : false Candidate is not acceptable

candidate_acceptable

bool candidate_acceptable(const Entry& candidate, const Entry& entry) const

Determine if a candidate point is acceptable compared to an existing entry in the filter. Defined as making either sufficient feasibility progress or sufficient merit decrease compared to any entry in the filter.

candidate : Candidate filter entry

entry : Existing filter entry to compare against

Return : true Candidate is acceptable

Return : false Candidate is not acceptable

candidate_dominated

bool candidate_dominated(const Entry& candidate, const Entry& entry) const

Determine if a candidate point is dominated by an existing entry in the filter. Defined as not making sufficient progress in either feasibility or merit decrease compared to the existing entry.

candidate : Candidate filter entry

entry : Existing filter entry to compare against

Return : true Candidate is dominated

Return : false Candidate is not dominated

clear

void clear()

Clear all entries from the filter

sufficient_progress

std::pair<bool, bool> sufficient_progress(const Entry& candidate, const Entry& entry) const

Determine if a candidate point makes sufficient progress with respect to feasibility and merit decrease compared to an entry in the filter

candidate : Candidate filter entry

entry : Existing filter entry to compare against

Return : std::pair Pair indicating whether sufficient progress is made in feasibility, merit decrease, respectively

update

void update(const Entry& new_entry)

Add a new entry to the filter and remove any entries that are dominated by the new entry

new_entry : New filter entry to add