A DirectedGraph with a weight attached to each edge. There are many different ways to implement this DataStructure; which way is the best is application-dependent. [Examples?]
The weights are often numbers, but need not be; they can be whatever you want them to be, as long as you give them a suitable interpretation.
http://www.sics.se/SICS-reports/SICS-T--93-02--SE/report_11.html appears to describe some library utilities for dealing with WeightedDirectedGraphs. In that specific context, the following description is given:
In the case of summation; one can always find a shortest path unless there is a cycle with a negative net weight present; in which case there is no shortest path as one can round the cycle an infinite number of times, each time reducing the total weight of the path.
See also: WeightedUndirectedGraph