NiaPy

Python micro framework for building nature-inspired algorithms.

class NiaPy.Runner(D=10, nFES=1000000, nRuns=1, useAlgorithms='ArtificialBeeColonyAlgorithm', useBenchmarks='Ackley', **kwargs)[source]

Bases: object

Runner utility feature.

Feature which enables running multiple algorithms with multiple benchmarks. It also support exporting results in various formats (e.g. LaTeX, Excel, JSON)

Variables:
  • D (int) – Dimension of problem
  • NP (int) – Population size
  • nFES (int) – Number of function evaluations
  • nRuns (int) – Number of repetitions
  • useAlgorithms (Union[List[str], List[Algorithm]]) – List of algorithms to run
  • useBenchmarks (Union[List[str], List[Benchmark]]) – List of benchmarks to run
Returns:

Returns the results.

Return type:

results (Dict[str, Dict])

Initialize Runner.

Parameters:
  • D (int) – Dimension of problem
  • nFES (int) – Number of function evaluations
  • nRuns (int) – Number of repetitions
  • useAlgorithms (List[Algorithm]) – List of algorithms to run
  • useBenchmarks (List[Benchmarks]) – List of benchmarks to run
classmethod _Runner__create_export_dir()

Create export directory if not already createed.

_Runner__export_to_json()

Export the results in the JSON form.

See also

  • NiaPy.Runner.__createExportDir()
_Runner__export_to_latex()

Export the results in the form of latex table.

See also

NiaPy.Runner.__createExportDir() NiaPy.Runner.__generateExportName()

_Runner__export_to_log()

Print the results to terminal.

_Runner__export_to_xlsx()

Export the results in the xlsx form.

See also

NiaPy.Runner.__generateExportName()

classmethod _Runner__generate_export_name(extension)

Generate export file name.

Parameters:extension (str) – File format.

Returns:

__init__(D=10, nFES=1000000, nRuns=1, useAlgorithms='ArtificialBeeColonyAlgorithm', useBenchmarks='Ackley', **kwargs)[source]

Initialize Runner.

Parameters:
  • D (int) – Dimension of problem
  • nFES (int) – Number of function evaluations
  • nRuns (int) – Number of repetitions
  • useAlgorithms (List[Algorithm]) – List of algorithms to run
  • useBenchmarks (List[Benchmarks]) – List of benchmarks to run
benchmark_factory(name)[source]

Create optimization task.

Parameters:name (str) – Benchmark name.
Returns:Optimization task to use.
Return type:Task
run(export='log', verbose=False)[source]

Execute runner.

Parameters:
  • export (str) – Takes export type (e.g. log, json, xlsx, latex) (default: “log”)
  • verbose (bool) – Switch for verbose logging (default: {False})
Raises:

TypeError – Raises TypeError if export type is not supported

Returns:

Returns dictionary of results

Return type:

dict

See also

  • NiaPy.Runner.useAlgorithms()
  • NiaPy.Runner.useBenchmarks()
  • NiaPy.Runner.__algorithmFactory()
class NiaPy.Runner(D=10, nFES=1000000, nRuns=1, useAlgorithms='ArtificialBeeColonyAlgorithm', useBenchmarks='Ackley', **kwargs)[source]

Runner utility feature.

Feature which enables running multiple algorithms with multiple benchmarks. It also support exporting results in various formats (e.g. LaTeX, Excel, JSON)

Variables:
  • D (int) – Dimension of problem
  • NP (int) – Population size
  • nFES (int) – Number of function evaluations
  • nRuns (int) – Number of repetitions
  • useAlgorithms (Union[List[str], List[Algorithm]]) – List of algorithms to run
  • useBenchmarks (Union[List[str], List[Benchmark]]) – List of benchmarks to run
Returns:

Returns the results.

Return type:

results (Dict[str, Dict])

Initialize Runner.

Parameters:
  • D (int) – Dimension of problem
  • nFES (int) – Number of function evaluations
  • nRuns (int) – Number of repetitions
  • useAlgorithms (List[Algorithm]) – List of algorithms to run
  • useBenchmarks (List[Benchmarks]) – List of benchmarks to run