Rankers for use across emitters.

The rankers implemented in this file are intended to be used with emitters. Specifically, a ranker object should be initialized or passed in the emitters. The Ranker object will define the rank() method which returns the result of a descending argsort of the solutions. It will also define a reset() method which resets the internal state of the object.

When specifying which ranker to use for each emitter, one could either pass in the full name of a ranker, e.g. “ImprovementRanker”, or the abbreviated name of a ranker, e.g. “imp”. The supported abbreviations are:


Ranks the solutions based on the improvement in the objective.


Ranks the solutions based on the improvement in the objective.


Ranks the solutions based on projection onto a direction in measure space.


Similar to ribs.emitters.rankers.RandomDirectionRanker, but the solutions are first ranked by whether they are added, then by their projection onto a random direction in the archive space.


Ranks the solutions solely based on the objective values.


Similar to ribs.emitters.rankers.ObjectiveRanker, but ranks newly added solutions before improved solutions.


Base class for rankers.