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

# cocopp: COmparing Continuous Optimisers (COCO) post-processing

The (cocopp) package takes data generated with the COCO framework to compare continuous opitmizers and produces output figures and tables in html format and for including into LaTeX-documents.

## Installation

   pip install cocopp


## Usage

The cocopp.Interface class contains the most basic commands and data of the package, sufficient for most use cases.

>>> import cocopp
>>> sorted(cocopp.Interface.dir())
>>> all(hasattr(cocopp, name) for name in cocopp.Interface.dir())
True

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

>>> import cocopp
>>> 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 cocopp.archives (of type OfficialArchives) 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

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

All of them can be processed like

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

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

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

can be browsed at http://coco.gforge.inria.fr/ppdata-archive/bbob/2009-all. To display algorithms in the background, the 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) 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

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

## Project details

Uploaded source
Uploaded py2 py3