Esempio n. 1
0
def obtienenNuevoElemento1(lSolucion, matrix, pesos, rHeuristic,
                           dictcHeuristics, dict, cHeuristic):

    #Obtenemos las filas no cuviertas
    uRows = mU.getRows(matrix, lSolucion)
    uColumns = []

    if len(uRows) > 0:

        pRows = he.getProposedRows(uRows, rHeuristic, lparam=10)

        #uColumns =  dict[uRows[0]]
        for i in range(0, len(pRows)):
            uColumns = list(set(uColumns + dict[pRows[i]]))
        #print 'Las columnas', len(uColumns)
        pColumns = he.getProposedColumns(uColumns, cHeuristic, lparam=10)
        #pColumns = he.getProposedColumnsNew(uColumns,dictcHeuristics,lparam=50)

        #---------------------------------------------------------------------------------------------------------
        #La seleccion ed la heuristica
        #---------------------------------------------------------------------------------------------------------
        #column = he.SeleccionaColumnaNueva(pesos,matrix,pRows,pColumns)
        column = getNewColumn(pColumns)

        #---------------------------------------------------------------------------------------------------------

        lSolucion.append(int(column))
        estado = 0
    else:
        estado = 1
    return lSolucion, estado
Esempio n. 2
0
def obtieneElemento2(lSolucion, matrix, pesos, rHeuristic, dictcHeuristics,
                     dict, cHeuristic, dictCols):
    tIni = tU.obtieneTime()
    uRows = mU.getRows(matrix, lSolucion)
    uColumns = []
    if len(uRows) > 0:
        pRows = he.getProposedRows(uRows, rHeuristic, lparam=10)
        #print ('pRows',pRows)
        for i in range(0, len(pRows)):
            uColumns = list(set(uColumns + dict[pRows[i]]))
            #print ('uColumns',uColumns,dict)
            #print 'El numero de columnas', len(uColumns), pRows[i],dict[int(pRows[i])]

        #-----------------------------------------------------------------------------------------------
        # LAs Heuristicas
        #-----------------------------------------------------------------------------------------------
        #column = he.SeleccionaColumna6(pesos,matrix,pRows,lSolucion)

        #-----------------------------------------------------------------------------------------------
        # Muy Bien con Scheduling
        #-----------------------------------------------------------------------------------------------
        #column = he.SeleccionaColumnaNueva(pesos, matrix, pRows,uColumns)

        column = he.heuristByCols(pesos, uRows, uColumns, dictCols)

        lSolucion.append(int(column))
        estado = 0
    else:
        estado = 1
    tFin = tU.obtieneTime()
    #print 'EL obtieneLEmento2', tIni, tFin
    return lSolucion, estado
Esempio n. 3
0
def obtieneElemento(lSolucion, matrix, pesos, rHeuristic, dictcHeuristics,
                    dict, cHeuristic):
    uRows = mU.getRows(matrix, lSolucion)
    if len(uRows) > 0:
        pRows = he.getProposedRows(uRows, rHeuristic, lparam=10)

        column = he.SeleccionaColumna6(pesos, matrix, pRows, lSolucion)
        lSolucion.append(int(column))
        estado = 0
    else:
        estado = 1
    return lSolucion, estado
Esempio n. 4
0
def obtieneElementoRANDOM(lSolucion, matrix, pesos, rHeuristic,
                          dictcHeuristics, dict, cHeuristic, dictCols):
    uRows = mU.getRows(
        matrix,
        lSolucion)  #Llamamos a las filas que no cubren la lista columns,
    uColumns = []
    if len(uRows) > 0:  #Si len(uRows) es mayor a 0 entonces hay que reparar
        row, cols = matrix.shape  #Se extrae el tamaño del problema
        column = rn.randint(0, cols) - 1
        while column in lSolucion:
            column = rn.randint(0, cols) - 1

        lSolucion.append(int(column))

        estado = 0
    else:
        estado = 1
    return lSolucion, estado
Esempio n. 5
0
def obtienenNuevoElemento(lSolucion, matrix, pesos, rHeuristic,
                          dictcHeuristics, dict, cHeuristic):
    #Obtenemos las filas no cuviertas
    uRows = mU.getRows(matrix, lSolucion)
    #print 'Largo Filas', len(uRows)
    if len(uRows) > 0:
        #---------------------------------------------------------------------------------------------------------
        #La seleccion ed la heuristica
        #---------------------------------------------------------------------------------------------------------
        #column = he.SeleccionaColumna(matrix,lSolucion,cHeuristic)
        #column = he.SeleccionaColumna1(lSolucion,cHeuristic)
        column = he.SeleccionaColumna6(pesos, matrix, uRows, lSolucion)
        #---------------------------------------------------------------------------------------------------------
        #pColumns = he.getProposedColumnsDict(uColumns,dictcHeuristics,lparam=2)
        #column = getNewColumn(pColumns)

        lSolucion.append(int(column))
        estado = 0
    else:
        estado = 1
    return lSolucion, estado