Document 11057618

advertisement
^SKCHC^^^.^
HD28
a/0.
Inverse Spanning Tree Problems:
Formulations and Algorithms
by
P.T. Sokkalingam
Ravindra K. Ahuja
James B. Orlin
WP #3890-96
April 1996
MASSACHUSETTS INSTITUTE
«-r>' -
-
APR
1
1
.-v
1996
Llfci->Artlt5>
INVERSE SPANNING TREE PROBLEMS:
FORMULATIONS AND ALGORITHMS
p. T. Sokkalingam
Department of Mathematics
Indian Institute of Technology,
Kanpur-208 016, INDIA
Ravindra K. Ahuja
& Management Engg.
Indian Institute of Technology,
Dept. of Industrial
Kanpur-208 016, INDIA
James B. Orlin
Sloan School of Management,
Massachusetts Institute of Technology,
Cambridge,
MA 02139, USA
(Revised March 26, 1996)
INVERSE SPANNING TREE PROBLEMS:
FORMULATIONS AND ALGORITHMS
p. T.
Sokkalingam
,
Ravindra K. Ahuja
,
and James
B. Orlin
ABSTRACT
Given
a solution x*
and an
a priori estimated cost vector
identify another cost vector d so that x*
from
c is
minimum.
m
the rectilinear distance
arcs,
the inverse spanning tree
(that
is,
L, norm).
We
problem can be formulated as the dual of an assignment problem on
-
n +
1),
problem,
and lA
we
I
= 0(nm).
x N^.
bipartite
In general, IN
is
to
I
network
< < IN
I.
network
G
spanning
= (N
property that IN^l = (n
=
defined by
is
that the inverse
a bipartite
satisfies the
Using
show
and d
c
G
- 1),
this special structure of the
,
A
tree
)
with
IN^I
= (m
assignment
develop a specific implementation of the successive shortest path algorithm that solves the
inverse spanning tree problem in
tree
The
problem
problem on an undirected graph
and where the deviation between
between the two vectors
N° = N^ u N^ and A° c N^
the inverse optimization
optimal with respect to the cost vector d and the deviation of d
we consider
In this paper,
A) with n nodes and
(N,
is
c,
0(n
)
time.
problem where we minimize the sum
We also consider the weighted version of the inverse spanning
of the
weighted deviations of arcs and show that
formulated as the dual of the transportation problem.
problem can be solved
in
0(n
m
iog(nC)),
it
Using a cost scaling algorithm, the transportation
where C denotes the
largest arc cost in the data.
consider a minimax version of the inverse spanning tree problem and
show
that
it
Finally,
Dept. of Industrial
Institute of Technology,
& Management Engg.,
Kanpur
-
208 106,
Indian Institute of Technology,
INDIA
Kanpur - 208
Sloan School of Management, Massachusetts Institute of Technology, Cambridge,
we
can be solved in 0(n
time.
Department of Mathematics, Indian
can be
106,
INDIA
MA 02139, USA
)
1.
INTRODUCTION
Let
X denote the set of feasible solutions of an optimization problem.
X and
x e
all
inverse optimization problem
with respect
paper,
we
to identify another cost vector
such that the deviation of d from c
is
minimum. Roughly speaking,
the
nearest to a specified cost vector c
and
is to
identify a cost vector
between the cost
d which
is
an optimal solution of the optimization problem.
x* is
minimum spanning
study inverse
problems using three different ways
tree
to
measure deviations
vectors.
To our knowledge,
capacitated plan location problem.
optimization, although
was
it
anticipated
by Everett
Inverse network optimization problems were
first
Bitran et
[1963]
al.
for the
introduced the concept of inverse
and by the
literature in
numerical analysis.
studied by Burton and Toint [1992, 1994]. They studied the
inverse multiple-source shortest path problem with deviation between two vectors c and d measured
L2 norm. They show applications of these problem
a nonlinear
d so
In this
Chandru, Sempolinski and Shapiro [1981] studied the inverse optimization
Bitran,
X and
is
the inverse optimization
c,
which the given solution
to
a solution x* e
problem
an a priori estimated cost vector
that dx* < dx for
Given
programming algorithm
to solve the
in traffic
modeling and seismic tomography, and suggest
problem. Inverse
and L^ norms have been studied by Sokkalingam
[1995].
by the
To
minimum
problems with Li Lo
cost flow
,
the best of our understanding, prior to tlus
research no one has studied the inverse spaiming tiee problems.
Inverse optimization
is
an alternative approach
to
measure deviation from optimality.
than measuring the distance of a solution x* from optimality by comparing
objective value to the
data so that x*
optimum? This inverse perspective
is
measurement
optimum, one poses the following question:
which
error,
advantage that
is
by
We
1 unit.
minimum
One
cost flow
in the usual sense, but
minimum
definition of e-optimality
problem
when
of special interest
it
also note that the concept of e-optimality,
Goldberg-Tarjan [1987] algorithm for the
optimization.
How much would one need to perturb the
if it is
the cost data
is
subject to
changes Ln the cost data. Changing a cost coefficient by one unit can
have a major impact in deviation from optimality
objective function
objective value to the
Also, the inverse optimization objective has the
typically the case.
is less sensitive to
it
is
its
Rather
is
can only increase the inverse
which
cost flow problem,
is
the following: a solution x*
possible to perturb each cost coefficient
by
at
is
a critical aspect of the
closely related to inverse
is
called e-optimal for the
most
e so that x* is optimal
for the perturbed problem.
In this paper,
with n nodes,
m arcs,
rectilinear distance
we
first
and
in
study the inverse spanning tree problem in an undirected graph
which the deviation between two
between the two
vectors.
We show
arc cost vectors c
that the inverse
and d
sparming
formulated as the dual of an assignment problem on a bipartite graph with G° = (N^,
N^ and A° c N^
x N^,
The
bipartite
network G°
satisfies tiie
property that IN^I = (n
is
tree
A*^)
- 1),
G
= (N, A)
defined by the
problem can be
with
IN^I
N^
= (m
-
= N^
u
n +
1),
=
Often, n < < m; hence IN
< < IN
Such an assignment problem
and
lA^I
We
develop a specific implementation of the well known successive shortest path algorithm
O(njTi).
G
assignment problem on
This running time
often
is
which obtains
much
I
/
a shortest path in
0(IA
better than the running time of
the assignment problem,
The resulting algorithm solves
an amortized
I),
(that
which
is,
is
is
called unbalanced.
for the
average) time of O(n^).
number
the
and hence the inverse spanning
of arcs in G^.
tree
problem
in
O(n^) time.
Next we consider the weighted version of the inverse spanning
between two cost vectors
We show
G
and d
is
and can be solved by
we
Finally,
largest arc cost.
This paper
which the deviation
problem can be formulated
tree
m log(nC)) time, where C denotes the
0(n
a cost scaling algorithm in
as the dual of a transportation
consider the minimax version of the iriverse spanning tree problem and
minimax inverse spanning
that the
in
defined by the weighted rectilinear distance between the two vectors.
weighted spanning
that the
problem on
c
problem
tree
tree
problem can be solved
in
0(n
)
time.
organized as follows. Section 2 shows that the inverse sparuiing tree problem
is
show
is
the
dual of an unbalanced assignment problem. Section 3 describes an algorithm for the assigiunent problem and
shows how
an optimal solution of the inverse spanning
to obtain
2.
problem from the optimal solution of
and Section 5
Section 4 considers the weighted inverse sparining tree problem,
the assignment problem.
studies the
tree
minimax version
of the inverse spanning tree problem.
TRANSFORMATION TO THE ASSIGNMENT PROBLEM
we show
In this section,
problem. In
placing a bar on
and
m
=
G
lAI.
it,
[1993],
that
We assume
a
assume without any
(a^^,
arc cost vector
a^^^,
problem can be transformed
follow the network notation given in the
We
refer the reader to the same.
that
N
=
|1, 2,
tree
T
...
,
of
n),
G
and
A=
and an
la^, aj,
if
The data
arc cost vector c with
Cj
We refer
objective in the inverse spanning tree
T
is
spanning
,
optimal with respect to d and
tree
T
,
there
on the path
is
a
in
unique
tree
only
if
^^.a)-
2^
j
ICj -
d-l is
arc set A.
T
to the arcs in
is
the
a
a^.
We
as tree arcs
and
problem
is
to find
an
minimum.
path between any two nodes;
T connecting
Let n = INI
denoting the cost of arc
The
cind
book of Ahuja,
of the inverse spanning tree
as nontree arcs.
a^^^)
...
example, Ahuja, Magnanti and Orlin [1993]) that T
d
a^}.
,
and the
(a^, aj,
set p. the indices of the tree arcs
arc cost vector
...
N
set
T =
that
an assigrxment
denote the complement of any set S by
loss of generality that
,
to
by S
spemning
...
d such
In the given
(see, for
tree
= (N, A) be an undirected network consisting of the node
problem consists of
the arcs in
is,
and
spanning
we
this section, as well as elsewhere,
Magnanti and Orlin
Let
that the inverse
two endpoints of
arc
minimum spanning
a-.
tree
we
denote by the
It is
well
known
with respect to the
,
,
dj
<
each
dj for
e
i
and
P-
for each
The inverse spanning
Consider the sparming tree T
If it is,
then d = c
is
=
n,
... ,
m.
(1)
problem can alternatively be conceived
tree
The
.
j
T may
tree
or
may
not be optimal with respect to the given cost vector
the desired cost vector with zero objective function value.
by a so
the given cost vector c
T
that
optimal with respect to
is
manner.
in the following
(c
If
+ a) and Z,
not, then
^
la-l is
we must
c.
perturb
minimum. This
observation allows us to formulate the inverse spaiming tree problem as the following mathematical
"
program:
Minimize
2^
(2a)
la-l
-J
subject to
Cj
+
a-
<
+
Cj
each
a- for
a- is unrestricted for
Property
j
i
e
each
j
P-
=
and
1, 2,
...
n,
...
m
,
(2b)
m.
,
a
There exists an optimal solution
1.
each j =
for
(2c)
of (2) in which a-
< Ofor
each
i
=
1
to (n-1)
and a- >
for each
= nto m.
Proof. Observe that
in (2b)
>
if a-
for
some
and without worsening the
1
i,
<
i
<
(n-1),
then
we
can
set aj
=
without violating any conditions
objective function value (2a). This establishes the
first
claim.
A
similar
argument establishes the second claim.
Using Property
1,
we
obtain the following equivalent formulation of the inverse sparming tree
problem:
„(n-l)
-,m
Minimize
^=n
-
«j
(3a)
^i=l «i
subject to
c-
ocj
We now
in (3b) in a
with
for
a-
<
c-
c-
a- for
for each
c-
i
=
(3)
1
each
i
e P-
to (n-1),
and for each =
j
and
a-
>
for
N^ =
an arc
n,
...
,
m
(3b)
each j = n to m.
(3c)
using the concept of Path Graph, which allows us to express the constraints
suitable for manipulation.
satisfies
a'' contains
<
+
reformulate
N° = N^ u N^
which
<
marmer more
Observe that
j)
+
(1, 2,
(i, j)
...
,
(n-1)),
The path graph, which we denote by
N^ =
{n,
n+1,
for every inequality in (3b).
because any vector a satisfying
(3c) will
...
,
m), and
A° =
{(i, j)
:
i
e
G
=
Pj,
(IST,
n <
(We may, however, exclude those
automatically satisfy
c-
+ a- <
C:
+
a-.)
j
A
)
< m}.
arcs
(i,
We will
we
also like to restate (3) in the maximization form;
can do
modified formulation of the inverse spanning tree problem
Z
Maximize
,
a-
Z
-
by maximizing the negative of
it
(3a).
The
as follows:
is
, a-
(4a)
subject to
ttj -
O:
where
f-
<
=
<
a;
f
for
jj
for each
each arc
node i e
for each arc
c- - Cj
associated dual.
If
we
N
(i, j)
(i, j)
e A°,
and
a-
e
A
>
(4b)
each node
for
The formulation
.
associate the dual variable
x--
N
e
j
(4c)
,
(4) is a linear
with the arc
(i, j)
programming problem and has an
in (4b), then the dual of (4) can
be
stated as follows:
Minimized
(5a)
nf;;X::
(i,j)eA° •) 'J
subject to
^|j.(i,j)6A0l
-
^
'^ij
'^(i:(i,j)eAO)
-
-1
''ij
for
each node
€
N^
(5b)
for
each node j e
N^
(5c)
€ A°.
(5d)
>
Xjj
The formulation
(5) is a
for each arc
variant of the well
i
(i, j)
known assignment problem.
problem, the constraints (5b) and
IN
3.
I
< < IN
I.
We
(5c) are in equality
= IN
In
I.
our variant,
it is
possible that
SOLVING THE ASSIGNMENT PROBLEM
an unbalanced assignment problem on
N
I
refer to the formulation (5) as the unbalanced assignment problem.
We have shown in Section 2 that the
I
form and IN
In the standard assignment
n
1
I
.
In this section,
fact that
INI
dense network
< <
G
we
INI
(that
develop
m
= Q{n
is
problem can be transformed
tree
uN A
,
to solve the
in
0(n'
),
where generally
INI
to
< <
assignment problem, using the
)
time.
We
point out that for a
'\
9
)),
the
network
at
G may
each arc
contain as
at least one,
many
as ti(n
our 0(n'
)
)
arcs.
Since any
algorithm for solving
an optimal algorithm for some classes of network G.
Consider any feasible assignment x of
which
= (N
purpose algorithm
algorithm for the assignment problem must look
the assignment problem
G
speedup. The algorithm runs
to obtain a
is,
network
a bipartite
a special
minimum spanning
inverse
satisfy the constraints (5b) or (5c)
(5)
which
is
a 0-1 vector.
For this assignment, the nodes
with equality are called matched nodes, and unmatched nodes
matter of
INI
Often
otherwise.
fact, in a
<
INI, and most nodes
minimum cost assigrmient,
it is
N
in
are not be
matched
some nodes
possible that
in
in
an optimal assignment. As a
N
are not matched.
We can transform the unbalanced assigrmient problem (5) on G = (N u N A into a minimum cost
flow problem in the following manner. We introduce a source node s with supply b(s) = n, and add an arc (s,
)
,
for each
i)
and add an
and
u.
(i, j)
6
I
a'
I
arc
with cost
(j, t)
for each
and capacity
N
e
j
Observe that
= (m+2) and m' = 0(nm).
n'
There
the cost of the
is
flow on arc
(s, t)
We
problem
e
A^ with
x- =
to satisfy the
G
1,
we
.
1
to zero.
b(t)
with
t)
n'
is
.
G
,
on these nodes gives
a
G' and feasible assignments
in
G
having the same
s
and t and the
known
The successive
arcs incident
Now consider a feasible assignment x in G
cost.
send one unit of flow on arcs in
s
and
(s, i)
and
(j, t).
Then we send
t.
successive shortest path algorithm to solve the
Magnanti and Orlin
minimum
cost flow
[1993] for a detailed description of this
shortest path algorithm maintains a primal infeasible flow x
and
a dual
n satisfying the following optimality conditions:
Ifx..
= 0,thenfj>0,
(6b)
(iii)
IfXij
= Uij,then^<0,
(6c)
fjj - 7:(i)
+
7t(j).
The successive
together with x =
T:(i)
=
shortest path algorithm starts with x =
satisfies the
min{fj.
:
(i, j)
optimaUty conditions given in
e A^) for
all
i
e N-^,
and
7i(s)
(6).
and requires
It is
= min{7i(i)
:
i
e N-^)
by augmenting unit flow along
node
with respect to the flow
in the residual
network
computed with respect
to the
G'(x) defined
x.
network
reduced costs f^ which are always nonnegative.
G'(x) with respect to the arc costs
if-
s,
is
7r(j)
n which
=
for all
j
one such solution. The
shortest paths
from node
s to
In general, the shortest paths are
shortest path algorithm consists of determining shortest path distances d(i)'s
in the residual
a dual solution
easy to verify that
successive shortest path algorithm proceeds
t
.
sufficient
(ii)
e N^u(t),
=
The following property estabUshes
i.
(6a)
=
,
a bipartite
If0<xjj<ujj,thenfj=0,
fJJ
f
-n,
= INI and m' =
(i)
where
=
We set the capacity of each arc
Also observe that similar to G^, G' too
emanating from node
with
We also add an arc (s,
.
denote the resulting network. Let
Ehminating nodes
in G' (see, for example, Ahuja,
feasible solution
N
e
supply /demand constraints of nodes
can use the well
algorithm).
i
=
t
flows and assignments are the same.
solution of the assignment problem in
(i, j)
node
u-^
introduce a sink node
a one-to-one correspondence between feasible flows in
Proof. Consider a feasible flow x in
For each arc
and capacity
A)
we
Similarly,
1.
mirumum cost flow problem in G and the assignment problem in G
a cormection between the
2.
=
of each
Let G' = (N',
f--.
We denote by A'(i) th^ set of arc in A
Property
u^-
with cost fj =
to n; the cost of this arc is
network.
and
=
f
We set the supply /demand b(i)
= (n+1).
A
.
N
e
i
An
iteration of the successive
from node
s to all
updating node potentials as
Ji
other nodes
=
7t -
d,
and
augmenting unit flow along the shortest path from noc'e
augmentations, the arc
(s, t)
become
will
the shortest path from
terminate after augmenting flow on this arc. (Observe that arc
b(s)
=
n,
(ii)
I
N
=
1
(n-1),
have positive flow on the arc
of the
minimum cost
Property
(s, t).
satisfies
=
and
=
(b)
For each arc
(s, i), if x^-
(c)
For some arc
(j, t),
Proof.
We
then
it
n(t)
which implies
7i(i)
>
establishing part
tree
7t(j)
>
problem.
It
<
<
(i)
Uj:, it
a
is
(7)
x- =
^ieNl
Since
which implies
0.
(b).
«,
0.
then Mj) <0.
(a)
7t(i)
<
K(t)
=
of the property.
0.
=
If x^^
it
<
Since
0.
0,
Next consider part
then
0,
>
then Mi)
Now
then
it
follows from (6b) that
,
follows from (6a)
it
consider part
=
fjj
1,
then
>
it
=
If x^j
(b).
follows from (6b) that
If x-j
(c).
< Uj
x^
1
S
f^j
follows from (6c)
which implies
7r(j)
<
0,
by (7)
obtain that a^
for each
to obtain
an optimal solution of the inverse
an optimal solution of the inverse spanning
is
follows from (6a) that
we
and n can be used
-
a-
unmatched
-^J6N2«j
For
x as denoting the corresponding assignment as well.
=
arc
in
i
fj-
=
x
in x.
that
(c)
0,
a
is
feasible to
and thus
Summing
f^-.
(i, j),
tree problem:
and
(ii)
f-
- 7i(i)
+
(4).
7t(j)
Now
=
0.
these equations for
a^ =
for
consider a matched arc
Since both the nodes
all
matched
each unmatched node
arcs
i
i
(i, j)
.
and are
j
and using the
yields
=^{i,j)6A0fij>'ij-
a feasible solution of the primal
their objective function values are the
(4).
=
If x-^
follows from Property 3(b) and
matched, using
facts that
establishing part
f Tc(i) for every matched node i
~ lo
for every unmatched node
Xj-
denote the optimal dual solution
7t
follows from Property 2 that the flow x has a corresponding assigrunent.
a defined
The vector
It
=
if x^j
>0; ifx^ =
rt(j)
that the solutions x
Lemma
Since
0,
<
f^;
we view
Proof.
then
1
=
7t(s)
simplicity of notations,
1.
feasible flow will
(c).
We will now show
i
then K(i) <0;
1
This establishes part
0.
which implies
S
spaiming
=
ifx^ =
follows from (6c) that
fj't
any
that
(i)
0.
can assume without any loss of generality that
which implies
that
will
the follozving conditions:
7i(s)
=
and
and the algorithm
t,
a shortest path because
which imply
(s, i) is 1,
Let x denote the optimal flow
)
become
will
(s,t)
node
s to
of shortest path
flow problem.
(a)
f^f
node
number
After a
t.
The optimal primal solution x together with the optimal dual solution k of the minimum cost
3.
flow problem
that
the capacity of each arc
(iii)
node
s to
same,
This completes the proof of the lemma.
problem
it
(4),
x
follows that
is
a
a feasible solution to the dual problem,
is
and
an optimal solution of the primal problem
by
=
d-
Cj
+
a- for
We now
at
most
I
Lemma
follows from
It
N
each j =
1,
... ,
1 that
the optimal cost vector d of the inverse spanning tree
be solved in 0(m' +
I
I
given
analyze the running time of the successive shortest path algorithm. The algorithm solves
f]-
's
which are nonnegative. Using Fibonacci heap
implementation of Dijkstra's algorithm due to Fredman and Tarjan
in 0( N^
is
m.
shortest path problems with arc lengths as
I
problem
n'
log
n')
(m' + n' log n)) =
O(n^) time,
I
each shortest path problem can
approach can solve the inverse spanning
time. Consequently, this
because N^
[1984],
I
=
(n-1), n'
tree
problem
= (m+2), and m' = 0(nm).
Improved Algorithm
The bottleneck step
our approach
in
each application requiring 0(m' +
applications of Dijkstra's algorithm in
Dijkstra's algorithm,
from node
shortest path
d(i)
is
node
i;
d(i) is
each
s to
when
node
either finite or infinite;
otherwise,
permanent
it
will
describe an improved implementation of
0(n
total
)
we show
can perform
applied on the residual network G'(x) with arc lengths
maintains a distance label
i,
finite,
if it is
then
it
with each node
d(i)
e A'(i) to update
d(j)
the
all
N A
e
i
ff-
.
's,
to find a
distance label
denotes the length of some directed path from node
i
is
= min{d(j),
A
yet to be discovered.
minimum temporary
algorithm selects a
(i, j)
we
that
time using data structures simpler than Fibonacci heap.
guaranteed to be the shortest path length to node
if it is
and examines each arc
now
(m' + n' log n). In this case,
implies that a directed path to node
iteration, Dijkstra's
distance labels
We
log n) time.
n'
when n <
Dijkstra's algorithm for the case
the successive applications of Dijkstra's algorithm with
is
d(i)
+
i,
and
f^j).
distance label
temporary otherwise. In
is
distance label
finite
s to
d(i),
makes
it
permanent,
The algorithm terminates when
all
become permanent.
We make
two changes
in Dijkstra's algorithm to
improve
its
worst-case complexity
when
applied
toG'.
Change
Permanently
1.
Then
labeled nodes.
label
node
as soon as
t
it
has the
minimum
distance label
among
terminate Dijkstra's algorithm.
Recall that the successive shortest path algorithm requires a shortest path from
and such a path becomes available as soon
permanently
label
Recall
from our previous discussion
=
7t(i)
jr(i)
-
remain nonnegative. In case we terminate
2 proved
7t(i)
below
Orlin [1993],
it
as
node
t
is
node
permanently labeled. Hence there
is
s to
node
no need
t
to
more nodes.
updates the node potentials as
potentials as
temporarily
=
7t(i)
+ max{d(t)
that updating the
-
d(i) for
each node
i
in
N
,
which ensures
Dijkstra's algorithm prematurely,
d(i)) for
node
that in every iteration the successive shortest
each permanently
labeled
node
potentials takes 0(n) time and, as
also ensures that the arc reduced costs remain nonnegative.
i
that the reduced costs
we need
in N'.
shown
path algorithm
It
to
update the node
follows from
in Ahuja,
Lemma
Magnanti and
An immediate byproduct
Lemma
the following
1 is
network
In the residual
permits at most
matched nodes
I
N
N
in
=
I
G'(x),
(n-1) units of
and
most
at
mN uN
nodes
matched nodes
(n-1)
Immediately thereafter, arc
= d(k) +
to d(t)
examined, which
(k, t) is
= d(k) (because
fj^j
=
(^^
permanently labeled nodes are non-decreasing,
and
t,
-
(n
-
1)
nodes have
1)
permanently labeled.
emanating from node
the uruque arc
most
there will be at
will be
k,
Since G'(x)
k,
and
d(t) is
Since in Dijkstra? algorithm, distance labels of
0).
minimum
acquires the
t
distance label,
permanently
In total, the algorithm
it.
most 2n nodes.
labels at
We now
G'(x) into
is
j
say node
,
follows that node
it
node
s to
Therefore, after at most 2(n
.
permanently labels
in the next iteration Dijkstra's algorithm
node
N
is
=
fy.^
N
in
in
matched or unmatched.
are either
flow to be sent from node
been permanently labeled, an unmatched node
updated
lemma.
Dijkstra's algorithm pernianenti}/ labels at most 2n nodea.
2.
Proof.
Change
of
two parts M(i) and
Change
where M(i) =
U(i),
unmatched}. Notice that
second change,
We partition
explain the second change.
I
M(i)
I
<
e A'(i)
((i, j)
from examining
Dijkstra's algorithm refrains
:
node
node
of each
9
INI
i
j(i, j)
e
N
e
A'(i)
in
:
1
INI, which
-
is
0(m). In the
arcs in U(i).
permanentli/ labeled, then examine
is
i
all
list A'(i)
matched) and U(i) =
is
j
but U(i) can be as big as
n,
In Dijkstra's algorithm, ivhen node
2.
the arc adjacency
arcs in M(i) but
all
only the smallest cost arc in U(i).
We now show
observe that
until
node
reduced
rt(j)
is
j
cost.
=
for each
Suppose
is
that
first
Clearly, d(j) = d(i) +
(i, j)
2 does not affect the correctness of Dijkstra's algorithm.
unmatched node
N
in
j
(This
.
is
true at initialization,
matched.) So the arc in U(i) with the smallest cost
Consider the
U(i).
Change
that
fj-
cost arc in U(i), then d(k) =
N
.
some permanently
minimum reduced
d(i)
+
ffi^
<
d(i)
+
cost.
fj;
=
U(i), Dijkstra's
has the
node
For,
d(j),
This argument establishes that
orJy the least reduced cost arc in
N
e
j
labeled
if
i
e
this is
N
2;
that
is,
not updated
we examine
minimum temporary
such that
not true and
(i, j)
instead of examining
e
A
arcs in
distance label.
We
.
all
claim that arc
minimum reduced
minimum temporary
k) is the
(i,
contradicting that node
if
is
7t(j)
first
also the arc in U(i) with smallest
is
apply Dijkstra's algorithm without Change
time an unmatched node
for
the arc in U(i) with
distance label in
we
and
We
j
is
all
the
arcs in U(i)
we examine
algorithm will run correctly.
A byproduct of Change 2 is the following lemma.
Lemma
Proof.
3.
In
any
Each temporary distance
label
caused by the node which modified
or permanently labeled;
matched nodes
N
,
in
N
there will be at
have at most In temporary distance
iteration, Dijkstra's algorithm will
but
if it is
at
is
it last.
caused by
Now
some permanently
notice that each
permanently labeled then
most one unmatched node
most 2n temporary distance
in
labels in
i
e
N
is
we
say that
it
was
either temporarily labeled
can cause several temporary distance labels of
it
N
node
labeled node;
labels.
.
any
Since there are at most (n
iteration.
-
1)
matched nodes
in
We
now
can
analyze the worst-case complexity of the successive shortest path algorithm that uses
Dijkstra's algorithm incorporating
Change
algorithm will perform 0(n) iterations.
0(n) time a node with the
the
miriimum
and Change
1
follows from
It
minimum temporary
2.
It
Lemma
Lemma
follows from
3 that in each iteration
distance label, say
node
i.
Examining
Dijkstra's algorithm takes
0(n
)
it
can identify
in
and
arcs in M(i)
all
minimum
cost arc in U(i) also takes 0(n) time plus the time to identify the
Thus each application of
2 that Dijkstra's
cost arc in U(i).
time plus the time needed to identify
minimum
cost arcs in U(i).
Therefore, the successive shortest path algorithm, which applies Dijkstra's algorithm at
most n times, runs
in
We now
0(n
explain
minimum reduced
the
each node
i
e
N
(i)
Initially,
after
U(i) =
We
remove
from
it
A'(i)
minimum
(ii)
0(nm) and
m
= 0(n
),
cost.
So
we
maintain the arcs in U(i) for
key. These heaps are constructed once
its
for all the
nodes can be constructed
In a binary heap, each
[1990]).
an additional node in
Dijkstra's algorithm,
so,
we
consider each arc
0(log n) time per arc and a
total of
heap operations also take 0(n
the
k) e
(i,
0(n log
O(m')
heap operation,
)
time.
N
A
,
say node
with
n) time for
the applications of Dijkstra's algorithm
all
in
like
deleting an arc in U'(i) can be performed in 0(log n)
then need to update some heaps. To do
U(i); this takes a total of
as
(i, j)
and these heaps
and
cost arc in U'(i);
time taken by the heap operations in
Since m' =
minimum
with
each application of Dijkstra's algorithm, so that they can be reused
Suppose during an application of
matched.
total
also the arc in U(i) with
is
in U(i).
cost arcs in U(i) quickly. Recall that the arc in U(i)
example, Cormen, Leiserson and Rivest
identifying a
time.
minimum
to identify
and are updated
in the next application.
(see, for
how
cost
minimum cost arcs
time plus the time needed to identify
using a binary" heap with cost of the arc
at the beginning,
time
)
We
i
e
node
get
k,
N
and
k.
The
0(m' + n log
is
n).
can summarize the
discussion in this section by the following theorem.
Theorem
1.
The successive shortest path algorithm can solve the unbalanced assignment problem and,
hence, the inverse spanning tree problem in
4.
0(n
)
time.
WEIGHTED INVERSE SPANNING TREE PROBLEM
In this section,
we
consider the weighted spanning tree problem.
the inverse spanning tree problem, where the objective
given cost vector. Suppose
we
is to
ITiis
problem
is
a generalization of
minimize the weighted deviation from the
associate a nonnegative weight w- with each arc
a-
e A. Then the weighted
inverse sparming tree problem can be formulated as the following mathematical program:
Mininruze 2>_j^ w-
a-
-
^^-^ w-
subject to (3b)
a-
Using exactly the same method we used
tree
problem can be reformulated
Maximize
£
i
w-
a^
-
and
for the unit
(3c).
weight case, the weighted inverse sparirung
as
Z
t
w-
a
subject to (4b)
and
(4c).
10
The dual of
this
problem
Minimize
as follows:
is
Z
'
(^^)
o^ii'^ij
fi
(i-j)GA^
subject to
^
^
(i,j)
(j:
|i: (i,j)
e AOj
"ij
e aO)
"ij
Xjj
where
f--
=
(C: - Cj).
>
- ^i
^°^
^^^ ^°^^
^ ^^'
(8^)
-
^or
each node € N^,
j
(8c)
e A^,
(8d)
-
^j
for each arc
The formulation
(i, j)
'
the standard transportation problem, the constraints (8b)
W: = ZjcmZW:, which are not
transportation
We
problem.
show
and
networks can solve the unbalanced transportation problem
form and
^jeNl
refer to the formulation (8) as the unbalanced
an adaptation
that
standard transportation problem. In
(8c) are in the equality
We
satisfied in the variant.
will
known
variant of the well
(8) is a
in
for the cost scaling algorithm for bipartite
m log(nC))
0(n
time,
where C =
max{lc:l
:
aj
e
A).
The
which
cost scaling algorithm requires that the
does not
(8)
in Section 3
satisfy.
To
mass balance constraints are
we
satisfy this condition,
first
(j,
t)
with
j
e
N
is
set to w-.
We
observe that the unbalanced transportation problem
set b(s)
in (8)
=
-b(t)
(s,
costs.
(N',
A)
in 0((n')
reduces to a
log(n'C)) time,
with
i
N
e
minimum
that
where C
(N', A') as
is
,
Z- j^2
cost flow
can solve the
is
the largest
set to
algorithm can solve the
minimum
m' = 0(nm), the running time of
wj
problem
minimum
+
Also
1.
Ln G'.
cost flow
magnitude of the arc
cost flow
this
problem
is
in G' in
algorithm becomes
cost flow problem.
'
~
lo
if
[7t(i)
if
Jo
)
For these solutions,
~
l7:(j)
if
if
node
node
i
e
i
6
N
N
and arc
and arc
node e N and
node g N^ and
manner analogous
we obtciin a in
(s, i) is
(s, i) is
0((IN
0(nTn
I)
+ (IN
I
m)
log(nC)). Since IN
-
log(nC)).
minimum
saturated
arc
(j, t)
is
not saturated
arc
(j,
t)
is
saturated.
case,
= (n
not saturated
j
unweighted
I
the following manner:
j
to the
This
considerably smaller than the other part.
Let X denote the optimal primal solution and n denote the optimal dual solution of the
In a
described
w^ and the
Ahuja, Orlin, Stein, and Tarjan [1994] describe an improved implementation of the cost scaling
algorithm for those bipartite networks where one part
1),
i)
= min(Zjg ^i Wj
Goldberg and Tarjan [1987] describe a cost scaling algorithm
problem on the network G' =
=
construct the network G'
with the modification that the capacity of the arc
capacity of the arc
in the equality form,
it
can be shown that a defined
optimal for the weighted inverse spanning tree problem.
We have
in the
above manner
thus proved the following theorem.
is
11
Theorem
cost scaling algorithm for bipartite networks can
The
2.
problem, and hence the weighted inverse spanning tree problem, in
solve the unbalanced transportation
0(n^m
log(nC)) time.
MINIMAX INVERSE SPANNING TREE PROBLEM
5.
In this section,
consider the variation of the inverse spanrung tree problem where the objective
maximum
minimize the
to
we
sum
arc deviation instead of minimizing the
is
of the arc deviations. This problem
can be formulated in the following manner:
Minimize [max
{Ipjl
l<j<m)]
:
(9a)
subject to
+
c
<
a-
Cj
+
a- for
-
c-
each
i
e P-
and for each j =
n,
e
and
=
n,
...
,
m,
alternatively,
or,
-
a-
a-
a >
<
c
for each
i
for each
=
i
1 to (n-1),
P-
and
a-
for each
>
for
j
...
m,
,
(9b)
each j = n to m.
(9c)
Let
8 =
If
8 <
8/2
for
0,
is
max
then c
a lower
some
(10)
is
4.
i,
(9).
a =
is
time.
e
i
and
P-
ot- -
<
1
i
We
for T*.
j
=
n,
... ,
we
Thus,
m).
and one of them
(n-1),
and
a-
j,
minIO, -5/21 for each
i,
1
<
i
<
(n-1),
8/2
in
magnitude.
n < < m, achieves
j
have established the following
when
8 >
0.
minimax inverse spanning
will be at least
= 8/2 for each
(10)
consider the case
the objective function value of the
a^ > 8
<
for each
this
It is
It is
tree
lower bound and
and U: = maxjO,
5/21 for each
j,
n
However, we can do
it
in
0(n
)
i-th
row
of
£ in 0(n)
matrix can be computed in 0(n
If
done
in an straightforward fashion,
£=
(ej-)
)
We claim
that for
h[j]
a:
the tree arc
0(mn)
We
can
i.
i
and
j.
Therefore, the "E
that
(11)
respectively denote the
any nontree arc
takes
ij-th
time by performing a search of T* starting at node
time.
it
denote an nxn matrix whose
8 = max[ej[j]j^[j] -Cj:n<j<m],
and
every
tree problem.
time as described next. Let
'y
t[j]
satisfies
ttj
< j < m, with 5defined by
element gives the largest cost of a tree arc in the unique path in T connecting nodes
where
problem, because
also easy to see that
study the time complexity of the minimax inverse sparming tree problem. The computation
the bottleneck operation in the algorithm.
determine the
easy to see that
result.
an optimal solution of the minimax inverse spanning
We now
of 8
for each
bound on
arc pair
constraint in
:
an optimal cost vector
is
= -8/2 for each
Lemma
[Cj - c-
aj
tail
and head nodes of the arc
with the largest value of
Cj
a-.
The claim follows from the
will attain the largest value of
fact
Cj - c-
12
and
e^iji j^rM
gives this value.
Once
the matrix !Eis available,
we
can compute 8 in 0(m) time using
(11).
We
have thus established the following theorem.
Theorem
The minimax inverse spanning
3.
problem can be solved
tree
in
0(n
)
time.
ACKNOWLEDGMENTS.
We gratefully
acknowledge suppport from the Office of Naval Research under contract
ONR
NOOOl 4-96-1-
0051 as well as a grant from the United Parcel Service.
REFERENCES
Ahuja, R.
Magnanti, and
K., T. L.
Prentice Hall,
Ahuja, R.
K.,
J.
Inc.,
B. Orlin.
and
B. Orlin, C. Stein,
problems. SI
J.
AM Journal on
R. E. Tarjan.
Computing
Network Flows: Theory, Algorithms, and Applications.
1994.
Improved algorithms
for bipartite
network flow
23, 903-933.
Chandru, D. Sempolinski, and
Bitran, G., V.
1993.
NJ.
J.
Shapiro.
Inverse optimization: an application to the
1981.
capacitated plant location problem. Management Science 27, 1120-1141.
Burton, D., and Ph. L. Toint.
Programming
On
1992.
an instance of the inverse shortest paths problem. Mathematical
53, 45-61.
On the use of an inverse shortest paths algorithm for recovering linearly
Mathematical Programming 63, 1-22.
Burton, D., and Ph. L. Toint. 1994.
correlated costs.
Cormen,
T. H., C. L. Leiserson,
Hill,
New
Dijkstra, E.
1959.
Everett, H.
1963.
L.,
R. L. Rivest.
1990. Introduction
to
Algorithms.
MIT
Press and
McGraw-
A
note on two problems in connexion with graphs. Numeriche Mathematics
1,
269-271.
Generalized Lagrange multiplier method for solving problems of optimum allocation of
Operations Research 11, 399-417.
resources.
Fredman, M.
and
York.
and
R. E. Tarjan.
1984.
Fibonacci heaps and their uses in improved network optimization
Proceedings of the 25th Annual IEEE Symposium on Foundations of Computer Science, pp.
338-346. FuU paper in journal of
34 (1987), 596-615.
algorithms.
ACM
V., and R. E. Tarjan. 1987. Solving minimum cost flow problem by successive approximations.
Proceedings of the I9th
Symposium on the Theory of Computing, pp. 7-18. Full paper in
Mathematics of Operations Research 15 (1990), 430-466.
Goldberg, A.
ACM
Murty, K. G. 1976. Linear and Combinatorial Programming. John Wiley
&
Sons,
NY.
Sokkalingam, P.T., 1995. The Minimum Cost Flozu Problem
Primal Algorithms and Cost Perturbations.
Unpublished Dissertation, Department of Mathematics, Indian Institute of Technology, Kanpur,
:
INDIA.
5709
105
Date Due
MIT LIBRARIES
3 9080 00978 0450
Download