Oct-20-2018, 10:19 AM
I'm using networkx to implement the edge coloring algorithm. Each edge should have a set of colors.
Here i'm creating the graph:
i tried with:
but only one color to each edge is added (the last one of the list. A better solution?
Here i'm creating the graph:
G = nx.Graph() G.add_nodes_from ([1,2,3,4,5]) G.add_edge(1,2) G.add_edge(1,4) G.add_edge(1,5) G.add_edge(2,3) G.add_edge(4,2) G.add_edge(3,1) G.add_edge(5,4) G.add_edge(3,5) # list of nodes U = list(G.nodes) # variable with number of edges K = G.number_of_edges() Z = [] # creating a set of available colors. We assume that K = {0, 1, . . . , K − 1}and K ≤ |E| def nrofCol(): Z.clear() z = 0 while z < K - 1: Z.append(z) z = z+1 return ZThe set of colors is z=[0,1,2,3,4,5,6]. Each edge should have all the available colors as follows:
G[u][v][z] = 1,2,0 G[u][v][z] = 1,2,1 G[u][v][z] = 1,2,2 G[u][v][z] = 1,2,3 G[u][v][z] = 1,2,4 G[u][v][z] = 1,2,5 G[u][v][z] = 1,2,6 G[u][v][z] = 1,4,0 G[u][v][z] = 1,4,1 ...... where u and v are nodes and z is the color
i tried with:
for u,v in G.edges(): for z in Z: G[u][v]['color'] = z
but only one color to each edge is added (the last one of the list. A better solution?