Revisiting nodes is required. The state is $(u, \text{mask})$ where $u$ is the active vertex and $\text{mask}$ represents visited nodes. Seed all $n$ nodes simultaneously into BFS to find the global minimum path.
"Any node in the graph could serve as the optimal starting point. Therefore, we seed all $N$ nodes into our BFS queue simultaneously at step 0 with their respective initial bitmasks $(1 \ll i)$."
"Because we are permitted to revisit nodes and edges, the state must pair the current vertex $u$ with the set of all vertices visited so far, represented as a bitmask."
"When we pop a state where $\text{mask} == (1 \ll N) - 1$, all $N$ nodes have been covered. Because BFS proceeds level by level, this first occurrence is guaranteed to be the shortest path."
"There are $N \cdot 2^N$ total states. For $N \le 12$, $12 \cdot 4096 \approx 49,152$ states. Each state transitions to its neighbors in $O(1)$ time, yielding $O(N^2 \cdot 2^N)$ total runtime."