Ejemplo n.º 1
0
    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())
Ejemplo n.º 2
0
 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())    
Ejemplo n.º 3
0
        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)]
    
Ejemplo n.º 4
0
        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),