doe_generators.py

Case generators for Design-of-Experiments Driver.

class openmdao.drivers.doe_generators.BoxBehnkenGenerator(center=None)[source]

Bases: openmdao.drivers.doe_generators._pyDOE_Generator

DOE case generator implementing the Box-Behnken method.

Parameters
centerint, optional

The number of center points to include (default = None).

Attributes
_centerint

The number of center points to include.

__init__(center=None)[source]

Initialize the BoxBehnkenGenerator.

class openmdao.drivers.doe_generators.CSVGenerator(filename)[source]

Bases: openmdao.drivers.doe_generators.DOEGenerator

DOE case generator that reads cases from a CSV file.

This DOE case generator will accept an existing data set in the form of a CSV file containing DOE cases. The CSV file should have one column per design variable and the header row should have the names of the design variables.

Parameters
filenamestr

The name of the file from which to read cases.

Attributes
_filenamestr

the name of the file from which to read cases

__init__(filename)[source]

Initialize the CSVGenerator.

class openmdao.drivers.doe_generators.DOEGenerator[source]

Bases: object

Base class for a callable object that generates cases for a DOEDriver.

class openmdao.drivers.doe_generators.FullFactorialGenerator(levels=2)[source]

Bases: openmdao.drivers.doe_generators._pyDOE_Generator

DOE case generator implementing the Full Factorial method.

Parameters
levelsint or dict, optional

The number of evenly spaced levels between each design variable lower and upper bound. Dictionary input is supported by Full Factorial or Generalized Subset Design. Defaults to 2.

__init__(levels=2)

Initialize the _pyDOE_Generator.

class openmdao.drivers.doe_generators.GeneralizedSubsetGenerator(levels, reduction, n=1)[source]

Bases: openmdao.drivers.doe_generators._pyDOE_Generator

DOE case generator implementing the General Subset Design Factorial method.

Parameters
levelsint or dict

The number of evenly spaced levels between each design variable lower and upper bound. Defaults to 2.

reductionint

Reduction factor (bigger than 1). Larger reduction means fewer experiments in the design and more possible complementary designs.

nint, optional

Number of complementary GSD-designs. The complementary designs are balanced analogous to fold-over in two-level fractional factorial designs. Defaults to 1.

Attributes
_reductionint

Reduction factor (bigger than 1). Larger reduction means fewer experiments in the design and more possible complementary designs.

_nint, optional

Number of complementary GSD-designs. The complementary designs are balanced analogous to fold-over in two-level fractional factorial designs. Defaults to 1.

__init__(levels, reduction, n=1)[source]

Initialize the GeneralizedSubsetGenerator.

class openmdao.drivers.doe_generators.LatinHypercubeGenerator(samples=None, criterion=None, iterations=5, seed=None)[source]

Bases: openmdao.drivers.doe_generators.DOEGenerator

DOE case generator implementing Latin hypercube method via pyDOE2.

Parameters
samplesint, optional

The number of samples to generate for each factor (Defaults to n).

criterionstr, optional

Allowable values are “center” or “c”, “maximin” or “m”, “centermaximin” or “cm”, and “correlation” or “corr”. If no value given, the design is simply randomized.

iterationsint, optional

The number of iterations in the maximin and correlations algorithms (Defaults to 5).

seedint, optional

Random seed to use if design is randomized. Defaults to None.

Attributes
_samplesint

The number of evenly spaced levels between each design variable lower and upper bound.

_criterionstr

the pyDOE criterion to use.

_iterationsint

The number of iterations to use for maximin and correlations algorithms.

_seedint or None

Random seed.

__init__(samples=None, criterion=None, iterations=5, seed=None)[source]

Initialize the LatinHypercubeGenerator.

See : https://pythonhosted.org/pyDOE/randomized.html

class openmdao.drivers.doe_generators.ListGenerator(data=[])[source]

Bases: openmdao.drivers.doe_generators.DOEGenerator

DOE case generator that reads cases from a provided list of DOE cases.

This DOE case generator will accept an existing data set in the form of a list of DOE cases, each of which consists of a collection of name/value pairs specifying values for design variables.

Parameters
datalist

List of collections of name, value pairs for the design variables.

Attributes
_datalist

List of collections of name, value pairs for the design variables.

__init__(data=[])[source]

Initialize the ListGenerator.

class openmdao.drivers.doe_generators.PlackettBurmanGenerator[source]

Bases: openmdao.drivers.doe_generators._pyDOE_Generator

DOE case generator implementing the Plackett-Burman method.

__init__()[source]

Initialize the PlackettBurmanGenerator.

class openmdao.drivers.doe_generators.UniformGenerator(num_samples=1, seed=None)[source]

Bases: openmdao.drivers.doe_generators.DOEGenerator

DOE case generator implementing the Uniform method.

Parameters
num_samplesint, optional

The number of samples to run. Defaults to 1.

seedint or None, optional

Seed for random number generator.

Attributes
_num_samplesint

The number of samples in the DOE.

_seedint or None

Random seed.

__init__(num_samples=1, seed=None)[source]

Initialize the UniformGenerator.