Sorry... I was in a hurry when I wrote last. The DSP algorithm takes function objects as parameters that can be used to change the default behavior of distance comparison and combination. It's mentioned here, but I doubt that there are any good examples.
http://www.boost.org/doc/libs/1_38_0/libs/graph/doc/dijkstra_shortest_paths.htmlFor example, you might call it as:
dijkstra_shortest_paths(g, v,
weight_map(weights).
distance_map(results).
distance_compare(my_compare));
Where my_compare is a BinaryPredicate (like std::less), taking the value_type of the weights. You might also look at ways using or modifying the color_map, which is also an optional parameter.
Hope that's more clear.