01.2 - The minimum cost flow problem - From book - MM
01.2 - The minimum cost flow problem - From book - MM
Link to chapter: Intrudoction to Operations Research - Network Optimization Models, pag 358
Introduction
The minimum cost flow problem is described as:
- The network is a directed and connected network
- At least one is a supply node
- At least one node is a demand node
- All the remaining nodes are transshipment nodes
- Flow through an arc is allowed only in the direction indicated by the arrowhead. The maximum amount of flow is given by the capacity of that arc
- The network has enough arcs with sufficient capacity to enable all the flow generated at the supply nodes to reach all the demand nodes
- The cost of the flow through each arc is proportional to the amount of that flow, where the cost per unit flow is known
- The objective is to minimize the total cost of sending the available supply through the network to satisfy the given demand. (An alternative objective is to maximize the to- tal profit from doing this)
- [?] Are we not using the point number 7 in our definition of the problem?
Problem Definition
We consider a directed and connected network where the
Known information:
cost per unit flow through the arc arc capacity for arc net flow generated at node
The value of
if node is a supply node if node is a demand node if node is a transshipment nodes
Objective: Minimize the total cost os sending the available supply through the network to satisfy the given demand.
The linear programming formulation of this problem is given as:
subject to
where:
total flow out of node total flow into node
and subjet to
Sometimes, it is necessary to have a lower bound constrain in the flow:
If this is the case, the problem can be easily reformulated translating the variables of the quantity
in order to convert the problem back to the form where there is a non negativity constrain
Feasibility necessary condition
A necessary (but not sufficient) condition for a minimum cost flow problem to have any feasible solutions is that:
This means that the total flow generated at the supply nodes equal the total flow being absorbed at the demand nodes.
If the condition is not met, a possible solution is to add a dummy demand node to absorb the excess supply. This node should be connected to the supply nodes with arcs of cost
Integer solution property
For minimum cost flow problems where every
Example
The network below is given as an example
- The number in parenthesis on the arrows are the cost in 100€/unit.
A and B are the supply nodes, while D and E are the demand nodes.
For practical purposes, all
where where
these values are lower than the total units produced (90).
If we calculate the total cost we would obtain:
subject to the following constraints:
and subject to:
Any of the node constraints is redundant, assuming a feasible solution exists.
The Network SIMPLEX method
Pag. 389
The Network SIMPLEX method is a streamlined version of The SIMPLEX Method for solving minimum cost flow problmes. It goes through the same steps:
- Finding the entering basic variable
- Determining the leaving basic variable
- Solving for the new BF solution
in order to move from the current BFS to a better adjacent one.
Correspondence between BFS and Feasible Spanning Trees
Given a tree with
The
The rest of the arcs, with flow
It can be shown that a set of basic arcs always form a spanning tree. Therefore, a spanning tree can be obtained as follows:
- For the arcs NOT in the spanning tree (non-basic arcs), set the corresponding variables
- For the arcs in the spanning tree (basic arcs), solve for the corresponding variables
in the system of linear equations provided by the node constraints
It needs to be mentioned that the solution obtained as such may not be feasible. Therefore, it is necessary to define a feasible spanning tree as one whose solution from the node constraints also satisfies all the other constraints.
The basic solutions are spanning tree solutions (and conversely), and the BFS are solutions for feasible spanning trees (and conversely).