def gen_graph(): #netname = 'astrocollab' #fname = './data/%s-GraphML/%s.GraphML' % (netname, netname) #pname = './data/%s-GraphML/%s.pickle' % (netname, netname) #if not os.path.exists(pname): # # get directed weighted network # g = read_graphml.preprocess(fname) # pickle.dump(g, open(pname, 'wb')) # generate graph from ncol edgelist fname = './data/%s-GraphML/%s.inf' % (netname, netname) ename = './data/%s-GraphML/%s.edgelist' % (netname, netname) gname = './data/%s-GraphML/%s.GraphML' % (netname, netname) pname = './data/%s-GraphML/%s.pickle' % (netname, netname) if not os.path.exists(pname): # get directed weighted network ncol.run(fname, ename, gname) g = read_graphml.preprocess(gname) pickle.dump(g, open(pname, 'wb')) return pname
import bendersIM_exactWorker import bendersIM_CB import bendersIM_nobigM import lpIM_nobigM import mipIM_nobigM import calculate_LT # paramters of IM S = 6 T = 10 fname = '/bkfrat-GraphML/BKFRAB.GraphML' # 'SAMPIN.GraphML' # get directed weighted network g = read_graphml.preprocess(fname) print 'g is a DAG:', g.is_dag() # influence maximization - original size, source, target, weight = len(g.vs), [e.source for e in g.es], [e.target for e in g.es], [w for w in g.es['normalized inweight']] ssCplex = cplex_tiny.optimize(S, T, size, source, target, weight) # influence maximization - original ssMip = mipIM_nobigM.optimize(S, T, size, source, target, weight) # calculate expected spread calculate_LT.run(ssCplex, S, T, size, source, target, weight) print 'seed set selected by Cplex'