Given a graph G: (V, E, w), initial vertex a, and goal vertex z, find the length of the shortest path between a and z. The shortest path is given by a labeling of each vertex v by L, L(v), satisfying the following constraints: In other words, One way of solving this system of constraints for L(z) is via linear programming:
maximize L(z)
subject to
    L(a) = 0
  & for all {u, v} in E, L(u) <= L(v) + w(u, v)
Maximizing L(z) at the same time that each vertex's L-value is upper bounded has the same effect as using min. Dijkstra's algorithm essentially solves this particular form of linear program. Each iteration improves the estimate of lengths.