A branch-price-and-cut algorithm for the commodity constrained split delivery vehicle routing problem