Originally posted by: SystemAdmin
The sub problem would probably be solved as usual as a linear program. The question is how you would solve your pricing problem.
Branching on a single arc is often not such a good idea in branch-and-price network flow problems. The reason is that often the pricing problem is a shortest path problem. When you now branch on an arc, you need to introduce this branching into the pricing problem. In the down branch (forbid all paths that use the arc) this is not a problem: just remove the arc from the graph and solve a shortest path problem in the reduced graph. But in the up branch (only paths are allowed that use this arc) the pricing problem becomes (as far as I know) exponential in the number of arcs that you have fixed.
For this reason, people often use something like Ryan-Foster branching. If you have a constraint that you have to use exactly one incoming (or outgoing) arc for each node, then you can branch on the set of incoming (outgoing) arcs. Split the set into two subsets S1 and S2 such that the sum of LP values in S1 is fractional (and hence also in S2, since the sum of the two will always be 1), and in the left child fix all S1 arcs to zero, while in the right branch fix all S2 arcs to zero. This gives a branching split that keeps the easy shortest path pricing problem in both subproblems.
Tobias
#CPLEXOptimizers#DecisionOptimization