Skip to main content

Benchmarking framework for all types of black-box optimization algorithms, postprocessing.

Project description

COmparing Continuous Optimisers (COCO) PostProcess

version license download DOI paper

The cocopp Python package implements the postprocess part of COCO: A Platform for Comparing Continuous Optimizers in a Black-Box Setting, comparing not only continuous optimisers. The package uses data generated with the COCO framework and produces output figures and tables in html format and for inclusion into LaTeX documents.

Installation

To install the latest release from PyPI:

    pip install -U cocopp

To install the current main branch:

    git clone https://github.com/numbbo/coco-postprocess.git
    cd coco-postprocess
    pip install .

The full release history can be found here or here.

Documentation

The documentation for the coco-postprocess package cocopp can be found at

Usage (see also here)

The main interface to the cocopp package is the main method (an alias to cocopp.rungeneric.main). The main method allows for basic usage of cocopp through a shell command-line interface. The recommended use is however from an IPython/Jupyter shell or notebook:

>>> import cocopp
>>> dslist = cocopp.main('exdata/my_output another_folder yet_another_or_not')  

postprocesses data from one or several folders, for example data generated with the help from the cocoex module. Each folder should contain data of a full experiment with a single algorithm. (Within the folder the data can be distributed over subfolders). Results can be explored from the ppdata/index.html file, unless a a different output folder is specified with the -o option. Comparative data from over 200 full experiments are archived online and can be listed, filtered, and retrieved from archives which are attributes of cocopp.archives and processed alone or together with local data. For example

>>> cocopp.archives.bbob('bfgs')  
['2009/BFGS_...

lists all data sets run on the bbob testbed containing 'bfgs' in their name. The first in the list can be postprocessed by

>>> dslist = cocopp.main('bfgs!')  

All of them can be processed like

>>> dslist = cocopp.main('bfgs*')  

Only a trailing * is accepted and any string containing the substring is matched. The postprocessing result of

>>> dslist = cocopp.main('bbob/2009/*')  

can be browsed at https://numbbo.github.io/ppdata-archive/bbob/2009. To display algorithms in the background, the cocopp.genericsettings.background variable needs to be set:

>>> cocopp.genericsettings.background = {None: cocopp.archives.bbob.get_all('bfgs')}  

where None invokes the default color (grey) and line style (solid) cocopp.genericsettings.background_default_style. Now we could compare our own data with the first 'bfgs'-matching archived algorithm where all other archived BFGS data are shown in the background with the command

>>> dslist = cocopp.main('exdata/my_output bfgs!')  

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cocopp-2.8.4.tar.gz (8.6 MB view details)

Uploaded Source

File details

Details for the file cocopp-2.8.4.tar.gz.

File metadata

  • Download URL: cocopp-2.8.4.tar.gz
  • Upload date:
  • Size: 8.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cocopp-2.8.4.tar.gz
Algorithm Hash digest
SHA256 bd9af937483960b91b8fae429074f9f173429a91579064bef4375a7b27390b60
MD5 3ed572087c184f9a24f629e450dd0e9d
BLAKE2b-256 933f4a7afb5ebca617d683f8c21c711f724f012ce66322be7f14b3a239cd4b72

See more details on using hashes here.

Provenance

The following attestation bundles were made for cocopp-2.8.4.tar.gz:

Publisher: tag_release.yml on numbbo/coco-postprocess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page