module documentation

Generates figure of the bootstrap distribution of (function) evaluations.

The main method in this module generates figures of Empirical Cumulative Distribution Functions of the bootstrap distribution of the (function) evaluations needed to reach a target divided by the dimension for many algorithms.

The outputs show the ECDFs of the running times of the simulated runs divided by dimension for 50 different targets logarithmically uniformly distributed in [1e−8, 1e2]. The crosses (×) give the median number of function evaluations of unsuccessful runs divided by dimension.

Example

Function all_single_functions Undocumented
Function beautify Customize figure presentation.
Function main Generates a figure showing the performance of algorithms.
Function plot This function is obsolete? Generates a graph of the run length distribution of an algorithm.
Function plotdata Draw a normalized ECDF. What means normalized?
Function plotLegend Display right-side legend.
Function plt_plot Undocumented
Function text_infigure_if_constraints to be displayed in the figure corner
Constant EDA Undocumented
Constant GA Undocumented
Constant MC Undocumented
Constant TAO Undocumented
Variable annotation_line_end_relative Undocumented
Variable annotation_space_end_relative Undocumented
Variable best Undocumented
Variable best2 Undocumented
Variable bestbest Undocumented
Variable bestnoisy Undocumented
Variable budget_cross_always Undocumented
Variable classics Undocumented
Variable close_figure Undocumented
Variable displaybest Undocumented
Variable divide_by_dimension Undocumented
Variable eseda Undocumented
Variable ESs Undocumented
Variable fmulti Undocumented
Variable funi Undocumented
Variable funilipschitz Undocumented
Variable funisep Undocumented
Variable label_fontsize Undocumented
Variable max_evals_marker_format Undocumented
Variable max_evals_percentile Undocumented
Variable max_evals_single_marker_format Undocumented
Variable nbperdecade Undocumented
Variable nikos Undocumented
Variable nikos40D Undocumented
Variable petr Undocumented
Variable PlotType Undocumented
Variable save_figure Undocumented
Variable save_zoom Undocumented
Variable show_algorithms Undocumented
Variable size_correction_from_n_foreground Undocumented
Variable TAOp Undocumented
Variable third Undocumented
Variable title_fontsize Undocumented
Variable xticks_fontsize Undocumented
Variable yticks_fontsize Undocumented
def all_single_functions(dict_alg, is_single_algorithm, sorted_algs=None, output_dir='.', parent_html_file_name=None, settings=genericsettings):

Undocumented

def beautify():

Customize figure presentation.

def main(dictAlg, order=None, outputdir='.', info='default', dimension=None, parentHtmlFileName=None, plotType=PlotType.ALG, settings=genericsettings):

Generates a figure showing the performance of algorithms.

From a dictionary of DataSetList sorted by algorithms, generates the cumulative distribution function of the bootstrap distribution of evaluations for algorithms on multiple functions for multiple targets altogether.

Parameters
dictAlgUndocumented
orderUndocumented
outputdirUndocumented
infoUndocumented
dimensionUndocumented
parentHtmlFileNameUndocumented
plotTypeUndocumented
settingsUndocumented
dict dictAlgdictionary of DataSetList instances one instance is equivalent to one algorithm,
list targetstarget function values
list ordersorted list of keys to dictAlg for plotting order
str outputdiroutput directory
str infooutput file name suffix
str parentHtmlFileNamedefines the parent html page
def plot(dsList, targets=None, craftingeffort=0.0, **kwargs):

This function is obsolete? Generates a graph of the run length distribution of an algorithm.

We display the empirical cumulative distribution function ECDF of the bootstrapped distribution of the runlength for an algorithm (in number of function evaluations) to reach the target functions value targets.

Parameters
dsListUndocumented
targetsUndocumented
craftingeffortUndocumented
DataSetList dsListdata set for one algorithm
seq targetstarget function values
float crafting effortthe data will be multiplied by the exponential of this value
dict kwargsadditional parameters provided to plot function.
**kwargsUndocumented
Returns
handles
def plotdata(data, maxval=None, maxevals=None, CrE=0.0, maxevals2=None, **kwargs):

Draw a normalized ECDF. What means normalized?

Parameters
dataUndocumented
maxvalUndocumented
maxevalsUndocumented
CrEUndocumented
maxevals2a single value or values to be plotted as median(maxevals2) with the same marker as maxevals
seq datadata set, a 1-D ndarray of runlengths
float maxvalright-most value to be displayed, will use the largest non-inf, non-nan value in data if not provided
seq maxevalsif provided, will plot the median of this sequence as a single cross marker
float CrECrafting effort the data will be multiplied by the exponential of this value
**kwargsoptional arguments provided to plot function.
def plotLegend(handles, maxval):

Display right-side legend.

The figure is stopped at maxval (upper x-bound), and the graphs in the figure are prolonged with straight lines to the right to connect with labels of the graphs (uniformly spread out vertically). The order of the graphs at the upper x-bound line give the order of the labels, in case of ties, the best is the graph for which the x-value of the first step (from the right) is smallest.

The annotation string is stripped from preceeding pathnames.

Parameters
handlesUndocumented
maxvalUndocumented
float maxvalrightmost x boundary
Returns
list of (ordered) labels and handles.
def plt_plot(*args, **kwargs):

Undocumented

def text_infigure_if_constraints():

to be displayed in the figure corner

TODO: is a method with no arguments because if made a variable, an error is raised as it is computed before testbedsettings.current_testbed is instantiated in some import

EDA: tuple[str, ...] =

Undocumented

Value
('BIPOP-CMA-ES',
 '(1+1)-CMA-ES',
 'VNS (Garcia)',
 'EDA-PSO',
 'IPOP-SEP-CMA-ES',
 'AMaLGaM IDEA',
 'iAMaLGaM IDEA',
...
GA: tuple[str, ...] =

Undocumented

Value
('DE-PSO',
 '(1+1)-ES',
 'PSO_Bounds',
 'DASA',
 'G3-PCX',
 'simple GA',
 'POEMS',
...
MC: tuple[str, ...] =

Undocumented

Value
('Monte Carlo')
TAO: tuple[str, ...] =

Undocumented

Value
('BFGS',
 'NELDER (Han)',
 'NEWUOA',
 'full NEWUOA',
 'BIPOP-CMA-ES',
 'IPOP-SEP-CMA-ES',
 '(1+1)-CMA-ES',
...
annotation_line_end_relative: float =

Undocumented

annotation_space_end_relative: float =

Undocumented

best: tuple[str, ...] =

Undocumented

best2: tuple[str, ...] =

Undocumented

bestbest: tuple[str, ...] =

Undocumented

bestnoisy: tuple =

Undocumented

budget_cross_always: bool =

Undocumented

classics: tuple[str, ...] =

Undocumented

close_figure: bool =

Undocumented

displaybest: bool =

Undocumented

divide_by_dimension: bool =

Undocumented

eseda: tuple[str, ...] =

Undocumented

ESs: tuple[str, ...] =

Undocumented

fmulti =

Undocumented

funi =

Undocumented

funilipschitz =

Undocumented

funisep: list[int] =

Undocumented

label_fontsize: int =

Undocumented

max_evals_marker_format: list =

Undocumented

max_evals_percentile: int =

Undocumented

max_evals_single_marker_format: list =

Undocumented

nbperdecade: int =

Undocumented

nikos: tuple[str, ...] =

Undocumented

nikos40D: tuple[str, ...] =

Undocumented

petr: tuple[str, ...] =

Undocumented

PlotType =

Undocumented

save_figure: bool =

Undocumented

save_zoom: bool =

Undocumented

show_algorithms: tuple =

Undocumented

size_correction_from_n_foreground: int =

Undocumented

TAOp =

Undocumented

third: tuple[str, ...] =

Undocumented

title_fontsize: int =

Undocumented

xticks_fontsize: int =

Undocumented

yticks_fontsize: int =

Undocumented