All of the above models are special types of network flow problems: they each have a specialized algorithm that can find solutions hundreds of times faster than plain linear programming.
They can all also be seen as examples of a much broader model, the minimum cost network flow model. This model represents the broadest class of problem that can be solved much faster than linear programming while still retaining such nice properties as integrality of solution and appeal of concept.
Like the maximum flow problem, it considers flows in networks with capacities. Like the shortest path problem, it considers a cost for flow through an arc. Like the transportation problem, it allows multiple sources and destinations. In fact, all of these problems can be seen as special cases of the minimum cost flow problem.
Consider a directed network with n nodes. The decision variables
are , the flow through arc (i,j). The given
information includes:
Note that for this model, it is not necessary that every arc exists. We will use the convention that summations are only taken over arcs that exist. The linear programming formulation for this problem is:
Again, we will assume that the network is balanced, so , since dummies can be added as needed.
We also still have a nice integrality property. If all the
and
are integral, then the resulting solution to the linear
program is also integral.
Minimum cost network flows are solved by a variation of the simplex algorithm and can be solved more than 100 times faster than equivalently sized linear programs. From a modeling point of view, it is most important to know the sort of things that can and cannot be modeled in a single network flow problem:
Note that although these cannot be done in a single network, it may be possible to use the solutions to multiple networks to give you an answer. For instance, if there is only one arc with a fixed cost, you can solve both with and without the arc to see if it is advantageous to pay the fixed cost.