def worker(number, data, ppc):
    gmpy2.get_context().precision = 100
    m = 1
    setup(ppc)
    temp_data = [[0 for i in range(N)] for i in range(N)]
    mm = [[gmpy2.mpfr(0.0) for i in range(N)] for ii in range(N)]
    ss = [[0 for i in range(N)] for ii in range(N)]
    v0 = 0.0  #v([])
    vector = list(range(N))
    while (True):
        for i in range(0, m, N):
            shuffle(vector)
            prev_v = v0
            spruik_solver()
            for ii, vv in enumerate(vector):  #size ii, player vv
                new_v = v(vector[0:ii + 1])
                x = new_v - prev_v
                prev_v = new_v
                mm[ii][vv] += x
                mm[N - ii - 1][vv] += x
                ss[ii][vv] += 1
                ss[N - ii - 1][vv] += 1
        for i in range(N):
            for ii in range(N):
                temp_data[i][ii] = mm[i][ii] / ss[i][ii] if ss[i][
                    ii] > 0 else 0  #indsplus*random()*2.0/N #random()*1000
        data[number] = [
            float(sum([temp_data[o][i] for o in range(N)]) / N)
            for i in range(N)
        ]
Example #2
0
def run(input_file):
	print "---START---"
	global N
	ppc = json.load(input_file)
	N = len(ppc['bus'])
	setup(ppc)
	indsplus = calc_maxmin_minmax((1<<N)-1)
	print "indsplus = {}".format(indsplus)
	input_file.close()
def run(input_file, output_file):
	print "---START---"
	global N
	ppc = json.load(input_file)
	N = len(ppc['bus'])
	setup(ppc)
	
	data = []
	for i in tqdm.tqdm(range(2**N)):
		data.append([i,calc_maxmin_minmax(i)])
	output_file.write(json.dumps(data).replace("]","]\n"))
	#	output_file.write("{} {}\n".format(N,time.time()-t))
	output_file.close()
def worker(number, data, ppc):
    seed(32000)
    m = 100
    setup(ppc)
    #print v([0,2,4])
    #for i in range(10000000):
    #	print v([0,3,5,1])
    #sys.exit(0)
    listi = list(range(N))
    shuffle(listi)
    #spruik_solver()
    for ii in range(1):
        #print "hello"
        output = [0.0]
        for i in range(1, N + 1):  #N+1):
            #if (int(random()*4)==0):
            #	spruik_solver()
            vv = listi[0:i]
            #v(vv)
            #print "{}\t".format(v(vv)),
            t = time.time()
            output.append(int(v(vv)))
            print i, time.time() - t, vv
        print output