Maximum Flow Algorithm in Ocaml
Technologies Used: Ocaml, Dune, Make, Graphviz, GitHub Actions
A Ford–Fulkerson maximum flow implementation, written for the functional programming course. The main loop repeatedly finds an augmenting path, takes its minimum capacity along the way, and accumulates a residual graph - the "wasted potential". Once no augmenting path is left, the flow graph is reconstructed by subtracting the residual from the original capacities.
Graphs are read from plain text files and written back out for Graphviz, so a run can be inspected as an SVG instead of a table of numbers. The implementation deliberately favours readable code over raw efficiency. A GitHub Actions workflow builds it and runs the demo on every push.