```! Max Flow (dual of Min cut) problem; ! Given a network, e.g., a railroad network, where each arc (i,j) has a capacity c(i,j), and a source node and a sink, find the maximum possible flow from the source to the sink; ! References: Ford and Fulkerson, Harris and Ross; ! Keywords: Min cut, Max flow, Network, Interdiction; SETS: NODE; ARC( NODE, NODE): C, FLO; ENDSETSDATA: NODE = S 1 2 3 4 5 6 7 8 9 T; ! The arcs and their capacities; ARC, C = S 1 23 S 2 29 1 3 6 1 4 9 2 3 19 3 4 9 3 5 17 4 6 11 4 7 13 5 6 8 5 8 7 6 7 12 6 9 14 6 T 6 7 T 21 8 9 15 9 T 16; ENDDATA ! Variables: FLO(i,j) = flow from node i to node j; ! Get number of nodes in network; NODET = @SIZE( NODE); ! Maximize flow out of S ; MAX = @SUM( ARC(i,j) | i #EQ# 1: FLO(i,j)); ! Conservation of flow at each intermediate nodes; @FOR( NODE( k) | k #GT# 1 #AND# k #LT# NODET: [Y] @SUM( ARC(i,k): FLO(i,k)) = @SUM( ARC(k,j): FLO(k,j)); ); ! Flow out of 1/S = Flow into NODET/T; [Y1] @SUM( ARC(k,j) | k #EQ# 1: FLO(k,j)) =@SUM( ARC(i,k) | k #EQ# NODET: FLO(i,k)); ! Upper limit on flow on each arc; @FOR( ARC(i,j): [Z] FLO(i,j) <= C(i,j); ); ```