  The constrained path optimization (CPO) problem takes the following input:
(a) a road network represented as a directed graph, where each edge is
associated with a "cost" and a "score" value; (b) a source-destination pair
and; (c) a budget value, which denotes the maximum permissible cost of the
solution. Given the input, the goal is to determine a path from source to
destination, which maximizes the "score" while constraining the total "cost" of
the path to be within the given budget value. CPO problem has applications in
urban navigation. However, the CPO problem is computationally challenging as it
can be reduced to an instance of the arc orienteering problem, which is known
to be NP-hard. The current state-of-the-art algorithms for this problem are
essentially serial in nature and cannot take full advantage (i.e., achieve good
load balance) of the increasingly available multi-core systems to solve a CPO
query. Our proposed parallel algorithm (with its intelligent task-assignment
scheme) achieves both superior solution quality and very low execution times
(via good load balancing). Moreover, our approach is also able to demonstrate
an almost linear speed-up with an increase in the number of cores.
