A linear program is the problem of optimizing an linear objective function within some polytope $A$ over the field $\mathbf R$. There are polynomial-time algorithms for solving this problem.

In some cases, there is a linear change of variables that transforms the polytope $A$ into a polytope $B$ which can be solved by min-cost flow, and such that the original polytope $A$ is a linear projection of $B$. 

The min-cost flow polytope can be defined by three classes of constraints:

1. $y_i \geq 0$
2. $y_i \leq u_i$
3. The additional linear constraints are of the form $B' y = v$, where $v$ is a fixed vector and every column of $B'$ contains exactly one $-1$, one $+1$, and the other entries are all zero.

The new variables $y$ correspond to edges in a directed graph. The $u_i$ is the edge capacity. The rows of $B'$ correspond to vertex demands. The columns of $B'$ correspond to the source and destination vertex of each edge. The objective function can be always be realized by an appropriate edge cost.

My question is are ---

under what conditions can a polytope $A$ be transformed by a linear change of variables into a min-cost flow polytope? 

Can this be done effectively? 

Does this require increasing the number of constraints and/or variables by a large amount (in which case leaving it as general LP might be faster)?