Weights on Vertices

Topics: algorithm, graph
Mar 17, 2010 at 5:12 PM
Edited Mar 22, 2010 at 9:53 AM

Fist of all, thanks for your library, really useful!!! :)

I've been reading the documentation but I'm not sure if I can do this with QuickGraph, or how: I want a graph with vertices with weight (so, the cost is for entering, not exiting), and also I can have different weights on edges. Example: vertices are cities with different types of transit congestion (cost for car, and cost for truck), and edges are roads (with different weights, think of road and highway) , and railroads.

It seems a bidirectional graph, with parallel edges. The weights in vertices are added to the edges entering the vertice (ok), but how to call the dijkstra differentiated for cars going by road, going by highway, going by both, dijkstra for trucks (the same as cars), and trains?

And how calling dijkstra with a "man" who can get all of those vehicles? Any idea?

And a second question, the weights are "time", and I'd like to know which combination of edges are the best for going from A to any node, knowing that I can use any edge (road, highway, train) but there is a cost to use train. Example: Each time I select a train edge, the cost is "1" more than the weight of that immediate edge (train, imagine the waiting in the train station), and each time I leave the train to use other options the cost is "0.5" for that immediate edge (road, the waiting for getting a renting car).

Are all of it possible with the QuickGraph? Using function on edges? Or another algorithm? Any other option?