Пример #1
0
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
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
Пример #3
0
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'