Vertex splitting (source code)

= Vertex splitting

Replace a vertex $v$ by $v_{\rm in},v_{\rm out}$ and an arc between them carrying its vertex capacity. Incoming arcs enter $v_{\rm in}$ and outgoing arcs leave $v_{\rm out}$. A path must cross that internal arc to use the vertex. This converts node-capacitated <maximum flow> to an ordinary <flow network>. For undirected mixed-failure cuts, normalize the source side so $v_{\rm out}$ inside implies $v_{\rm in}$ inside; then each original link contributes at most one crossing orientation.