title: networkx: efficiently find absolute longest path in digraph
body: <p>I want networkx to find the absolute longest path in my directed, 
  acyclic graph.    </p>
  
  <p>I know about Bellman-Ford, so I negated my graph lengths. The problem: 
  networkx's bellman_ford() requires a source node. I want to find the 
  <em>absolute</em> longest path (or the shortest path after negation), not the 
  longest path from a given node. </p>
  
  <p>Of course, I could run bellman_ford() on each node in the graph and 
  sort, but is there a more efficient method? </p>
  
  <p>From what I've read (eg, 
  <a href="http://en.wikipedia.org/wiki/Longest_path_problem" rel="noreferrer">http://en.wikipedia.org/wiki/Longest_path_problem</a>) I realize there 
  actually may not be a more efficient method, but was wondering if 
  anyone had any ideas (and/or had proved P=NP (grin)).</p>
  
  <p>EDIT: all the edge lengths in my graph are +1 (or -1 after negation), so a method that simply visits the most nodes would also work. In general, it won't be possible to visit ALL nodes of course.</p>
  
  <p>EDIT: OK, I just realized I could add an additional node that simply connects to every other node in the graph, and then run bellman_ford from that node. Any other suggestions?</p>