Source code for openmdao.drivers.uniform_driver
"""
OpenMDAO design-of-experiments driver implementing the Uniform method.
"""
from openmdao.drivers.predeterminedruns_driver import PredeterminedRunsDriver
from six import moves, iteritems
import numpy as np
[docs]class UniformDriver(PredeterminedRunsDriver):
"""Design-of-experiments Driver implementing the Uniform method.
"""
def __init__(self, num_samples=1):
super(UniformDriver, self).__init__()
self.num_samples = num_samples
def _build_runlist(self):
"""Build a runlist based on a uniform distribution."""
for i in moves.xrange(self.num_samples):
yield dict(((key, np.random.uniform(bound['lower'], bound['upper']))
for key, bound in iteritems(self.get_desvar_metadata())))