Here is an example that illustrates how to automate the allocation of a specific path through a graph.
Here's a dumb graph given by a list of edge rules:
edges = Table[i -> Mod[1 + i^2, 10], {i, 0, 9}]; GraphPlot[edges, VertexLabeling -> True]

Here is the schedule path we would like to highlight.
path = {0, 1, 2, 5, 6, 7, 0};
Let me divide the path into edges, given the fact that we want to highlight an edge that does not depend on its orientation.
edgesToHighlight = Partition[path, 2, 1]; edgesToHighlight = Join[edgesToHighlight, Reverse /@ edgesToHighlight];
We are writing an EdgeRenderingFunction
that displays an edge in one of two styles, depending on whether it is on our list or not.
erf[pts_, edge_, ___] := If[MemberQ[edgesToHighlight, edge], {Thick, Black, Arrow[pts, 0.1]}, {Darker[Red], Line[pts]}];
Finally, we show the result.
GraphPlot[edges, EdgeRenderingFunction -> erf, VertexLabeling -> True]
