# 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]:
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, :]))
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]