def test_determine_parameters(self): function = mock.Mock() model_a = Model("A", function) model_a.uncertainties = [ RealParameter('a', 0, 1), RealParameter('b', 0, 1), ] function = mock.Mock() model_b = Model("B", function) model_b.uncertainties = [ RealParameter('b', 0, 1), RealParameter('c', 0, 1), ] models = [model_a, model_b] parameters = determine_parameters(models, 'uncertainties', union=True) for model in models: for unc in model.uncertainties: self.assertIn(unc.name, parameters.keys()) parameters = determine_parameters(models, 'uncertainties', union=False) self.assertIn('b', parameters.keys()) self.assertNotIn('c', parameters.keys()) self.assertNotIn('a', parameters.keys())
def test_determine_parameters(self): function = mock.Mock() model_a = Model("A", function) model_a.uncertainties = [RealParameter('a', 0, 1), RealParameter('b', 0, 1),] function = mock.Mock() model_b = Model("B", function) model_b.uncertainties = [RealParameter('b', 0, 1), RealParameter('c', 0, 1),] models = [model_a, model_b] parameters = determine_parameters(models, 'uncertainties', union=True) for model in models: for unc in model.uncertainties: self.assertIn(unc.name, parameters.keys()) parameters = determine_parameters(models, 'uncertainties', union=False) self.assertIn('b', parameters.keys()) self.assertNotIn('c', parameters.keys()) self.assertNotIn('a', parameters.keys())
std_performance = np.std(outcome) objs.append(float(mean_performance)) objs.append(float(std_performance)) return objs if __name__ == '__main__': ema_logging.log_to_stderr(ema_logging.INFO) #instantiate the model model = Model('lakeproblem', function=lake_problem) #specify uncertainties model.uncertainties = [RealParameter("b", 0.1, 0.45), RealParameter("q", 2.0, 4.5), RealParameter("mean", 0.01, 0.05), RealParameter("stdev", 0.001, 0.005), RealParameter("delta", 0.93, 0.99)] #specify outcomes model.outcomes = [ScalarOutcome("max_P",), ScalarOutcome("utility"), ScalarOutcome("inertia"), ScalarOutcome("reliability")] # override some of the defaults of the model model.constants = [Constant('alpha', 0.41), Constant('nsamples', 150),] # set levers, one for each time step model.levers = [RealParameter(str(i), 0, 0.05) for i in range(100)]
objs.append(float(std_performance)) return objs if __name__ == '__main__': ema_logging.log_to_stderr(ema_logging.INFO) #instantiate the model model = Model('lakeproblem', function=lake_problem) #specify uncertainties model.uncertainties = [ RealParameter("b", 0.1, 0.45), RealParameter("q", 2.0, 4.5), RealParameter("mean", 0.01, 0.05), RealParameter("stdev", 0.001, 0.005), RealParameter("delta", 0.93, 0.99) ] #specify outcomes model.outcomes = [ ScalarOutcome("max_P", ), ScalarOutcome("utility"), ScalarOutcome("inertia"), ScalarOutcome("reliability") ] # override some of the defaults of the model model.constants = [ Constant('alpha', 0.41), Constant('nsamples', 150),