纪录一下

来源:互联网 发布:空手道俱乐部网络 编辑:程序博客网 时间:2024/04/30 02:34

INITIALIZE-SINGLE-SOURCE(G, s)
1  for each vertex v ∈ V[G]
2       do d[v] ← ∞
3          π[v] ← NIL
4  d[s] 0

RELAX(u, v, w)
1  if d[v] > d[u] + w(u, v)
2     then d[v] ← d[u] + w(u, v)
3          π[v] ← u

BELLMAN-FORD(G, w, s)
1  INITIALIZE-SINGLE-SOURCE(G, s)
2  for i ← 1 to |V[G]| - 1
3       do for each edge (u, v) ∈ E[G]
4              do RELAX(u, v, w)
5  for each edge (u, v) ∈ E[G]
6       do if d[v] > d[u] + w(u, v)
7             then return FALSE
8  return TRUE

转换办法:
Ax ≤ b
V = {v0, v1,..., vn}
and
E = {(vi, vj) : xj - xi ≤ bk is a constraint} ∪{(v0, v1), (v0, v2), (v0, v3),..., (v0, vn)} .