## 1 Introduction  
The shortest path problem is a fundamental issue in graph theory, with various types. Depending on whether there are constraints, it can be categorized into unconstrained and constrained shortest path problems. For instance, the Vehicle Routing Problem (VPR) is a typical example of a constrained shortest path problem [1]. Based on the number of objectives, it can be divided into single-objective and multi-objective shortest path problems. The Traveling Salesman Problem is a classic example of a multi-objective shortest path problem [2]. Additionally, based on whether the constraints change, it can be classified as static or dynamic shortest path problems, among others. The concept of the shortest path is not limited to physical distance; it can also apply to any quantifiable weight, such as time or cost. In practical applications, many problems can be transformed into shortest path problems for solution. In path planning, the length of a path is typically the most critical metric, as it directly impacts the cost associated with the path. In general, a shorter path also has fewer waypoints and turns, because the line segments directly connecting the waypoints are the shortest, which means the path is smoother. In robot or vehicle path planning, paths with fewer turns generally consume less energy [3]. Therefore, finding a shorter, collision-free path is a significant challenge. Currently, algorithms for solving the shortest path problem can be broadly categorized into classical path algorithms and heuristic path algorithms. Classical path algorithms are primarily used to address small-scale deterministic problems, such as Breadth-First Search (BFS), Dijkstra [4], and Depth-First Search (DFS). These algorithms excel in solving problems with a unique optimal solution. Heuristic path algorithms, on the other hand, are more commonly used to tackle large-scale complex problems, including Genetic Algorithms (GA) [5], Ant Colony Optimization (ACO) [6], and Particle Swarm Optimization (PSO) [7]. These algorithms are particularly effective in solving problems with multiple constraints and multi-objective issues [8]. Heuristic algorithms can also be classified into several types based on their principles: population-based algorithms, physics-based algorithms, and evolutionary algorithms [9; 10; 11]. In recent years, research on the shortest path problem has been prolific. For example, [PERSON]. [12] models real-world problems as weighted time path graphs and proposes a graph transformation technique based on BFS and [PERSON]'s algorithm to study the shortest time paths in these graphs. [PERSON]. [13] utilizes the strategy of [PERSON]'s algorithm to propose a baseline algorithm, which combines the lower bound of the shortest path and the lower bound of the multi-path to develop a framework for solving the K shortest path problem, capable of identifying the first k distinct shortest paths in a directed weighted graph. [PERSON]. [14] introduces a novel genetic algorithm to address the clustering shortest path tree problem (CluSPTP) and tests it on both Euclidean and non-Euclidean instance sets. [PERSON]. [15] proposes an improved distance-based ant colony optimization path (IDBACOR), incorporating direction information into the pheromone update process and adding a speed factor to the probability calculation, guiding ants to move towards the target point as much as possible, thereby solving the shortest path problem in transportation networks. However, in the context of two-dimensional obstacle grid maps, some existing algorithms struggle to find optimal solutions. Classic pathfinding algorithms, such as BFS and Dijkstra, are limited to searching in four or eight directions, which means they do not always find the true shortest path (TSP) but rather the shortest grid path (SGP) [16; 17]. The second chapter of this paper explains the differences between these two types of paths.