ribs.emitters.rankers.ImprovementRanker

class ribs.emitters.rankers.ImprovementRanker[source]

Ranks the solutions based on the improvement in the objective.

This ranker ranks solutions in a single stage. The solutions are ranked by the improvement “value” described in ribs.archives.ArchiveBase.add().

This ranker should not be used with CMA-ME. The improvement values for new solutions in CMA-ME are on a different scale from the improvement values for the other solutions, in that new solutions have an improvement value which is simply their objective, while other solutions have an improvement value which is the difference between their objective and the objective of their corresponding cell in the archive.

Methods

rank(emitter, archive, rng, solution_batch, ...)

Generates a list of indices that represents an ordering of solutions.

reset(emitter, archive, rng)

Resets the internal state of the ranker.

rank(emitter, archive, rng, solution_batch, objective_batch, measures_batch, status_batch, value_batch, metadata_batch)[source]

Generates a list of indices that represents an ordering of solutions.

Parameters
  • emitter (ribs.emitters.EmitterBase) – Emitter that this ranker object belongs to.

  • archive (ribs.archives.ArchiveBase) – Archive used by emitter when creating and inserting solutions.

  • rng (numpy.random.Generator) – A random number generator.

  • solution_batch (numpy.ndarray) – Batch of solutions generated by the emitter’s ask() method.

  • objective_batch (numpy.ndarray) – Batch of objective values.

  • measures_batch (numpy.ndarray) – (n, <measure space dimension>) array with the measure space coordinates of each solution.

  • status_batch (numpy.ndarray) – An array of integer statuses returned by a series of calls to archive’s add_single() method or by a single call to archive’s add().

  • value_batch (numpy.ndarray) – 1D array of floats returned by a series of calls to archive’s add_single() method or by a single call to archive’s add(). For what these floats represent, refer to ribs.archives.add().

  • metadata_batch (numpy.ndarray) – 1D object array containing a metadata object for each solution.

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_size is the number of solutions and n_values is the number of values that the rank function used.

Return type

tuple(numpy.ndarray, numpy.ndarray)

reset(emitter, archive, rng)

Resets the internal state of the ranker.

Parameters