One very applicable concept I discovered are Flow Networks. I believe the best way to think about them is as a graph . In case you don’t know what a graph is: a graph consists of a collection of vertices (often drawn as circles) that may be linked by edges-either directed arrows or undirected line segments. The symbols and denote, respectively, the set of all vertices and the set of all edges of the graph. In Flow Networks there are two vertecies that have a special functionality. The source is where the so called 'flow' comes from. The drain or terminal takes all the flow that comes from the source. Each has a label, as displayed in the picture above. The first number is the amount of flow already flowing through the edge. The other number is the so called capacity.
In the example displayed above it can be verified quickly that the flow is already maximized. For this small Flow Network, maximizing its flow can be done by hand. However such a Maximum Flow can also be calculated efficiently for extremely large networks with potentially thousands or even billions of vertecies and edges (Feel free to look up the Edmonds–Karp algorithm, but keep in mind that real‑world efficiency also depends on the hardware. Moreover, there are algorithms that outperform Edmonds–Karp on large networks). Flow Networks can be used for modelling many things. Some obvious applications are Logistics, Telecommunications Routing or Energy Distribution. But they can also be used for less intuitive Problems e.g. modelling of Interbank Liquidity Networks (yes, oddly specific...) and even to solve Matching Problems.