Using dual solution and max flow algorithm to find min cost flow

In summary: Your Name]In summary, the problem involves a directed graph with edge capacities, costs, and node balances. The objective is to maximize the sum of edge costs multiplied by the flow on each edge, subject to constraints on the flow and node balances. The dual problem involves finding optimal values for the dual variables and using them to obtain the minimum cost flow in the primal problem. The complementary slackness conditions can be used to determine the flow values for edges with zero reduced costs.
  • #1
TaPaKaH
54
0

Homework Statement


For directed graph ##G=(V,E)## with edge capacities ##w:E\to\mathbb{R}^+##, edge costs ##c:E\to\mathbb{R}^+## and node balances ##b:V\to\mathbb{R}##, let
$$\begin{array}{llr}\max & \sum_{e\in V}c(e)f(e) \\ \text{s.t.} & \sum_{(u,v)\in E}f(u,v)-\sum_{(v,u)\in E}f(v,u)=b(u) & \text{for all }u\in V \\ & 0\leq f(e)\leq w(e) & \text{for all }e\in E\end{array}$$ be the min.cost flow problem with dual
$$\begin{array}{llr}\max & \sum_{u\in V}b(u)\pi(u)-\sum_{e\in E}w(e)a(e) \\ \text{s.t.} & \pi(u)-\pi(v)-a(u,v)\leq c(u,v) & \text{for all }(u,v)\in E \\ & a(e)\geq0 & \text{for all }e\in E.\end{array}$$
Given solution of the dual problem, obtain the min cost flow ##f## to primal by solving the max flow problem.

3. Attempt at a solution.
Let ##\pi##, ##a## be dual optimal values.
For reduced costs ##c^\pi:E\to\mathbb{R}## defined as ##c^\pi(u,v)=c(u,v)+\pi(v)-\pi(u)## we have ##a(e)=\max\{0,-c^\pi(e)\}## so by complementary slackness
$$\begin{cases}f(e)(c^\pi(e)+a(e))=0\\a(e)(w(e)-f(e))=0\end{cases}\quad\text{for all }e\in E$$we get
##c^\pi(e)<0 \Rightarrow f(e)=w(e)##
##c^\pi(e)>0 \Rightarrow f(e)=0##.
I guess I have to figure out what to with edges, for which ##c^\pi(e)=0## but I can't see any modification of ##G## such that solving max flow on it will yield a min cost flow on ##G##.
 
Physics news on Phys.org
  • #2


Thank you for your post. It seems like you are on the right track with your solution attempt. To answer your question about edges with ##c^\pi(e)=0##, you can simply set the corresponding flow values ##f(e)## to be any value between ##0## and ##w(e)##. This does not affect the objective function and still satisfies the constraints, so it is a valid solution to the primal problem.

Additionally, I would suggest adding some more explanation to your solution, specifically about how you arrived at the complementary slackness conditions and how they relate to the primal and dual problems.

I hope this helps and good luck with your research!


 

FAQ: Using dual solution and max flow algorithm to find min cost flow

What is a dual solution in the context of min cost flow?

A dual solution in min cost flow refers to a set of values assigned to the constraints of the problem, which can be used to determine the minimum cost flow. These values represent the cost of increasing the flow along each constraint, and they can be calculated using the dual simplex algorithm.

How does the max flow algorithm help in finding the min cost flow?

The max flow algorithm is used in conjunction with the dual solution to find the minimum cost flow. It works by finding the maximum flow that can be sent from the source to the sink while satisfying the constraints of the problem. This maximum flow is then used to calculate the minimum cost flow by multiplying it with the values of the dual solution.

What are the advantages of using the dual solution and max flow algorithm for finding min cost flow?

One advantage is that it guarantees finding the optimal solution for the min cost flow problem. It is also more efficient than other methods, as it reduces the problem to a simpler form that can be solved using well-known algorithms. Additionally, it allows for the incorporation of multiple constraints in the problem.

Are there any limitations to using the dual solution and max flow algorithm for min cost flow?

One limitation is that it assumes all costs are linear and does not take into account any non-linear costs. It also requires a strong feasible solution to start with, which may not always be readily available. Moreover, the algorithm may not work well for problems with a large number of constraints.

How can the results of the dual solution and max flow algorithm be interpreted?

The values of the dual solution represent the cost of increasing the flow along each constraint. A higher value indicates a higher cost, thus helping to identify the most expensive constraints. The minimum cost flow is then calculated by multiplying the maximum flow found by the max flow algorithm with these values. This gives the minimum cost required to satisfy all constraints of the problem.

Back
Top