Convex Network Optimization

Implementation in Adaptor High Performance Fortran
Aleksandar Donev, working with Dr. Phil Duxbury

Graphs and Networks

Graph: G=(V,E)
Nodes: V={i, i=1..n}, n=|V|
Arcs: E={e(i,j) | i,j in V}, m=|E|

Network: N=(G,C)
Cost functional: C={c(i,j)}
Cost on each arc: c(i,j)(f(i,j))

A few examples of directed and undirected graphs
Fig 1. A few examples of directed and undirected graphs

Min-cost Network Flow Problem

Constraints--Combinatorial (Descrete) Optimization Aspect

Di=Se(i,j)f(i,j)-Se(j,i)f(i,j)+bi=0
Flow conservation: Af=b
Node-arc incidence matrix A:
+1 in row i and -1 in row j for the column corresponding to arc e(i,j)

Minimizing the Cost--Continuous Optimization Aspect

Convex separable total cost:
g(f)=Se(j,i)c(i,j)(f(i,j))
Min-cost network flow problem:
minf g(f) | Af=b

Disordered Physical Systems Modeled as Networks

Graphs

Disordered systems of interest:
A two dimensional grid-based network
Fig 1. A two dimensional grid-based network

Fundamental properties of networks in physics:

Cost

Potential P -- flow f characteristic
Cost function--related to the dissipation of power:
c(f)=Integrate( P(x)dx, x=0..f)
Highly non-linear potential-flow characteristics of certain conducting elements
Fig 2. Highly non-linear potential-flow characteristics of certain conducting elements

Fundamental properties of P(f) (or f(P)):

Numerical Algorithm

The full mathematical definition of the problem:
Large-scale sparse convex separable min-cost network optimization

Studied extensively by: Algorithm: Truncated Dual Newton Method
Newton linear system of equations in x:
Hx=-G
(AH*AT)x=-(ATG*-b)
Conjugate gradient:
  1. Combinatorial optimization aspects contained in A:
  2. Continuous optimization aspects contained in H*

Computational Implementation

We need large computers--parallel distributed computing:
The initial graph connectivity and distribution
Fig 3. Initial labeling and distribution of the graph.
The example was executed on 3 processors and was a 2D grid of size 7x7 with 70% of the arcs present

Steps in algorithm:
  1. Generate a hypercube lattice in 2D or 3D
  2. Randomly dilute some of the arcs with a given probability d
  3. Extract a single pure graph using connected-components labeling algorithm:
  4. Assign random values to arc parameters--disorded systems
  5. Use maximum-flow or shorthest path to find critical total current or potential--more combinatorial optimization
  6. Find a good initial guess for the flow--it helps convergence
  7. Start the Dual Newton Method

Results and Conclusion