Given a graph with a source and a sink node, the NP-hard
maximum k-splittable s,t-flow (MkSF) problem is to find a flow of
maximum value from s to t with a flow decomposition using at most k
paths. The multicommodity variant of this problem is a natural
generalization of disjoint paths and unsplittable flow
problems. Constructing a k-splittable flow requires two
interdepending decisions. One has to decide on k paths (routing) and
on the flow values on these paths (packing). We give efficient
algorithms for computing exact and approximate solutions by
decoupling the two decisions into a first packing step and a second
routing step. Our main contributions are as follows: (i) We show
that for constant k a polynomial number of packing alternatives
containing at least one packing used by an optimal MkSF solution can
be constructed in polynomial time. If k is part of the input, we
obtain a slightly weaker result. In this case we can guarantee that,
for any fixed epsilon>0, the computed set of alternatives contains a
packing used by a (1-epsilon)-approximate solution. The latter
result is based on the observation that (1-epsilon)-approximate
flows only require constantly many different flow values. We believe
that this observation is of interest in its own right. (ii)Based on
(i), we prove that, for constant k, the MkSF problem can be solved
in polynomial time on graphs of bounded treewidth. If k is part of
the input, this problem is still NP-hard and we present a polynomial
time approximation scheme for it.