z = max(dist) s = sorted(dist) centers, edges = solve_kcenter(m, n, d, k, s, known_g) print "Centers:", centers print "Edges:", edges #print [((i,j),d[i,j]) for (i,j) in edges] opt = max([d[i, j] for (i, j) in edges]) print "Opt = ", opt class_counter = np.zeros(len(centers), dtype=int) acc = 0 #if known_g: for e in edges: l = centers.index(e[1]) if label[e[0]] == l and known_g: acc = acc + 1 class_counter[l] = class_counter[l] + 1 if known_g: acc = (1.0 * acc) / n print 'acc =', acc elapsed_time = time.time() - start print 'time:', elapsed_time write_to_file("out-pcenter", opt, centers, edges, n, k, known_g, class_counter, acc, elapsed_time)
z = max(dist) s = sorted(dist) centers, edges = solve_kcenter(m, n, d, k, s, known_g) print "Centers:", centers print "Edges:", edges #print [((i,j),d[i,j]) for (i,j) in edges] opt = max([d[i,j] for (i,j) in edges]) print "Opt = ", opt class_counter = np.zeros(len(centers), dtype = int) acc = 0 #if known_g: for e in edges: l = centers.index(e[1]) if label[e[0]] == l and known_g: acc = acc+1 class_counter[l] = class_counter[l]+1 if known_g: acc = (1.0*acc)/n print 'acc =', acc elapsed_time = time.time() - start print 'time:', elapsed_time write_to_file("out-pcenter", opt, centers, edges, n, k, known_g, class_counter, acc, elapsed_time)
model.optimize() x, y = model.__data edges = [(i, j) for (i, j) in x if x[i, j].X > 0] centers = [j for j in y if y[j].X > 0] print "Opt =", model.ObjVal allocation = np.zeros(n) print "Centers:", centers print "Edges:", edges class_counter = np.zeros(len(centers), dtype=int) acc = 0 #if known_g: for e in edges: l = centers.index(e[1]) if label[e[0]] == l and known_g: acc = acc + 1 class_counter[l] = class_counter[l] + 1 if known_g: acc = (1.0 * acc) / n print 'acc =', acc elapsed_time = time.time() - start print 'time:', elapsed_time write_to_file("out-pmedian", model.ObjVal, centers, edges, n, k, known_g, class_counter, acc, elapsed_time)
model.optimize() x,y = model.__data edges = [(i,j) for (i,j) in x if x[i,j].X > 0] centers = [j for j in y if y[j].X > 0] print "Opt =", model.ObjVal allocation = np.zeros(n) print "Centers:", centers print "Edges:", edges class_counter = np.zeros(len(centers), dtype = int) acc = 0 #if known_g: for e in edges: l = centers.index(e[1]) if label[e[0]] == l and known_g: acc = acc+1 class_counter[l] = class_counter[l]+1 if known_g: acc = (1.0*acc)/n print 'acc =', acc elapsed_time = time.time() - start print 'time:', elapsed_time write_to_file("out-pmedian", model.ObjVal, centers, edges, n, k, known_g, class_counter, acc, elapsed_time)