Minimum path cover--- Disjointed paths with minimum total number of edges Let $T=(\mathcal{V},\mathcal{E})$ be an udirected acyclic graph and $|\mathcal{V}|=n$. Let $\mathcal{V'}$ be $\mathcal{V'}\subset \mathcal{V}$ where $|\mathcal{V'}|=2m\leq n$. There are $2m \choose 2$ pairs of nodes in the set $\mathcal{V'}$. For each pair of nodes $(w,w')$ in the set $\mathcal{V'}$, there is a unique path form $w$ to $w'$ lets call it $\text{path}(w,w')$ and it contains all the edges in the path of $w,w'$. I would like to find a collection of pairs of nodes of $\mathcal{V'}$, where each node of $\mathcal{V'}$ appears in one pair exactly, thus we have $m$ pairs in total in the final desired collection. Lets call that collection of pairs $F(\mathcal{V'})$, also, $F(\mathcal{V'})$ should be found such that the total number of edges in the paths $\text{path}(w,w')$ is minimum, where $(w,w')\in F(\mathcal{V'}):$$$\min_{F(\mathcal{V'})} \sum_{(w,w')\in F(\mathcal{V'})} |\text{path}(w,w')|. $$ Notice that a necessary condition for the choice of pairs $F(\mathcal{V'})$ is that the paths should be disjointed (have no common edges), otherwise we have a total number of edges greater than the minimum possible.

I would like to know what the algorithm is that finds $F(\mathcal{V'})$ in polynomial time. Is this related to the Hamiltonian cycle problem? My graph is acyclic which should help to get a polynomial time algorithm.  *By disjointed paths I mean paths with no common edges, they may have common vertices. **By minimum path cover I mean the total number of edges in the collection of paths is minimum since the number of paths is always chosen to be $m$.
A Trivial Algorithm

You can compute the lengths of all-pair shortest paths among $\mathcal{V}'$, and solve a minimum perfect matching in a complete graph on $\mathcal{V}'$ where the weight of an edge $(u,v)$ is the length of the shortest path from $u$ to $v$.

A Smarter Algorithm

Consider the connected component containing $\mathcal{V}'$, it must be a tree.

At each step we move the deepest nodes in $\mathcal{V}'$ to their fathers. If two nodes move to the same node, we decide to match them and do not consider them any more in following steps. If more than two nodes move to the same node, repeatedly match arbitrary two of them until no more than one node is left.

This algorithm runs in $O(|\mathcal{E}|)$.