def __init__(self, G, max_res, min_res, REF_forward=None, REF_backward=None, preprocess=False, direction='both'): # Check inputs and preprocess G unless option disabled self.G = check_and_preprocess(preprocess, G, max_res, min_res, REF_forward, REF_backward, direction, __name__) self.direc_in = direction self.max_res, self.min_res = max_res, min_res # init current forward and backward labels self.Label = { 'forward': Label(0, 'Source', np.zeros(G.graph['n_res']), ['Source']), 'backward': Label(0, 'Sink', max_res, ['Sink']) } # init forward and backward unprocessed labels self.unprocessed = {'forward': {}, 'backward': {}} # init final path self.finalpath = {'forward': ["Source"], 'backward': ["Sink"]} # If given, set REFs for dominance relations and feasibility checks if REF_forward and REF_backward: Label._REF_forward = REF_forward Label._REF_backward = REF_backward
def __init__(self, G, max_res, min_res, REF=None, preprocess=False, max_iter=100, max_localiter=10, alpha=0.2): # Check input graph and parameters G = check_and_preprocess(preprocess, G, max_res, min_res, REF) # Input parameters self.G = G self.max_res = max_res self.min_res = min_res self.max_iter = max_iter self.max_localiter = max_localiter self.alpha = alpha if REF: Path._REF = REF # Algorithm specific parameters self.it = 0 self.best = None self.stop = False self.nodes = self.G.nodes()
def __init__(self, G, max_res, min_res, REF, preprocess): # Check input graph and parameters G = check_and_preprocess(preprocess, G, max_res, min_res, REF) # Input parameters self.G = G self.max_res = max_res self.min_res = min_res self.path = None self.best_path = None self.path_edges = None if REF: Path._REF = REF
def __init__(self, G, max_res, min_res, REF=None, preprocess=False): # Check input graph and parameters self.G = check_and_preprocess(preprocess, G, max_res, min_res, REF) # Input parameters self.max_res = max_res self.min_res = min_res # Algorithm specific parameters self.it = 0 self.path = [] self.stop = False self.neighbour = 'Source' self.neighbourhood = [] self.tabu_edge = None self.edges_to_check = dict(self.G.edges()) if REF: Path._REF = REF
def __init__(self, G, max_res, min_res, REF=None, preprocess=False, return_G=False): # Check input graph and parameters self.G = check_and_preprocess(preprocess, G, max_res, min_res, REF) # Input parameters self.max_res = max_res self.min_res = min_res self.return_G = return_G # Algorithm specific parameters self.it = 0 self.path = [] self.stop = False self.predecessor_edges = [] self.last_edge_removed = None self.edges_to_remove = dict(self.G.edges()) if REF: Path._REF = REF