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_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))
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))
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))
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']")