01.2 - The min-cost flow problem - from slides - MM
01.2 - The min-cost flow problem - from slides - MM
A network like the one below is given:
The same network, can also be described through 6 linear equations:
or in matrix form:
Notice how the 6 equations are not linearly indipendent. One equation can be removed as it originates from the others. We same the system is overdetermined.
The flow vector,
Given we have more unknown variables than equations, the solution won't be unique.
Problem definition
The min-cost problem consists in finding the solution, or solutions, that minimize the cost of moving units across a network.
Let:
Node-link incidence matrix flow vector (decision variables) injections/extractions vector lower and upper bounds vectors Is the vector cost: it assigns a cost value to every link
Objective Function:
The problem is:
Subject to:
Usually,
Typically,
Problem solution
Basic Feasible Solution
In a min-cost flow problem, a Basic Feasible Solution is a solution to the problem that follows the following conditions.
- It's a solution
- It's feasible
- Can be split into the following sets...
Set
Let
Moreover, links in
All other links need to go in one of the following sets:
If the problem is unbounded (
If the problem is bounded, we need to split all remaining links in one fo the two sets:
Optimal solution
In order to define a #Condition of optimality we first need to introduce two concepts:
The optimal solution to the The min-cost flow problem can be found through the The SIMPLEX Method
Dual variable
A dual variable is a value
- Choose one node as the root node,
- The value of the dual variable at node
is the difference between the value of the dual variable of the previous node of the spanning tree and the cost of the link from the previous node to
Reduced cost
The reduced cost (
: Adding flow on link won't change the cost in the network : Adding flow on link will increase the cost in the network : Adding flow on link will decrease the cost in the network
The reduced cost can be calculated as:
Condition of optimality
If a solution to the min-cost flow problem is optimal than:
This means that, if one of the conditions above is not met by our solution, we can say that the solution is not optimal.
Finding the optimal solution
Basic feasible solution
Each problem defined as in #Problem definition, has many possible solutions. We are interested in some specific ones, called basic feasible solutions.
Let there be a graphgraph
The solution,
0. It's feasible
- We can build a set,
, so that containing links where the flows in the graph are equal to: constitutes a spanning tree - We put every other null or upper bound flow in other sets,
or
where:
Set of links with null flows: , then Set of links with upper bound flows: , then
or, alternativly, if there is NOT an upper bound, we only have: Set of links with null flows: , then
Given this graph:
We can define
Notice that:
and that the links in
There is no upper bound so we only need
Once we select a spanning tree, we can make an incidence matrix of just the spanning tree. In this case, we'll get:
Notice that the system above is not linearly independent. So, we can remove the last row and we get:
❗❗❗❗❗❗❗❗❗❗❗❗
❗❗❗ COMPLETARE ❗❗❗
❗❗❗❗❗❗❗❗❗❗❗❗
From slide 17 to end of pdf.