ribs.emitters.rankers.TwoStageObjectiveRanker¶
-
class ribs.emitters.rankers.TwoStageObjectiveRanker(seed: int | integer | None =
None)[source]¶ Ranks solutions based on status and on objective values.
This ranker is similar to
ribs.emitters.rankers.ObjectiveRanker, but ranks newly added solutions before improved solutions.This ranker originates in the optimizing emitter in Fontaine 2020.
Methods
rank(emitter, archive, data, add_info)Ranks solutions based on their objective values, while prioritizing newly added solutions.
reset(emitter, archive)Resets the internal state of the ranker.
- rank(emitter: EmitterBase, archive: ArchiveBase, data: dict[str, ndarray], add_info: dict[str, ndarray]) tuple[ndarray, ndarray][source]¶
Ranks solutions based on their objective values, while prioritizing newly added solutions.
- Parameters:¶
- emitter: EmitterBase¶
Emitter that this
rankerobject belongs to.- archive: ArchiveBase¶
Archive used by
emitterwhen creating and inserting solutions.- data: dict[str, ndarray]¶
Dict mapping from field names like
solutionandobjectiveto arrays with data for the solutions.- add_info: dict[str, ndarray]¶
Information returned by an archive’s
add()method.
- Returns:¶
The first array (shape
(batch_size,)) is an array of indices representing a ranking of the solutions and the second array (shape(batch_size,)or(batch_size, n_values)) is an array of values that this ranker used to rank the solutions.batch_sizeis the number of solutions andn_valuesis the number of values that the rank function used.
- reset(emitter: EmitterBase, archive: ArchiveBase) None¶
Resets the internal state of the ranker.
- Parameters:¶
- emitter: EmitterBase¶
Emitter that this
rankerobject belongs to.- archive: ArchiveBase¶
Archive used by
emitterwhen creating and inserting solutions.