  We present a novel algorithm for dynamic routing with dedicated path
protection which, as the presented simulation results suggest, can be efficient
and exact. We present the algorithm in the setting of optical networks, but it
should be applicable to other networks, where services have to be protected,
and where the network resources are finite and discrete, e.g., wireless radio
or networks capable of advance resource reservation. To the best of our
knowledge, we are the first to propose an algorithm for this long-standing
fundamental problem, which can be efficient and exact, as suggested by
simulation results. The algorithm can be efficient because it can solve large
problems, and it can be exact because its results are optimal, as demonstrated
and corroborated by simulations. We offer a worst-case analysis to argue that
the search space is polynomially upper bounded. Network operations, management,
and control require efficient and exact algorithms, especially now, when
greater emphasis is placed on network performance, reliability, softwarization,
agility, and return on investment. The proposed algorithm uses our generic
Dijkstra algorithm on a search graph generated "on-the-fly" based on the input
graph. We corroborated the optimality of the results of the proposed algorithm
with brute-force enumeration for networks up to 15 nodes large. We present the
extensive simulation results of dedicated-path protection with signal
modulation constraints for elastic optical networks of 25, 50, and 100 nodes,
and with 160, 320, and 640 spectrum units. We also compare the bandwidth
blocking probability with the commonly-used edge-exclusion algorithm. We had
48,600~simulation runs with about 41 million searches.
