AutoExpe.CombinationResultsType

Represents all the relevant information related to the results of a combination of the row parameters.

AutoExpe.CombinationResultsMethod

CombinationResults constructor

Input

  • parameters: the parameters of the current experiment
  • combination: the value of each row parameters in the row;
  • combinationResults: all the results for all instances in the combination
AutoExpe.ExpeParametersMethod

Constructor of the parameters in which the folder which includes the instances is specified

Input

  • extension: the instances file names must match this extension Can or cannot start with a dot (e.g., "txt" or ".txt")
  • filters: the instances file names must include each element of filters array
AutoExpe.InstanceResultsType

Contains all the results associated to a given instance for a combination in a latex table

AutoExpe.InstanceResultsMethod

InstanceResults constructor

Input

  • parameters: parameters of the current experiment;
  • instancePath: path of the instance;
  • instanceResults: all the results for this instance
AutoExpe.MethodResultsType

Contains all the results associated to a given method for a given instance in a row of a latex table

AutoExpe.addResultsToRowMethod

Add to a String which represents the current row of a table the value of a vector of TableValue. If the table starts before this row, print the table header. If the table ends after this row, print the table footer.

Input

  • tableValues: the value to add to the row
  • mustReprintHeader: true if the header must be printed before the row;
  • outputstream: stream in which the row must be printed
  • tableaHeader: header of the table
  • latexRow: the string of the result row which already included the value dedicated to the row parameters
  • rowCount: number of rows currently in the table
  • tableHasMissingValues: true if the current table has missing values
  • tableParam: parameters of the table
AutoExpe.computeInstanceValuesMethod

Compute all the values for an instance and a combination in a column. There can be several of these values. E.g.: If we have results when combining two parameters in a knapsack problem: 1 - number of knapsacks: 2 and 3; 2 - size of the: 10 and 20.

We get 4 combinations of parameters: (2, 10), (3, 10), (2, 20), (3, 20).

If we create a latex table in which:

  • the number of knapsacks is a row parameter;
  • the size of the knapsacks is not;

for each instance we will obtain two result lines: 2 and 3. For each of these lines we will have 2 values (2, 10) and (2, 20) in the first and (3, 10) and (3, 20) in the second.

Input

  • parameters: the parameters of the experiment;
  • instanceResults: results obtained during this experiment for the instance and the combination considered;
  • column: the column for which we compute the values.
AutoExpe.computeValueMethod

Compute the value in column "column" for an instance using the results of the methods in "methodResults". methodResults only contains 1 entry for each resolution method required to compute the value of the column.

Input

  • column: the column in which the result must be computed
  • methodResults: dictionary of results for the considered instance indexed by method name methodResults[methodName][resultName]: value of entry "resultName" in the result files for method "methodName"
AutoExpe.createTexTableMethod

Create a latex table from the results of an autoexperiment.

The lines of the latex table corresponds to the different possible values of the variables contained in rowVariables (obtained from argument tableStructure). The columns of the latex table corresponds to variable columnVariables (idem).

AutoExpe.createTexTablesMethod

Create a latex table from the results of an autoexperiment.

The lines of the latex table corresponds to the different possible values of the variables contained in rowVariables (obtained from argument tableStructure). The columns of the latex table corresponds to variable columnVariables (idem).

AutoExpe.gapMethod

Compute the gap of the two numerical values included in an array (|t[1] - t[2]|/t[1]). Returns nothing if:

  • the size of the array is not 2;
  • both values are not numerical.

Note:

  • to avoid dividing by 0, 1E-6 is added to the denominator;
  • to avoid very high gaps, the denominator is set to 0.1 if it is <0.1 and if the gap exceeds 1000.
AutoExpe.getMethodsMethod

Get several julia functions.

Input:

  • iMethods: Dictionary with an entry "name" (the name of the julia

function) and an optional entry "module" (the module in which the function can be found). To specify several functions, iMethods can be an array of such dictionaries. If the module is not specified, the Main module will be considered in priority. If it is not in the Main module, all the other loaded modules will be considered.

Output:

  • vector of Function which correspond to the found functions.
AutoExpe.getVariablesValuesMethod

For each row variable, get all its values which appear in the results

Intput

  • variables: list of RowVariables
  • results: dictionary in which each entry corresponds to a result

Output

  • array which contains one vector for each variable. The array associated to a variable contains all its possible values
AutoExpe.hasMissingResultsMethod

Test if any resolution methods used to compute the value of a column has missing values for an instance.

Input

  • column: the column
  • instanceResults: the result of the considered instance
AutoExpe.isExtensionValidMethod

Test if a file extension is included in a list of extensions

Input

  • path: the path to test;
  • validExtensions: list of the valid extensions.
AutoExpe.meanMethod

Compute the mean value of the numerical values contained in an array Returns nothing if there are no numerical value in the array.

AutoExpe.numericalValueMethod

Parse a value from a result file into a numerical value:

  • convert the strings which represent integers and floats; and
  • returns nothing for unexpected values.
AutoExpe.numericalVectorMethod

Convert a vector into numerical values. Unexpected value are ignored (e.g., non numerical values, arrays, strings, ...)

AutoExpe.readColumnMethod

Read the json entry which corresponds to a column and return the corresponding Column.

AutoExpe.readInstanceFolderMethod

Find all the instances with a valid extension in a folder

Input:

  • folderPath: path of the folder
  • extensions: list of the valid extensions
  • isRecursive: true if instances are sought recursively
AutoExpe.readInstancesMethod

Get the path of the instances in the json experiment

Input

  • paths: each path can correspond to an instance file or to a folder. A folder is specified either by a String (its path) or a Dictionary with key "path" (and optionally key "isRecursive"). This argument either contain one folder or an array of folders;
  • extensions: list of valid instance name extensions.
AutoExpe.setBoldValuesInGroupMethod

Find the best numerical values in the set of values of a group and set them to bold. Non-numerical values are ignored.

Input

  • group: Column group in which the columns are located
  • groupValues: TableValues in the group
AutoExpe.splitResultsByCombinationMethod

Split all the results according to their combination of parameters

Input

  • parameters: parameters of the experiment;
  • results: all the results saved during the experiment;
  • columns: the columns of the table;
  • rowVariables: the row variables of the table.

Output

  • an array of CombinationResults ordered according to the row of the table (i.e. the ith index of this array corresponds to all the results used to compute the ith line)
AutoExpe.uniqueColumnNameMethod

Unique name of a column used to identify a column without any ambguity. Required since several columns may have the same displayed name in the latex table.