예제 #1
0
def identifyPotentialOptimalRectanglePareto(rectList,
                                            EPSILON=1e-4,
                                            includeMin=False):
    return identifyPotentialOptimalObjectPareto(rectList,
                                                EPSILON=1e-4,
                                                uniqueDecimal=8,
                                                includeMin=includeMin)
예제 #2
0
def identifyPotentialOptimalPolygonPareto(polyObjList,EPSILON=1e-4,includeMin=False):
    '''
    Divide a polygon object given objective function
    
    Parameters
    ----------
    polyObjList: list
        list of :class:`PolygonObj`
    EPSILON: numeric, optional
        control on how local the search is
    includeMin: bool, optional
        

    Returns
    -------
    list:
        index of polygons which we want to divide
    '''

    # only operate on the unsplit polygon
    polyList = _findUnsplitPolygon(polyObjList)

    # find our Pareto front
    listPotentialOptimalIndex = identifyPotentialOptimalObjectPareto(polyList,EPSILON=1e-4,uniqueDecimal=4,includeMin=includeMin)

    # need to convert the index back to the original set which
    # also include polygons that has been split
    listPotentialOptimalOriginal = list()
    for i in listPotentialOptimalIndex:
        listPotentialOptimalOriginal.append(copy.copy(polyObjList.index(polyList[i])))

    return listPotentialOptimalOriginal
예제 #3
0
def identifyPotentialOptimalPolygonPareto(polyObjList,
                                          EPSILON=1e-4,
                                          includeMin=False):
    '''
    Divide a polygon object given objective function
    
    Parameters
    ----------
    polyObjList: list
        list of :class:`PolygonObj`
    EPSILON: numeric, optional
        control on how local the search is
    includeMin: bool, optional
        

    Returns
    -------
    list:
        index of polygons which we want to divide
    '''

    # only operate on the unsplit polygon
    polyList = _findUnsplitPolygon(polyObjList)

    # find our Pareto front
    listPotentialOptimalIndex = identifyPotentialOptimalObjectPareto(
        polyList, EPSILON=1e-4, uniqueDecimal=4, includeMin=includeMin)

    # need to convert the index back to the original set which
    # also include polygons that has been split
    listPotentialOptimalOriginal = list()
    for i in listPotentialOptimalIndex:
        listPotentialOptimalOriginal.append(
            copy.copy(polyObjList.index(polyList[i])))

    return listPotentialOptimalOriginal
예제 #4
0
def identifyPotentialOptimalRectanglePareto(rectList,EPSILON=1e-4,includeMin=False):
    return identifyPotentialOptimalObjectPareto(rectList,EPSILON=1e-4,uniqueDecimal=8,includeMin=includeMin)