def testInit(self):
        config1 = OptimizationConfig(
            objective=self.objective,
            outcome_constraints=self.outcome_constraints)
        self.assertEqual(str(config1), CONFIG_STR)
        with self.assertRaises(ValueError):
            config1.objective = self.m2_objective
        # updating constraints is fine.
        config1.outcome_constraints = [self.outcome_constraint]
        self.assertEqual(len(config1.metrics), 2)

        # objective without outcome_constraints is also supported
        config2 = OptimizationConfig(objective=self.objective)
        self.assertEqual(config2.outcome_constraints, [])

        # setting objective is fine too, if it's compatible with constraints..
        config2.objective = self.m2_objective
        # setting incompatible constraints is not fine.
        with self.assertRaises(ValueError):
            config2.outcome_constraints = self.outcome_constraints
コード例 #2
0
    def testInit(self):
        config1 = OptimizationConfig(
            objective=self.objective,
            outcome_constraints=self.outcome_constraints)
        self.assertEqual(str(config1), OC_STR)
        with self.assertRaises(ValueError):
            config1.objective = self.alt_objective  # constrained Objective.
        # updating constraints is fine.
        config1.outcome_constraints = [self.outcome_constraint]
        self.assertEqual(len(config1.metrics), 2)

        # objective without outcome_constraints is also supported
        config2 = OptimizationConfig(objective=self.objective)
        self.assertEqual(config2.outcome_constraints, [])

        # setting objective is fine too, if it's compatible with constraints..
        config2.objective = self.m2_objective
        # setting constraints on objectives is fine for MultiObjective components.

        config2.outcome_constraints = self.outcome_constraints
        self.assertEqual(config2.outcome_constraints, self.outcome_constraints)