예제 #1
0
    
    # Caso o consumo total seja zero nao e necessario optimizar
    if Consumo_total[n] == 0:
        continue
    
    # Percorre todas as permutacoes
        
        

    for idx, c in enumerate(comb):
        if idx % 100000 == 0:
            print "iteration %s" % idx
        
        
        # Calculo do vector de combinacoes e dos consumos
        [combinacoes, consumos] = utils.uns(lista, c, n_maquinas)
        combinacoes = numpy.array(combinacoes)
        
        # Dada a baixa variancia so interessam combinacoes cujo consumo seja igual ao consumo total
        if s2 < 0.000001:
            if Consumo_total[n]-sum(consumos) != 0:#mudar
                continue
        # Calculo da primeira parte do funcional de custo
        custo = 1/(2*s2)*(Consumo_total[n] - sum(consumos))**2 
        
        # Calculo da segunda parte do funcional de custo
        custo = custo - numpy.dot(combinacoes,numpy.log(matriz_probabilidades[n,:])) - numpy.dot((1-combinacoes,),numpy.log(1-matriz_probabilidades[n,:]))
        
        # Armazenamento de resultados
        for i in xrange(5):
            if custo < best[i]:
예제 #2
0
    print "in problem %s" % n
    a = 0
    best = [float('Inf')] * 5

    # Caso o consumo total seja zero nao e necessario optimizar
    if Consumo_total[n] == 0:
        continue

    # Percorre todas as permutacoes

    for idx, c in enumerate(comb):
        if idx % 100000 == 0:
            print "iteration %s" % idx

        # Calculo do vector de combinacoes e dos consumos
        [combinacoes, consumos] = utils.uns(lista, c, n_maquinas)
        combinacoes = numpy.array(combinacoes)

        # Dada a baixa variancia so interessam combinacoes cujo consumo seja igual ao consumo total
        if s2 < 0.000001:
            if Consumo_total[n] - sum(consumos) != 0:  #mudar
                continue
        # Calculo da primeira parte do funcional de custo
        custo = 1 / (2 * s2) * (Consumo_total[n] - sum(consumos))**2

        # Calculo da segunda parte do funcional de custo
        custo = custo - numpy.dot(
            combinacoes, numpy.log(matriz_probabilidades[n, :])) - numpy.dot(
                (1 - combinacoes, ),
                numpy.log(1 - matriz_probabilidades[n, :]))
예제 #3
0
        print "in index: %s" % idx
        if x_teste[n]-sum(c) != 0:
            continue
>>>>>>> 6dfe9a391c66a04c669a984d594b3eab05a87940
        
        # Dada a baixa variancia so interessam combinacoes cujo consumo seja igual ao consumo total
        
        if s2 < 0.000001:
            if Consumo_total-sum(c) != 0:
                continue
        
        # Calculo da primeira parte do funcional de custo
        custo = 1/(2*s2)*(Consumo_total[n] - sum(c))**2 
        
        # Calculo do vector de combinacoes
        combinacoes = numpy.array(utils.uns(c))
        
        # Calculo da segunda parte do funcional de custo
        custo = custo - numpy.dot(combinacoes,numpy.log(matriz_probabilidades[n,:])) - numpy.dot((1-combinacoes,),numpy.log(1-matriz_probabilidades[n,:]))
        
        # Armazenamento de resultados
        for i in xrange(5):
            if custo < best[i]:
                if i == 5:
                    best[i] = custo
                    optimo[n,:,i] = combinacoes
                    break
                
                for m in range(0,4-i):
                    best[i] = custo
                    optimo[n,:,i]