Пример #1
0
    def test_to_robust_problem(self, mocked_platypus):
        mocked_model = Model('test', function=mock.Mock())
        mocked_model.levers = [
            RealParameter('a', 0, 1),
            RealParameter('b', 0, 1)
        ]
        mocked_model.uncertainties = [
            RealParameter('c', 0, 1),
            RealParameter('d', 0, 1)
        ]
        mocked_model.outcomes = [ScalarOutcome('x'), ScalarOutcome('y')]

        scenarios = 5
        robustness_functions = [
            ScalarOutcome('mean x', variable_name='x', function=mock.Mock()),
            ScalarOutcome('mean y', variable_name='y', function=mock.Mock())
        ]

        problem = to_robust_problem(mocked_model, scenarios,
                                    robustness_functions)

        self.assertEqual('robust', problem.searchover)
        for entry in problem.parameters:
            self.assertIn(entry.name, mocked_model.levers.keys())
        self.assertEqual(['a', 'b'], problem.parameter_names)
        self.assertEqual(['mean x', 'mean y'], problem.outcome_names)
Пример #2
0
    def test_to_problem(self, mocked_platypus):
        mocked_model = Model('test', function=mock.Mock())
        mocked_model.levers = [RealParameter('a', 0, 1),
                               RealParameter('b', 0, 1)]
        mocked_model.uncertainties = [RealParameter('c', 0, 1),
                                      RealParameter('d', 0, 1)]
        mocked_model.outcomes = [ScalarOutcome('x', kind=1),
                                 ScalarOutcome('y', kind=1)]
        
        searchover = 'levers'
        problem = to_problem(mocked_model, searchover)
        self.assertEqual(searchover, problem.searchover)
        
        for entry in problem.parameters:
            self.assertIn(entry.name, mocked_model.levers.keys())
            self.assertIn(entry, list(mocked_model.levers))
        for entry in problem.outcome_names:
            self.assertIn(entry, mocked_model.outcomes.keys())
 
        searchover = 'uncertainties'        
        problem = to_problem(mocked_model, searchover)
         
        self.assertEqual(searchover, problem.searchover)
        for entry in problem.parameters:
            self.assertIn(entry.name, mocked_model.uncertainties.keys())
            self.assertIn(entry, list(mocked_model.uncertainties))
        for entry in problem.outcome_names:
            self.assertIn(entry, mocked_model.outcomes.keys())
Пример #3
0
    def test_to_problem(self, mocked_platypus):
        mocked_model = Model('test', function=mock.Mock())
        mocked_model.levers = [
            RealParameter('a', 0, 1),
            RealParameter('b', 0, 1)
        ]
        mocked_model.uncertainties = [
            RealParameter('c', 0, 1),
            RealParameter('d', 0, 1)
        ]
        mocked_model.outcomes = [ScalarOutcome('x'), ScalarOutcome('y')]
        mocked_model.constraints = []

        searchover = 'levers'
        problem = to_problem(mocked_model, searchover)
        self.assertEqual(searchover, problem.searchover)

        for entry in problem.parameters:
            self.assertIn(entry.name, mocked_model.levers.keys())
            self.assertIn(entry, list(mocked_model.levers))
        for entry in problem.outcome_names:
            self.assertIn(entry.name, mocked_model.outcomes.keys())

        searchover = 'uncertainties'
        problem = to_problem(mocked_model, searchover)

        self.assertEqual(searchover, problem.searchover)
        for entry in problem.parameters:
            self.assertIn(entry.name, mocked_model.uncertainties.keys())
            self.assertIn(entry, list(mocked_model.uncertainties))
        for entry in problem.outcome_names:
            self.assertIn(entry.name, mocked_model.outcomes.keys())
Пример #4
0
 def test_to_robust_problem(self, mocked_platypus):
     mocked_model = Model('test', function=mock.Mock())
     mocked_model.levers = [RealParameter('a', 0, 1),
                            RealParameter('b', 0, 1)]
     mocked_model.uncertainties = [RealParameter('c', 0, 1),
                                   RealParameter('d', 0, 1)]
     mocked_model.outcomes = [ScalarOutcome('x'), ScalarOutcome('y')]
     
     scenarios = 5
     robustness_functions = [ScalarOutcome('mean x', variable_name='x',
                                           function=mock.Mock()), 
                             ScalarOutcome('mean y', variable_name='y', 
                                           function=mock.Mock())]
     
     problem = to_robust_problem(mocked_model, scenarios, 
                                 robustness_functions)
     
     self.assertEqual('robust', problem.searchover)
     for entry in problem.parameters:
         self.assertIn(entry.name, mocked_model.levers.keys())
     self.assertEqual(['mean x', 'mean y'], problem.outcome_names)