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:

  1. The network is a directed and connected network
  2. At least one is a supply node
  3. At least one node is a demand node
  4. All the remaining nodes are transshipment nodes
  5. 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
  6. The network has enough arcs with sufficient capacity to enable all the flow generated at the supply nodes to reach all the demand nodes
  7. The cost of the flow through each arc is proportional to the amount of that flow, where the cost per unit flow is known
  8. 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)

Problem Definition

We consider a directed and connected network where the n nodes include at least one supply node and at least one demand node. The decision variables are:

xij=Flow through arc ij

Known information:

The value of bi depends on the nature of node i:

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:

minimum cost flow problem

MinimizeZ=i=1nj=1ncijxij

subject to

j=1nxijj=1nxji=bi, nodes i

where:

0xijuij arcs ij

Sometimes, it is necessary to have a lower bound constrain in the flow:
Lij>0
If this is the case, the problem can be easily reformulated translating the variables of the quantity Lij:
xij=xijLij
in order to convert the problem back to the form where there is a non negativity constrain

Feasibility necessary condition

feasibility necessary condition

A necessary (but not sufficient) condition for a minimum cost flow problem to have any feasible solutions is that:
i=1nbi=0

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 cij=0.

Integer solution property

integer solution property

For minimum cost flow problems where every bi and uij have integer values, all the basic variables in every basic feasible (BF) solution (including an optimal one) also have integer values.

Example

The network below is given as an example

01.2 - The minimum cost flow problem - From book - MM 2024-10-30 19.01.00.excalidraw.png
%%🖋 Edit in Excalidraw%%

  • 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 uij= except for arcs:

  • AB where uAB=10
  • CE where uCE=80
    these values are lower than the total units produced (90).

If we calculate the total cost we would obtain:
Z=2xAB+4XAC+9xAD+3xBC+xCE+3xDE+2xED
subject to the following constraints:
{xAB+xAC+xAD+0+0+0+0=50xAB+0+0+xBC+0+0+0=400xAC+0xBC+xCE+0+0=00+0xAD+0+0+xDExED=300+0+0+0xCExDE+xED=60
and subject to:
xAB10xCE80xij0i,j

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:

Correspondence between BFS and Feasible Spanning Trees

Given a tree with n nodes, there exists a set of n1 basic variables that make up the basic feasible solution.

|IB|=n1

The n1 arcs are referred to as basic arcs.

The rest of the arcs, with flow xij=0, are referred to as non-basic arcs.

It can be shown that a set of basic arcs always form a spanning tree. Therefore, a spanning tree can be obtained as follows:

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.

fundamental theorem for the network simplex method

The basic solutions are spanning tree solutions (and conversely), and the BFS are solutions for feasible spanning trees (and conversely).