 Creative Commons Attribution-NoDerivs 3.0 Unported license
            
    Creative Commons Attribution-NoDerivs 3.0 Unported license
 
    In this paper we study a variant of the shortest path problem in graphs: given a weighted graph $G$ and vertices $s$ and $t$, and given a set $X$ of forbidden paths in $G$, find a shortest $s$-$t$ path $P$ such that no path in $X$ is a subpath of $P$. Path $P$ is allowed to repeat vertices and edges. We call each path in $X$ an \emph{exception}, and our desired path a \emph{shortest exception avoiding path}. We formulate a new version of the problem where the algorithm has no a priori knowledge of $X$, and finds out about an exception $x \in X$ only when a path containing $x$ fails. This situation arises in computing shortest paths in optical networks. We give an algorithm that finds a shortest exception avoiding path in time polynomial in $|G|$ and $|X|$. The main idea is to run Dijkstra's algorithm incrementally after replicating vertices when an exception is discovered.
        
    @InProceedings{ahmed_et_al:LIPIcs.STACS.2009.1831,
  author =	{Ahmed, Mustaq and Lubiw, Anna},
  title =	{{Shortest Paths Avoiding Forbidden Subpaths}},
  booktitle =	{26th International Symposium on Theoretical Aspects of Computer Science},
  pages =	{63--74},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-939897-09-5},
  ISSN =	{1868-8969},
  year =	{2009},
  volume =	{3},
  editor =	{Albers, Susanne and Marion, Jean-Yves},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.STACS.2009.1831},
  URN =		{urn:nbn:de:0030-drops-18318},
  doi =		{10.4230/LIPIcs.STACS.2009.1831},
  annote =	{Keywords: Algorithms and data structures, Graph algorithms, Optical networks}
}