platypus.experimenter module

class platypus.experimenter.ExperimentJob(instance, nfe, algorithm_name, problem_name, seed, display_stats)
run()

Executes the job.

class platypus.experimenter.IndicatorJob(algorithm_name, problem_name, result_set, indicators)
run()

Executes the job.

platypus.experimenter.experiment(algorithms=[], problems=[], seeds=10, nfe=10000, evaluator=None, display_stats=False)

Run experiments.

Used to run experiments where one or more algorithms are tested on one or more problems. Returns a dict containing the results. The dict is of the form:

pareto_set = result["algorithm"]["problem"][seed_index]

Parameters

algorithmslist

List of algorithms to run. Can either be a type of Algorithm or a tuple defining (type, kwargs, name), where type is the Algorithm’s type, kwargs is a dict defining any optional parameters for the algorithm, and name is a human-readable name for the algorithm. All algorithms must have unique names. If a name is not provided, the type name is used.

problemslist

List of problems to run. Can either be a type of Problem, an instance of a Problem, or a tuple defining (type, name), where type is the Problem’s type and name is a human-readable name for the problem. All problems must have unique names. If a name is not provided, the type name is used.

seedsint

The number of replicates of each experiment to run

nfeint

The number of function evaluations allotted to each experiment

display_statsbool

If True, the progress of the experiments is output to the screen