(self)
Computes the cells covering the non-dominated region for the specific case of only two objectives.

        Assumes the Pareto set has been sorted in ascending order on the first objective.
        This implies the second objective is sorted in descending order.
Computes the cells covering the non-dominated region for the specific case of only two objectives.
Computes the cells covering the non - dominated region for the specific case of only two objectives .
def bounds_2d(self):
        """
        Computes the cells covering the non-dominated region for the specific case of only two objectives.

        Assumes the Pareto set has been sorted in ascending order on the first objective.
        This implies the second objective is sorted in descending order.
        """
        outdim = self.Y.shape[1]
        assert outdim == 2

        pf_idx = np.argsort(self.front.value, axis=0)
        pf_ext_idx = np.vstack((np.zeros(outdim, dtype=np_int_type),
                                pf_idx + 1,
                                np.ones(outdim, dtype=np_int_type) * self.front.shape[0] + 1))

        for i in range(pf_ext_idx[-1, 0]):
            self.bounds.append((i, 0),
                               (i+1, pf_ext_idx[-i-1, 1]))
def bounds_2d ( self ) : outdim = self . Y . shape [ 1 ] assert outdim == 2 pf_idx = np . argsort ( self . front . value , axis = 0 ) pf_ext_idx = np . vstack ( ( np . zeros ( outdim , dtype = np_int_type ) , pf_idx + 1 , np . ones ( outdim , dtype = np_int_type ) * self . front . shape [ 0 ] + 1 ) ) for i in range ( pf_ext_idx [ - 1 , 0 ] ) : self . bounds . append ( ( i , 0 ) , ( i + 1 , pf_ext_idx [ - i - 1 , 1 ] ) )