def test_1d(self):
        pf = ParetoFilter(params=('xin',), responses=('x',))
        pf.params.xin = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
        pf.responses.x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        pf.execute()

        self.assertEqual(1, pf.pareto_outputs[0, 0])
        self.assertEqual(3, pf.pareto_inputs[0, 0])
示例#2
0
    def test_1d(self):
        pf = ParetoFilter(params=('xin', ), responses=('x', ))
        pf.params.xin = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
        pf.responses.x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        pf.execute()

        self.assertEqual(1, pf.pareto_outputs[0, 0])
        self.assertEqual(3, pf.pareto_inputs[0, 0])
 def test_2d_4(self):
     pf = ParetoFilter(responses=('x',), constraints=('c',))
     pf.responses.x = [1,1,1,2,2,2,3,3,3]
     pf.constraints.c = [3,4,4,3,2,1,1,5,6]
     pf.execute()
     self.assertEqual(2, pf.pareto_outputs[0, 0])
     self.assertEqual(1, pf.pareto_outcons[0, 0])
     self.assertTrue(pf.pareto_outcons.shape == (1, 1))
示例#4
0
 def test_2d_4(self):
     pf = ParetoFilter(responses=('x', ), constraints=('c', ))
     pf.responses.x = [1, 1, 1, 2, 2, 2, 3, 3, 3]
     pf.constraints.c = [3, 4, 4, 3, 2, 1, 1, 5, 6]
     pf.execute()
     self.assertEqual(2, pf.pareto_outputs[0, 0])
     self.assertEqual(1, pf.pareto_outcons[0, 0])
     self.assertTrue(pf.pareto_outcons.shape == (1, 1))
    def test_2d_1(self):
        pf = ParetoFilter(responses=('x', 'y'))
        pf.responses.x = [1,1,1,2,2,2,3,3,3]
        pf.responses.y = [1,2,3,1,2,3,1,2,3]
        pf.execute()

        self.assertEqual(1, pf.pareto_outputs[0, 0])
        self.assertEqual(1, pf.pareto_outputs[0, 1])
        self.assertTrue(pf.pareto_outputs.shape == (1, 2))
示例#6
0
    def test_2d_1(self):
        pf = ParetoFilter(responses=('x', 'y'))
        pf.responses.x = [1, 1, 1, 2, 2, 2, 3, 3, 3]
        pf.responses.y = [1, 2, 3, 1, 2, 3, 1, 2, 3]
        pf.execute()

        self.assertEqual(1, pf.pareto_outputs[0, 0])
        self.assertEqual(1, pf.pareto_outputs[0, 1])
        self.assertTrue(pf.pareto_outputs.shape == (1, 2))
 def test_2d_3(self):
     pf = ParetoFilter(responses=('x',), constraints=('c',))
     pf.responses.x = [1,1,1,2,2,2,3,3,3]
     pf.constraints.c = [1,1,3,-2,-1,2,0,-1,-1]
     pf.execute()
     self.assertEqual(2, pf.pareto_outputs[0, 0])
     self.assertEqual(2, pf.pareto_outputs[1, 0])
     self.assertEqual(-2, pf.pareto_outcons[0, 0])
     self.assertEqual(-1, pf.pareto_outcons[1, 0])
     self.assertTrue(pf.pareto_outcons.shape == (2, 1))
示例#8
0
 def test_2d_3(self):
     pf = ParetoFilter(responses=('x', ), constraints=('c', ))
     pf.responses.x = [1, 1, 1, 2, 2, 2, 3, 3, 3]
     pf.constraints.c = [1, 1, 3, -2, -1, 2, 0, -1, -1]
     pf.execute()
     self.assertEqual(2, pf.pareto_outputs[0, 0])
     self.assertEqual(2, pf.pareto_outputs[1, 0])
     self.assertEqual(-2, pf.pareto_outcons[0, 0])
     self.assertEqual(-1, pf.pareto_outcons[1, 0])
     self.assertTrue(pf.pareto_outcons.shape == (2, 1))
    def test_2d_filter2(self):
        pf = ParetoFilter()
        x = [1,1,2,2,2,3,3,3,]
        y = [2,3,1,2,3,1,2,3]
        cases = []
        for x_0,y_0 in zip(x,y):
            cases.append(Case(outputs=[("x",x_0),("y",y_0)]))
        
        pf.case_sets = [ListCaseIterator(cases),]
        pf.criteria = ['x','y']
        pf.execute()

        x_p,y_p = zip(*[(case['x'],case['y']) for case in pf.pareto_set])
        x_dom,y_dom = zip(*[(case['x'],case['y']) for case in pf.dominated_set])
        
        self.assertEqual((1,2),x_p)
        self.assertEqual((2,1),y_p)
        self.assertEqual((1, 2, 2, 3, 3, 3),x_dom)
        self.assertEqual((3, 2, 3, 1, 2, 3),y_dom)
    def test_2d_filter2(self):
        pf = ParetoFilter()
        x = [1,1,2,2,2,3,3,3,]
        y = [2,3,1,2,3,1,2,3]
        cases = []
        for x_0,y_0 in zip(x,y):
            cases.append(Case(outputs=[("x",x_0),("y",y_0)]))
        
        pf.case_sets = [ListCaseIterator(cases),]
        pf.criteria = ['x','y']
        pf.execute()

        x_p,y_p = zip(*[(case['x'],case['y']) for case in pf.pareto_set])
 def test_1d_filter(self):
     pf = ParetoFilter()
     x = [1,2,3,4,5,6,7,8,9,10]
     cases = [Case(outputs=[("x",x_0)]) for x_0 in x]
     pf.case_sets = [ListCaseIterator(cases),]
     pf.criteria = ['x']
     pf.execute()
    
     x_p = [case['x'] for case in pf.pareto_set]
     x_dom = [case['x'] for case in pf.dominated_set]
     
     self.assertEqual([1],x_p)
     self.assertEqual([2,3,4,5,6,7,8,9,10],x_dom)
 def test_bad_case_set(self): 
     pf = ParetoFilter()
     x = [1,1,2,2,2,3,3,3,]
     y = [2,3,1,2,3,1,2,3]
     cases = []
     for x_0,y_0 in zip(x,y):
         cases.append(Case(outputs=[("x",x_0),("y",y_0)]))
         
     pf.case_sets = [ListCaseIterator(cases),]
     pf.criteria = ['z','w']
     try:
         pf.execute()
     except ValueError,err: 
         self.assertEqual(str(err),": no cases provided had all of the outputs "
              "matching the provided criteria, ['z', 'w']")