Skip to content
Snippets Groups Projects
config.py 852 B
Newer Older
import networkx as nx

markn92's avatar
markn92 committed
from evrouting.graph_tools import node_convert, edge_convert
from evrouting.graph_tools import TemplateEdge as Edge
from evrouting.graph_tools import TemplateNode as Node
# List of configs
config_list = ['edge_case']

edge_case = {
    'b_0': 0,
    'b_t': 0,
    'U': 4,
markn92's avatar
markn92 committed
    's': 0,
    't': 2,
    'nodes': [
        Node('s', charging_coeff=1),
        Node('a', charging_coeff=2),
        Node('t'),
    ],
    'edges': [
markn92's avatar
markn92 committed
        Edge(0, 1, distance=1, consumption=1),
        Edge(0, 2, distance=1, consumption=4),
        Edge(1, 2, distance=1, consumption=1),
    ]
}


def get_graph(config):
    G = nx.Graph()

    for node_id, node in enumerate(config['nodes']):
markn92's avatar
markn92 committed
        G.add_node(node_id, **node_convert(node))

    for edge in config['edges']:
markn92's avatar
markn92 committed
        G.add_edge(edge.u, edge.v, **edge_convert(edge))