Parametric Minimum Cost Flows

There exists a variety of solutions to the minimum cost flow problem. paminco provides solutions to a slighly different problem.

1. Minimum cost flow functions

The goal is to find a minimum cost flow function that maps a demand factor λ to a minimum cost flow:

min C(x)s.t.Γx=h(λ),x0,

where show definitions:

For notational simplicity, we only discuss linear demand functions h(λ)=λb.

1.1 Alpha-beta-approximate minimum cost flow functions

It may not always be (computationally) feasible to compute an exact minimum cost flow function and the function has to be approximated.

Consider an interval [0,λmax], for which we want to find an (α,β)-approximate minimum cost flow function. A function is an (α,β)-approximate minimum cost flow function if the cost of the flow x(λ) exceed the optimal cost at most by a relative factor of α and an absolute error of β:

C~(λ)αC(λ)+β for all λ[0,λmax],

where C~(λ)=C~(x(λ))=eEFe(xe(λ)) denotes the cost of the flow x(λ).

2. Parametric electrial flows

Instead of computing a minimum cost flow x (for a fixed demand) directly, we can compute an optimal potential π which induces a flow:

x=f1(ΓTπ),

where f1 maps an optimal potential to an electrial flow:

f1:ΠRmπf1(π):=(fe1(πwπv))eE.

2.1 Linear marginal cost

Assume that the marginal cost for all edges are linear and of the following form: fe(x)=2ax+b. Then we find a linear function π(λ) and its induced linear electrical flow x(λ):

π(λ)=L(λb+Γd)andx(λ)=CΓTπ(λ)d=CΓTL(λb+Γd)d,

where show definitions:

At a glance

Linear marginal cost result in a linear minimum cost flow function.

Example: linear resistances show / hide

2.2 Piecewise linear marginal costs

The assumption of linear marginal cost restricts the applicability of the algorithm. We now discuss problems with piecewise linear marginal costs:

../_images/fig2a_graph_with_marginal_cost.png
../_images/fig3a_potential_space_and_solution_curve.png
../_images/fig3b_induced_flow.png

The piecewise linear marginal edge cost subdivide the potential space Π into regions. We denote t=(te1,te2,...,tem)T the vector of the indices per edge cost function. Given an optimal potential π, the electrical flow is then:

x=CtΓTπdt=CtΓTLt(b+Γdt)dt

In a region Rt the solution curve is linear. The full solution curve is union of the solution segments Πt and thus a piecewise linear function:

π(R0):={π(λ)λ0}=tT¯Πt.

Furhter, for all regions, there exist numbers λtmin and λtmax:

Πt={πt+λΔπtλ[λtmin,λtmax]}.

Hence, the main challenge lies in finding the correct regions Rt. The Electrial Flow Algorithm (EFA) [WK21] provides a solution for this problem.

Idea behind the Electrial Flow Algorithm

Piecewise linear marginal cost result in a subdivision of the potential space Π. For every region RtΠ, the solution curve is linear. Thus the full solution curve is piecewise linear. The difficulty thus lies in finding the correct sequence of regions.

2.3 Interpolation of cost functions

The EFA algorithm is restricted to piecewise linear marginal cost functions fe and thus minimum cost flow problems with piecewise quadratic cost functions. However, it is possible to approximate continous convex cost functions Fe with piecewise quadratic convex cost functions F~e [Roc84]. The Marginal Cost Approximation (MCA) algorithm builds on that idea and “feeds” the EFA with approximated piecewise linear marginal cost. Hence, MCA calculates an alpha-beta-approximate minimum cost flow function.

See also

MCAInterpolationRule : Criteria for proper approximation of cost functions.

References

WK21

Klimm M, Warode P (2021) “Parametric Computation of Minimum Cost Flows with Piecewise Quadratic Costs.” Mathematics of Operations Research. Available at https://www3.math.tu-berlin.de/disco/research/publications/pdf/KlimmWarode2021.pdf

Roc84

Rockafellar, RT (1984) Network Flows and Monotropic Optimization (John Wiley and Sons, Hoboken, NJ)