A linear forest is a kind of forest formed from the disjoint union of path graphs. The linear arboricity of a graph is the minimum number of linear forests into which the graph can be partitioned. For example, for a grid the linear arboricity is two, and the two forests are the horizontal and vertical chains.
I'm looking for an (approximative or greedy) algorithm to find such a minimal partitioning for a general graph.
Update: equally interesting would be a method to construct a "balanced" linear forest covering of the edges of a graph in the sense that each path in every forest has approximately the same length.