I am thinking of explaining the topic of Network flow to an audience of computer sciecne students, and I want to make it more enjoyable by giving some real life examples where a software Developer may find Network Flow useful. I want to refrain from using standard problems like Baseball problem, marriage problem, edge disjoint. I need Ideas for such problem which needs to be represented as a graph and then using Network flow we can find the solution.
Network flow has been used for all sorts of interesting and surprising tasks in computer vision and image processing. For instance, it has been used for image segmentation, image stitching, seam carving, image denoising, stereo image correspondence, and more.
See, e.g., https://en.wikipedia.org/wiki/Graph_cuts_in_computer_vision, What's the relationship of max-flow-min-cut and Markov Random Fields?, https://cs.stackexchange.com/a/37423/755, https://en.wikipedia.org/wiki/Image_segmentation#Graph_partitioning_methods