Given the bidirectional graph $G = (V, E)$ where $V$ = set of Vertices, $E$ = set of Edges; given source node $s$ and destination node $t$. Let $A_i$ ($i = 1, 2,\ldots l$) be the subset of vertices which is not necessarily connected. $k$ is also given.
Non-disrupting path definition: One subset can be used only once for all paths. But source and destination can use it all the times.
Q. Does there exist $k$ non-disrupting paths from $s$ to $t$? Which algorithm I can use to solve this problem and how can I do? Can you give any example? Thanks.
For $k=2$ and $A_i = V$ there is a specialized algorithm called Suurballe's algorithm.
For a generic $k$ and $A_i=V$, consider the following single-commodity min-cost network flow problem. On your graph $G$, introduce a capacity vector $U=\{u_{ij}\}$ associated with each edge $(i,j)$. Set each $u_{ij}=1$. Set the cost $c_{ij}$ of traversing an arc $(i,j)$ equal to $1$. Create a commodity with demand $k$ at the destination $t$ and supply $-k$ at the origin $s$. Set up an optimization problem where the goal is to minimize the transportation cost of the commodity, subject to the flow balance constraints at each node and restrict the flow variables to be binary decision variables. Since the capacity is at most $1$, your solution, given by the flow variables corresponding to which arc is used, will consist of $k$ edge-disjoint paths.
For the case when $A_i \subset V$ we tweak $G$ a little. For each node $v \in A_i$ we create a clone $v'$ and create an arc $(v,v')$ with a cost of $0$ and a capacity of $1$ (this ensures that each vertex in $A_i$ is used once during the transportation part). Denote by $V'= A_i \cup \{s\} \cup \{t\} \cup \{ \text{all } v'\} $. Finally, set $E' = \{(i,j)|i \in V' \lor j \in V' \}$, the set of all edges that touch at least one vertex in $A_i$. Now solve the same optimization model as above but on $G'=(V',E')$.