On solving a variation of the assignment problem

On solving a variation of the assignment problem

: ;-. 0 for every even arc (i, j) ~ T; (ii) x i j < 0 for every odd arc (i, j ) ~ T with The signature method for the assignment problem can be int...

280KB Sizes 0 Downloads 25 Views

: ;-.

<,

).~'

EUROPEAN JOURNAL OF OPERATIONAL RESEARCH

ELSEVIER

European Journal of Operational Research 87 (1995) 142-147

Theory and Methodology

On solving a variation of the assignment problem Ronald D. Armstrong *, Zhiying Jin Graduate School of Management, Rutgers University, Newark, NJ 07102, USA Received October 1993; revised April 1994

Abstract

Geetha and Nair recently proposed a variant of n × n assignment problem with the objective of minimizing the total cost plus an additional 'supervisory' cost. They gave an O (n 5) algorithm to solve the problem. Here, we present an algorithm for this problem using Balinski's signature method for the assignment problem at each stage. The algorithm has a complexity of O(m(m + n log n)), where m is the number of arcs in the problem.

Keywords: Assignment problem; Bottleneck assignment; Signature method; Strong dual feasible tree time tq for each arc (i, j ) ~ E , the bottleneck assignment problem can be formulated as

1. Introduction

Let G = (R, C, E ) be a bipartite graph with is directed from node set R to node set C. Given a cost c u for each arc (i, j ) ~ E, the assignment problem can be formulated as

IRI -- [CI = n , IEI = m . Each arc (i, j ) ~ E

Minimize

(1)

~'. cijxij

Minimize

max{tijl Xij= 1}

subject to

x ~ X.

(5)

Geetha and Nair [4] proposed a more general assignment problem:

(i,j)~E

(P)

subject to

xij=l

Vi~R,

(2)

j:(i,j)~E

CijXij + max{tij l xij --- 1}

Minimize (i,j)~E

Vj~C,

(3)

subject to

xij~{O, 1} V ( i , j ) e E .

(4)

An algorithm for solving problem (P) was given by Geetha and Nair [4] and it has a complexity of O(nS). In this paper, we present an algorithm for (P) based on Balinski's signature method [2] for assignment problem. The algorithm has a complexity of O(m(m + n log n)). This improves the complexity given by Geetha and Nair [4].

E

xij=l

i:(i,j)~E

Let X be the set of all feasible solutions satisfying (2), (3) and (4). Given a completion

* Corresponding author. Elsevier Science B.V.

SSDI 0 3 7 7 - 2 2 1 7 ( 9 4 ) 0 0 1 5 1 - 2

x ~ X.

143

R.D. Armstrong, Z. Jin ~European Journal o f Operational Research 87 (1995) 142-147

2. The signature method for the assignment problem

(i) x i j > 0 for every even arc (i, j) ~ T; (ii) x i j < 0 for every odd arc (i, j ) ~ T with

The signature method for the assignment problem can be interpreted as a dual simplex method. The algorithm can be implemented efficiently by adding a dummy node (node 0) with zero supply and artificial arcs (0, j), j ~ C to G, to create an augmented graph G". It is assumed that the root node for a spanning tree T of the bipartite graph G" is node 0. For each node j ~ C, the degree dj(T) is the number of arcs incident on node j in T. The signature of a tree T is the vector

(iii) T is primal feasible if the level of T is zero; in other words, d ( T ) is the vector of all 2's. Balinski's signature method starts with an s.d.f. tree. It will choose an odd arc (i, j ) with d i ( r ) > 3 as the leaving arc and perform dual simplex pivots until the level of T is zero (T is primal feasible). The initial s.d.f, tree can be constructed by adjoining (0, j) for each j ~ C and adding node i to node Ji ~ C for each node i ~ R, where Ciji = min j ~ C {Cu}.

d ; ( r ) ___3;

d(T) = (d,(T), d2(T),...,d,,(T)). The level of T is the number of l's in d(T). For each arc (i, j ) ~ T, if i is the predecessor of j with respect to the root, then (i, j ) is called an odd arc; if j is the predecessor of i with respect to the root, then it is called an even arc. Given a spanning tree T, the dual variables ui, vj, i ~ R U {0}, j ~ C, can be computed from the relations

ui+vj=c u

for(i,j)~T.

The cost given to the artificial arcs is zero initially. Since T contains 2n + 1 nodes and 2n arcs, u 0 can be set to 0. Given the dual variables ui, vj, the reduced cost of each arc (i, j) ~ E is defined as Ciy = Cij -- Hi -- Vj.

A tree is called dual feasible if

aii>__O

V(i,j)~E.

A spanning tree T is a strong dual feasible tree (s.d.f.) if T is dual feasible and every node j, j ~ C, of degree 1 is joined to the root by an arc of T. The s.d.f, tree was first introduced by Balinski [2] for the assignment problem. Later, it was used by Balinski and Gonzalez [3] to solve the maximum bipartite matching problem, and Armstrong and Jin [1] to solve the bottleneck assignment problem. Given an s.d.f, tree T, a unique solution x ( T ) to (1) and (2) is obtained by setting x u = 0 for all (i, j) ff T. If (3) is satisfied, then T is called primal feasible. It is easily shown that (see [2]):

The signature method maintains a s.d.f, tree in each pivot [2]. If the level of T is decreased, then the operation of updating d ( T ) at the end of a pivot is called a level terminate. There are less than n pivots before a level terminate. Using the block updates and Fibonacci-heaps [5, p.200], work necessary to achieve a level terminate can be done within O(m + n log n). Since there are at most n level terminates, the complexity of the signature method for the assignment problem is O ( n m + n 2 log n).

3. The algorithm for solving the problem (P) Suppose there are L different values t l, t 2 , . . . , t L with t l < t 2 < --. < t L for all tij's and there are n r number of tiy with t i j = t r, r = 1, 2 . . . . . L. Then n I + n 2 + • • • + n L = m. The algorithm works with a threshoM in each phase. Given a threshold, t, let G ( t ) = (R, C, E(t)) be the subgraph of G such that t u < t, V(i, j ) ~ E ( t ) . In each phase, the algorithm solves the following problem: P(t) Minimize

E CijXij (i,j)~E(t)

subject to

E Xij = l j:(i,j)~E(t)

Vi ~ R,

E Xij ~- 1 i:(i,j)EE(t)

VjeC,

xi~ = {0, 1}.

144

R.D. Armstrong, Z. Jin / European Journal of Operational Research 87 (1995) 142-147

Geetha and Nair prove that the optimal solution to the problem (P) is an efficient solution to the bicriteria problem where (1) and (5) are the two criteria, and the assignment constraints (2)(4) are maintained. Our solution method, like Geetha and Nair's, solves a sequence of assignment problems where the value of t steadily decreases. Geetha and Nair determine a lower bound on (P). Let b be a lower bound on the optimal objective value for the bottleneck assignment problem. Let Q * be the current best objective value obtained for (P). The optimal objective value for P(t) is nondecreasing as t decreases. Thus, since the algorithm only decreases the value of t, the terminate criterion is finding an optimal solution to P(t) such that its optimal objective value is greater-than-or-equal-to Q * - b . Our algorithm can also utilize the bounding technique of Geetha and Nair to terminate the algorithm. The use of the signature method to repeatedly solve the sequence of assignment problems significantly reduces the complexity of the algorithm. The problem P(t) can be solved by using the signature method. It may be possible that P(t) is infeasible. This can be detected when a leaving arc exists but no entering arc exists during the dual simplex pivot. If P(t l) is infeasible then P(t r) is infeasible for r < I. The algorithm starts with t = t L and decreases t gradually. Given an optimal solution (tree) of P(t), the algorithm will delete each odd arc (i, j) and adjoin (0, j) for each node j ~ C. A cost of vi is given to arc (0, j) that makes u 0 + vj = c0j; thus, the dual variable values remain unchanged. The newly formed tree is still optimal since x~j = 0 for each odd arc (i, j). After doing this, let T be the new tree and tmax = m a x { t i j l x i j = 1, V(i, j) E T}.

If tmax < t, then T yields an optimal solution for the problem P(tmax). If tinax= t, then t is reset to the next smaller threshold. For each even arc (i, j) with tij = tmax, delete (i, j), adjoin (i, Ji) such that C i j i = Uji =

m i n { c i j - vj, V(i, j) ~ E ( t ) } ,

and set Ui 4 - c i j i - Vii.

This makes T s.d.f. But T may not be primal feasible, the signature method can be used to solve P(t). It may be possible that no arc out of node i exists in E ( t ) when the arc (i, j) is deleted and node i can not be added to the tree. In this case, the problem P(t) is infeasible. If trnax= t', then the number of level terminates in solving problem P(t) is at most min{n, n r} since at most rain{n, n r} arcs are deleted at the beginning of problem P(t).

The algorithm Step O. Initialization Set t ~ t L, Z * ~ + ~ ; Let b be a lower bound for the bottleneck assignment problem. Step 1. Solve P(t) Solve the assignment problem P(t) by using the signature method; If P(t) is infeasible, then STOP; Let T ( t ) be the optimal tree, x ( t ) be the optimal solution; Set tmax ~- max{tij l xij( t ) = 1, V( i, j ) ~ T(t)}. Step 2. Update the optimal objective value If E CijXij(t ) >_Z* - b , (i,j)~E(t)

then STOP; If

z(t) =

E

%Xij(t)+tma
(i,j)EE(t)

then set Z * ~ Z ( t ) , X * ~ x(t). Step 3. Find the next threshold If /max ~ tl, then let tma~ = t k, set t' ,-- tk-1; otherwise, STOP. Step 4. Update T( t ) For each odd arc (i, j ) ~ T(t), i ~ O, delete (i, j), adjoin (0, j), and set c0j ~ vj;

R.D. Armstrong, Z. Jin / European Journal of Operational Research 87 (1995) 142-147

145

For each even arc (i, j) ~ T ( t ) with tiy = tmax, do delete (i, j); if no arc out of node i exists in E(t'), then STOP (P(t') is infeasible); otherwise, adjoin (i, ji ) such that cij ' - v~, = m i n { c i j - vj, V(i, j ) ~ E ( t ' ) } , 4

and set u i , - c i j i - - Ujii"~ enddo. Step 5. Next phase Set t ~ t' and goto Step 1.

Fig. 1. I n i t i a l t r e e for t = 20

4. Justification and complexity of the algorithm Theorem 1. When the algorithm stops, Z * will be the optimal objective value and X * will be an optimal solution for the problem (P).

Proof. Let x ( t ) be an optimal solution of P(t) for any given t. It follows that Z*<_

E cijxiy(t)+max{tijlxij(t)=l} (i,j)~E(t)



Let Z be the optimal objective value and X be an optimal solution of the problem (P). Let t = max{tij l xij = 1}. Then X must be an optimal solution of P(t). Hence, Z = =

~_, ciyxij + t (i,j)~E(t) E cijxij+max{tijlxij (i,j)~E(t)

Each level terminate can be done in O(m + n log n). The total complexity of the algorithm is O ( m ( m + n log n)). []

5. Example The following (see Figs. 1-6) gives a sample problem with n = 4, and m = 12. The figures represent the nodes in the set R with circles and nodes in the set C with squares. The dual variable values for P(t) are given next to the nodes. Choose b = 7. It is necessary to solve P(t) three times with t values of 20, 18 and 13. In the sample problem, the algorithm terminates because P(13) is infeasible. The optimal objective value is Z * = 37 and the optimal solution is X41 = 1, XI*2~-- 1, X24 = 1, X33 = 1.

The optimal objective value for the bottleneck assignment problem is 18. If this bound was used

=1}

>_Z* So Z * is the optimal objective value and X * is an optimal solution. []

Theorem 2. The complexity o f the algorithm is O ( m ( m + n log n)). Proof. Let t r and t k be the two consecutive thresholds. In solving the problem P(tk), there are at most min{n, n r} level terminates. The total number of level terminates is at most L

L

E min{n, n r} <_ E n " = m . r=l

2LJ

r=l

6~ Fig. 2. Last t r e e for t = 20, Z * = 37.

R.D. Armstrong, Z. Jin ~European Journal of Operational Research 87 (1995) 142-147

146

-2

6t

4

Fig. 3. Initial tree for t = 18. -2

8( 0-

7~2)

61 61

0,q

Fig. 6. Last tree for t = 13, infeasible, and Z * = 37.

,(,)

to provide a value for b, then the algorithm would terminate immediately after solving P(18). We have (where ' * ' indicates infeasible arcs):

-21-J 61

C=[cij]=

~)

Fig. 4. Last tree for t ~ 18 and Z ( t ) = 7 + 4 + 8 + 4 + Z* =3

18 = 41 >

T = [ tij ] =

0.E

6

*

4

• 4

7 6

4 *

42° il 6

*

18



8

20

12

13

*

"

-2 References

71 3) Fig. 5. Initial tree for t = 13.

[1] Armstrong, R., and Jin, Z., "Solving linear bottleneck assignment problems via strong spanning trees", Operations Research Letters 12 (1992) 179-180.

R.D. Armstrong, Z. Jin / European Journal of Operational Research 87 (1995) 142-147 [2] Balinski, M.L., "A competitive (dual) simplex method for the assignment problem", Mathematical Programming 34 (1986) 125-141. [3] Balinski, M.L., and Gonzalez, J., "Maximum matchings in bipartite graphs via strong spanning trees", Networks 21 (1991) 165-179.

147

[4] Geetha, S., and Nair, K.P.K., "A variation of the assignment problem", European Journal of Operational Research 68 (1993) 422-426. [5] Goldfarb, D., "Efficient dual simplex methods for the assignment problem", Mathematical Programming 33 (1985) 187-203.