sensitivity_analysis

Module Contents

Classes

Functions

Attributes

class SensitivityResults[source]

Bases: optimeed.core.SaveableObject

Abstract class for dynamically type-hinted objects. This class is to solve the special case where the exact type of an attribute is not known before runtime, yet has to be saved.

add_data(params, device, success, index)[source]
get_additional_attributes_to_save()[source]

Return list of attributes corresponding to object, whose type cannot be determined statically (e.g. topology change)

class SensitivityParameters(param_values, list_of_optimization_variables, theDevice, theMathsToPhys, theCharacterization)[source]

Bases: optimeed.core.SaveableObject

Abstract class for dynamically type-hinted objects. This class is to solve the special case where the exact type of an attribute is not known before runtime, yet has to be saved.

get_device()[source]
get_M2P()[source]
get_charac()[source]
get_optivariables()[source]
get_paramvalues()[source]
get_additional_attributes_to_save()[source]

Return list of attributes corresponding to object, whose type cannot be determined statically (e.g. topology change)

class Restrained_SensitivityParameters(*args)[source]

Bases: SensitivityParameters

Class to perform Sensitivty Analysis on a subset of the full parameters

set_selected(selection)[source]
get_optivariables()[source]
get_paramvalues()[source]
class SensitivityAnalysis_LibInterface(theSensitivityParameters: SensitivityParameters, theObjectives)[source]

Interface a library for sensitivity analysis

Parameters:
get_summary()[source]

Display a summary of the sobol indices

get_convergence_S1(stepsize=1)[source]

Create dictionary for convergence plot - First order index

Parameters:stepsize – increments of sampling size
Returns:Dictionary
get_convergence_ST(stepsize=1)[source]

Create dictionary for convergence plot - Total order index

Parameters:stepsize – increments of sampling size
Returns:Dictionary
_get_convergence(method, stepsize)[source]
get_SA_params()[source]
set_SA_params(theSensitivityParameters)[source]
set_objectives(theObjectives)[source]
_get_sensitivity_result(output)[source]

Convert output of “evaluate” function to SensitivityResult

_get_job_args(theSensitivityParameters, index)[source]

Convert sensitivityparameters at index to args used in “evaluate” function

_find_missings(theSensitivityParameters, studyname)[source]
prepare_embarrassingly_parallel_sensitivity(theSensitivityParameters, studyname)[source]

Initialize sensitivity analysis folder :param theSensitivityParameters: :param studyname: Folder to be created in Workspace :return:

launch_embarrassingly_parallel_sensitivity(theSensitivityParameters, studyname, base_index, mult_factor=1)[source]

Single job launcher for an embarrassingly parallel evaluation :param theSensitivityParameters: :param studyname: Name of the folder in Workspace in which the study is performed :param base_index: start index (Formula: index to evaluate = base_index*mult_factor) :param mult_factor: Multiplication factor of the base_index. Allows to overcome QOSMaxJobPerUserLimit in clusters. :return:

launch_missing_embarrassingly_parallel_sensitivity(theSensitivityParameters, studyname, missing_list, base_index, mult_factor=1)[source]

Same as launch_embarrassingly_parallel_sensitivity, but using the ‘missing_list’ arg used for mapping

gather_embarrassingly_parallel_sensitivity(theSensitivityParameters, studyname)[source]

Gather the results. If some are missing, display the indices.

Parameters:
  • theSensitivityParameters
  • studyname
Returns:

condition_aborted_sensitivities(foldername)[source]
evaluate_sensitivities(theSensitivityParameters: SensitivityParameters, numberOfCores=2, studyname='sensitivity', indices_to_evaluate=None)[source]

Evaluate the sensitivities

Parameters:
  • theSensitivityParameters – class`~SensitivityParameters`
  • numberOfCores – number of core for multicore evaluation
  • studyname – Name of the study, that will be the subfolder name in workspace
  • indices_to_evaluate – if None, evaluate all param_values, otherwise if list: evaluate subset of param_values defined by indices_to_evaluate
Returns:

collection of class`~SensitivityResults`

evaluate_sensitivities_fast(theSensitivityParameters: SensitivityParameters)[source]

Deactivate multicore and save management for fast results