326 5. Polynomial Matrix and Valuated Matroid
Proof. First note that the graph
˜
G
(M,B
+
,B
−
)
does not depend on w nor on
ω
±
, except for the arc length. By Theorem 2.3.33 it suffices to prove the
claim that there exists a directed path from s
+
to s
−
in
˜
G
(M,B
+
,B
−
)
if and
only if there exists a directed path from S
+
to S
−
in the auxiliary graph
˜
G
M
of §2.3.5. This claim follows from general facts (i) and (ii) below valid for
I ⊆ B ∈Bin a matroid (V, I, B, cl):
(i) For v ∈ V \ B: v ∈ cl(I) ⇐⇒ ∃u ∈ B \ I : B −u + v ∈B,
(ii) For u ∈ I,v ∈ cl(I) \ I: I − u + v ∈I ⇐⇒ B − u + v ∈B.
Suppose that (M, B
+
,B
−
) is optimal for VIAP(k), and that VIAP(k +1)
is feasible. It follows from Lemma 5.2.61 that there is a (directed) path in
˜
G
(M,B
+
,B
−
)
from the source s
+
to the sink s
−
, and from Theorem 5.2.47 that
there is a shortest path from s
+
to s
−
with respect to γ. Then the following
theorem holds true (Murota [225]).
Theorem 5.2.62. Let (M, B
+
,B
−
) be optimal for VIAP(k) and P be a
shortest path, from the source s
+
to the sink s
−
in
˜
G
(M,B
+
,B
−
)
, having the
smallest number of arcs. Then (
M,B
+
, B
−
) defined by
M =(M \{a ∈ M | a ∈ P ∩ M
◦
}) ∪ (P ∩ A
◦
), (5.80)
B
+
=(B
+
\{∂
+
a | a ∈ P ∩ A
+
}) ∪{∂
−
a | a ∈ P ∩ A
+
}, (5.81)
B
−
=(B
−
\{∂
−
a | a ∈ P ∩ A
−
}) ∪{∂
+
a | a ∈ P ∩ A
−
} (5.82)
is optimal for VIAP(k +1).
Proof. The proof is given later.
With this theorem, we obtain the following algorithm of augmenting type
that solves VIAP(k)fork =0, 1, 2, ···. At the beginning of the algorithm we
set M = ∅ and find a maximum-weight base B
+
of M
+
with respect to ω
+
and a maximum-weight base B
−
of M
−
with respect to ω
−
. Obviously this
choice gives the optimal solution to VIAP(0).
Augmenting algorithm (outline)
Starting from the empty matching M and maximum-weight bases
B
+
and B
−
of M
+
and M
−
with respect to ω
+
and ω
−
, repeat
(i)–(ii) below for k =0, 1, 2, ···:
(i) Find a shortest path P having the smallest number of arcs
from s
+
to s
−
in
˜
G
(M,B
+
,B
−
)
with respect to the arc length
γ
(M,B
+
,B
−
)
.
[Stop if there is no path from s
+
to s
−
.]
(ii) Update (M,B
+
,B
−
)to(M,B
+
, B
−
) by (5.80), (5.81), (5.82).
Remark 5.2.63. The above algorithm is a natural extension of the primal-
dual algorithm for the ordinary independent assignment problem and the
weighted matroid intersection problem due to Iri–Tomizawa [133] and Lawler
[170, 171] (see also Frank [76]). 2