netmic.postprocessing.negative_cycle_heuristics

Negative Cycle with Forbidden Pairs heuristics.

 
Modules
       
netmic.network_utility
networkx
time

 
Classes
       
negativeCycleAssignmentProblem
negativeCycleBellmanFordProblem

 
class negativeCycleAssignmentProblem
    Set up and solve the negative cycle with forbidden pairs problem as an
assignment problem.
 
  Methods defined here:
__init__(self, N)
solveViaMultipleMCF(self, timelimit=900)
Return list of lists of all (found) negative cycles in N. Solved via
MCF on the corresponding assignment problem, where potential pairs are
broken by removing one arc and solving MCF again, until no pairs exist.
solveViaSimpleMCF(self)
Return list of lists of all (found) negative cycles in N. Solved via MCF
on the corresponding assignment problem, where potential pairs are broken in
the trivial way, by taking them out.
updateWeightsFromN(self)
Copy the weights from N to the corresponding arc in Nbip.

 
class negativeCycleBellmanFordProblem
    Set up and solve the negative cycle with forbidden pairs problem with a
modified Bellman-Ford algorithm.
assignment problem.
 
  Methods defined here:
__init__(self, N)
bellmanFordWithForbiddenPairs(self, s)
Return found negative cycle in N as list. Solved via the
(heuristic) Bellman-Ford with Forbidden Pairs, with start node s.
solve(self, timelimit=900)
Return list of list of (found) negative cycle in N. Solved via the
(heuristic) Bellman-Ford with Forbidden Pairs, test all nodes as start node,
break if a cycle is found.

 
Functions
       
MCFForDisconnectedGraphs(N, demand='demand', capacity='capacity', weight='weight')
Return a min cost flow solution. If N is disconnected, solve components
independently and assemble the solutions.
bipartizeAuxGraph(N, s=None, t=None)
Return bipartite redraft of N. Nodes have the form (v,0) and (v,1).
If s and t are given, (s,1) and (t,0) do not exist.
setUpAssignmentProblem(N)
Return bipartite redraft of N, with a demand of -1 for every node in the
set 0 and 1 for every node in set 1. All upper bounds are 1.