A Multi-Threading Algorithm for Constrained Path Optimization Problem on Road Networks