Pattern Recognition based Lexi-Search
Approach to the Variant
Multi-Dimensional Assignment Problem
Purusotham, S.#1, Suresh Babu, C. #2 & Sundara Murthy, M.#3 #1
Lecturer, Dept. of Mathematics, S. V. J. College, T.T.D., Tirupati, Andhra Pradesh, India. #2
Research Scholar, Dept. of Mathematics, Sri Venkateswara University, Tirupati, Andhra Pradesh, India. # 2
Professor, Dept. of Mathematics, Sri Venkateswara University, Tirupati, Andhra Pradesh, India. Email: [email protected] , [email protected] & [email protected]
Abstract:
The Multi Dimensional Assignment Problem (MDAP) is a combinatorial optimization problem that is known to be NP –Hard. In this paper we discuss a problem with four dimensions. N jobs can be executed on N machines, at k facilities, using l concessions. Every job is to be scheduled on some machine at one of the facilities, using some concession. No two jobs can run on the same machine, at the same facility using the same concession. Furthermore, there is a specified maximum number of jobs that can be run at a given facility, and there is a maximum number of jobs that can avail of a given concession. C (i, j, k, l) be the cost of allocating job ‘i’ on machine ‘j’ at facility ‘k’ using the concession ‘l’. This is provided as a 4 dimensional array. The objective is to schedule the jobs in such a way that the constraints are met and the cost is minimized.
For this problem we developed a Pattern Recognition Technique based Lexi Search Algorithm, which comes under the exact methods. The concepts and the algorithm involving in this problem are discussed with a suitable numerical example. We programmed the proposed Lexi Search algorithm using C. This algorithm takes less CPU run time as compared with the existed methods, and hence it suggested for solving the higher dimensional problems.
Keywords:
Multi-Dimensional Assignment Problem, Lexi Search Algorithm, Pattern Recognition Technique, word, pattern.
1. Introduction
The MDAP is a combinatorial optimization problem that is known to be NP –Hard. It is an extension of the assignment problem, which exactly the two dimensional case of MDAP. Generally the cost of the assignment depends on the job and machine. But some times the cost of assignment can be influenced by some other independent factors; in such a situation the problem of assigning the set of jobs on set machines in least cost is critical. Under this consideration many researchers have been studied higher dimensional problems. The most studied case of MDAP is the case of three dimensions Ref. [1, 2, 6, 8 and 12] through the problem has a host of higher dimensions, e.g. in routing in meshes Ref. [3], image recognition, and resource allocations Ref. [10], scheduling, multi agent path planning, data association and multi searcher problems etc.
[12]. The other efficient algorithms like Branch and Bound Algorithm was studied by Ref. [7, 21, 8 and 16]. Lexi Search Algorithm was explained Ref. [15, 26, 24 and 25] in the literature.
In the present study we consider a variation of Multi –Dimensional assignment problem. It considers one-to-one assignment of jobs ‘i’ on machines ‘j’ at the given facilities ‘k’ with the concession ‘l’ under the considerations. Here a job can not utilize a concession more than given number of times C0and also a job cannot
utilize a facility more than given number of times F0such that the total cost required to perform the set of jobs is
minimum. This problem can be modelled as a Zero-One Programming problem.
2. Mathematical Formulation
n i n j p k q l l k j i X l k j i C Z Min
1 1 1 1
) , , , ( ) , , ,
( --- (2.1)
Subject to the constraints:
n i n j p k q l l k j i
X 1 1,2,
1 1 1
) , , , ( --- (2.2) n j n i p k q l l k j i
X 1 1,2,
1 1 1
) , , , ( --- (2.3) p k o F n i n j p k l k j i
X 1,2,
1 1 1
) , , , ( --- (2.4) q l o C n i n j p k l k j i
X 1,2,
1 1 1
) , , , ( --- (2.5)
l
k
j
i
or
l
k
j
i
X
(
,
,
,
)
0
1
,
,
,
--- (2.6)Equation (2.1) measures that the cost of the assignment of jobs on machines under the two independent factors facility and concession. Constraints (2.2) and (2.3) indicate that a job can assign on only one machine and vice versa. Constraint (2.4) and (2.5) represents that a job and a machine cannot utilize the concession, facility more than the given number of times C0 and F0 respectively. Finally the binary variable (2.6) i.e. X (I, j, k, l) = 1 represents that the ith job is assigned on jth machine at kth facility and utilizing the lth concession, otherwise it is zero.
For availing the simplicity in the combinatorial structure of this problem a Lexi-Search algorithm by using Pattern Recognition Technique is developed to obtain the optimal solution of the problem. The steps involved in the algorithm are discussed with the help of a suitable numerical example. In particular for assignment problems where one has to make one to one assignments, the Lexi-Search approach is more efficient.
3. Lexicographic Search
(i) It is possible to list all the solutions or related configurations in a structural hierarchy which also reflects a hierarchical ordering of the corresponding values of these configurations. (ii) Effective bounds can be set to the values of the objective function, when structural combinatorial
restraints are placed on the Allowable configurations.
The basic principle is described as follows [Rajbhongshi-1982]. Consider a set of symbols A= (1, 2, .… n) and the different possible sequences of length k of these symbols. Thus (1, 2 … k) is a k-word formed from the alphabet of n symbols 1, 2… n, the ith letter in this word is i A. By defining an alphabetic order on the elements of A, we will be able to define a unique ordered list of words of length not exceeding m, where m is finite. Words of length k ≤ m are called incomplete words standing for the set or block of the (m-k)! Words of length k. Searching for an optimum word is a problem of finding the word of minimum value (in the case of a minimizing problem) in the Lexi Search defined by the solution of the problem. The search efficiency of a Lexi search algorithm is based on this approach depends on the choice of an appropriate Alphabet-Table, where two conflicting characteristics of the search list have to be taken into account: one is the difficulty in setting bounds to the values of the partial words (that defines partial solutions representing subsets of solutions). The other difficulty is in checking the feasibility of a partial word. Thus we get two situations in the choice of the alphabet-table Ref. [26].
(i) The process of checking the feasibility of a partial word is easy, while the calculations of a lower bound is bulky and
(ii) Computation of lower bound is easy, while the feasibility checking is difficult. 4. Pattern Recognition Technique
When the process of feasibility checking of a partial word becomes difficult and the lower bound computation is easy, a modified Lexi Search i.e. Lexi Search with recognizing the Pattern of the Solution known as Pattern Recognition Technique (Sundara Murthy 1979) can be adopted. In this method, in order to improve the efficiency of the algorithm, first the bounds are calculated and then the partial word, for which the value is less than the initial (trial) value are checked for the feasibility. The pattern-recognition technique can be described as follows.
“A unique pattern is associated with each solution of a problem. Partial pattern defines a partial solution. An alphabet-table is defined with the help of which the words, representing the pattern are listed in a Lexicographic order. During the search for an optimal word, when a partial word is considered, first bounds are calculated and then the partial words for which the value is less than the trail value are checked for the feasibility"
Lexi Search algorithms, in general, require less memory, due to the existence of the Lexicographic order of the partial words. Using Pattern Recognition technique reduces the dimensions requirement of the problem. For instance, for the Assignment problem which is a two dimensional one and requires to find an optimal solution X which is again a two dimensional array. If Pattern Recognition is used, the problem can be reduced to a linear form of finding an optimal word of length n. This reduction in the dimension for some problems reduces the computational work in getting an optimal solution Ref. [26 and 27]. When a leader is specified, the leader is checked for (i) non-repetition and (ii) non-cycling, after considering the bounds for block values. Thus, once a word is acceptable as possibly containing a better solution within the corresponding block, the letter is checked for row/column repetitions and for sub tour formations. This is expected to increase the computational efficiency of the algorithm to considerable extent. The present paper uses the Lexicographic Search in general and makes use of the Pattern Recognition approach at the appropriate situations.
5. Numerical Example
Table–1
C (i, j, 1, 1) C (i, j, 2, 1) C (i, j, 3, 1)
68 03 77 90 71 54 33 63 22 16 75 12 29 15 38 06 17 64 52 02 20 15 31 05 30 69 46 24 83 75 76 03 35 54 56 72 46 98 55 82 42 15 58 11 85 78 75 33 05 105 89 48 93 87 58 94 40 62 84 66 64 73 106 103 84 56 86 13 46 28 78 84 28 49 37
C (i, j, 1, 2) C (i, j, 2, 2) C (i, j, 3, 2)
88 20 74 99 52 65 55 38 95 79 96 91 67 28 42 90 98 07 59 62 18 86 26 94 77 26 44 04 16 83 34 70 10 49 78 21 87 61 31 63 18 57 92 80 97 89 77 43 60 62 8 97 25 59 86 22 58 29 68 52 09 95 08 61 74 81 37 24 35 91 56 42 92 88 08
An indicator matrix X = [X (i, j, k, l), X (i, j, k, l)= 0 or 1] in which X (i, j, k, l)=1 indicates that the ith job assigned on jth machine at kth facility using the lth concession, otherwise X (i, j, k, l)=0. Consider the ordered tipples (1, 4, 1, 1), (5, 2, 1, 2), (2, 3, 2, 1), (4, 1, 3, 1) & (3, 5, 3, 2) as a trial solution with VT=200. The representation of the solution X to the problem is that first job is assigned to the fourth machine at first facility with first concession; fifth job is assigned to second machine at first facility using the second concession and so on.
5.1. Definition of a Pattern
An indicator four dimensional array X which is associated with an assignment of jobs is called a “pattern”. A pattern is said to be feasible if X has a feasible solution. The pattern represented in the above table is a feasible solution. Now the value of the pattern X is defined as follows.
n i n j p k q l l k j i X l k j i C X V
1 1 1 1
) , , , ( ) , , , ( )
( --- (5.1.1)
5.2. Definition of Alphabet Table (At) and a Word:
Let Lk = {1, 2 ……,k}, i SN be an ordered sequence of k indices from SN. The pattern represented by the ordered tipples whose indices are given by Lk is independent of the order of i in the sequence, the indices are arranged in the increasing order such that i ≤i+1, i =1, 2 ….n-1 (i.e. sorting of cost matrix). The set SN is defined as the ‘Alphabet Table’ with alphabetic order as (1, 2 …M) and the ordered sequence Lk is called a ‘sensible word’ if i <i+1for i =1, 2… k-1 otherwise we call it as ‘Non-sensible word’. A word Lk (k<n) is said to be partial feasible word if the pattern X represented by Lk is feasible, if k=n the word represents a solution. A leader Lk is said to be feasible if the block of words defined by it contains atleast one feasible word.
Table 2: ALPPHABET TABLE
SN D DC R C P Q
1 02 02 2 1 1 1
2 03 05 5 4 1 1
3 03 08 4 4 2 1
4 04 12 5 3 2 2
5 05 17 1 2 1 1
6 05 22 1 2 2 1
7 06 28 2 5 1 1
8 07 35 2 3 1 2
9 08 43 1 1 3 2
10 08 51 3 3 3 2 11 09 60 3 5 3 2 12 10 70 4 3 2 2 13 11 81 2 2 2 1 14 12 93 3 4 1 1
15 13 106 2 3 3 1
16 15 121 1 4 1 1
17 15 136 3 2 1 1
18 15 151 2 4 2 1
19 16 167 4 1 1 1
20 16 183 5 2 2 2
21 17 200 2 4 1 1
22 18 218 1 5 1 2
23 18 236 2 5 2 2
24 20 256 1 5 1 1
25 20 276 5 4 1 2
26 21 297 3 5 2 2
27 22 319 4 2 1 1
28 22 341 4 5 3 2
29 24 365 5 3 2 1
30 24 389 2 3 3 2
31 25 414 5 3 3 2
32 26 440 1 3 1 2
33 26 466 5 5 2 2
34 28 494 3 2 1 2
35 28 522 2 1 3 1
36 28 550 1 3 3 1
37 29 579 3 3 1 1
38 29 608 4 3 3 2
39 30 638 1 1 1 1
40 31 669 1 3 1 1
42 33 733 4 4 1 1
43 33 766 1 3 2 1
44 34 800 4 5 2 2
45 35 835 4 3 2 1
46 35 870 2 2 3 2
47 37 907 1 1 3 1
48 37 944 2 4 3 2
49 38 982 3 1 1 1
50 38 1020 4 3 1 2
51 40 1060 4 4 3 1
52 42 1102 3 1 1 2
53 42 1144 2 5 2 1
54 42 1186 1 4 3 2
55 43 1229 1 3 2 2
56 44 1273 5 4 2 2
57 46 1319 3 4 2 1
58 46 1365 5 4 2 1
59 46 1411 2 2 3 1
60 48 1459 5 4 3 1
61 49 1508 4 2 2 2
62 49 1557 1 2 3 1
63 52 1609 2 2 1 1
64 52 1661 5 1 1 2
65 52 1713 4 1 3 2
66 54 1767 4 5 1 1
67 54 1821 4 2 2 1
68 55 1876 4 4 1 2
69 55 1931 3 2 2 1
70 56 1987 4 1 2 1
71 56 2043 2 5 3 1
72 56 2099 1 5 3 2
73 57 2156 2 4 2 2
74 58 2214 2 3 2 1
75 58 2272 5 1 3 1
76 58 2330 4 4 3 2
77 59 2389 2 2 1 2
78 59 2448 5 2 3 2
80 61 2569 3 3 2 2
81 61 2630 3 2 3 2
82 62 2692 2 1 1 2
83 62 2754 1 1 2 2
84 62 2816 4 3 3 1
85 63 2879 4 3 1 1
86 63 2942 3 1 2 2
87 64 3006 2 3 1 1
88 64 3070 3 5 3 1
89 65 3135 4 5 1 2
90 66 3201 4 1 3 1
91 67 3268 3 3 1 2
92 68 3336 5 5 1 1
93 68 3404 4 2 3 2
94 69 3473 5 5 2 1
95 70 3543 4 4 2 2
- - -
149 105 8013 1 1 2 1
5.2.1 Upper bounds and lower bounds:
Here we discuss an efficient method to compute upper and lower bounds for MDAP. The lower bound by continuous relaxation provides optimal value. Initially the upper bound (UB) of the partial word taken as infinity (or) a trial known solution value, the lower bound (LB) for the values of the block of words represented by Lk can be calculated using the following formula.
LB (Lk) = V (Lk) + DC (k + n – k) – DC (k),
Where V(Lk) be the value of the partial word Lk and is defined as follows.
V (Lk) = V (Lk-1) + D (k) with V (L0) = 0
5.3 Feasibility criterion of a Partial Word:
A recursive algorithm is developed for checking the feasibility of a partial word. Lk+1 = (1, 2 ……,k, k+1) given that Lk is a feasible partial word. We will introduce some more notations which will be useful in the sequel.
IR be an array where IR (i) =1, i N represents that the job i is assigned to some machine, otherwise zero.
IC be an array where IC (i) =1, i N indicates that the machine i is assigned to some job, otherwise zero.
PJ be an array where PJ (i) = is the assignment of job ‘i’ on machine ‘’, otherwise 0.
L be an array where L (i) is the letter in the ith position of a partial word
ICF be an array where ICF (i) =, i p indicates that the facility is used times up to the ith position of a partial word and is ≤F0.
IRC be an array where IRC (i) = β, i q indicates that the concession is used β times up to the ith position of a partial word and is ≤C0.
Then for a given partial word Lk = (1, 2 ……,k), the values of the arrays IR, IC, ICF, IRC, PJ and L are as follows.
IR(R (i)) =1, i=1, 2, …k, otherwise IR (j)=0; IC(C (i)) =1, i=1, 2 …k, otherwise IC (j)=0 ICF(C(i))=ICF(C(i)) +1, i = 1, 2, ….k IRC(R(i))=IRC(R(i))+1, i =1, 2, …..k
PJ(R (i)) = C (i), i=1, 2 …k, otherwise PJ (j) =0 L (i) = i, i=1, 2 …k, otherwise L (j) =0.
The recursive algorithm for checking the feasibility of a partial word Lk is given as follows: In the algorithm first we equate IX=0. At the end If IX=1 then the partial word is feasible, otherwise it is infeasible. For this algorithm we have RA=R (k), CA=C (k), PF = P (k) and QC= Q (k). Algorithm 1: (Checking the Feasibility for a Partial Word)
Step 1: Is (IX = 1) If Yes Goto 7; Else Goto 2 Step 2: IS (IR (RA)) = 1) If Yes Goto 7; Else Goto3 Step 3: IS (IC (CA)) = 1) If Yes Goto 7; Else Goto 4 Step 4: IS (IRC (QC) = IRC (QC) + 1≤C0) If Yes Goto 5; Else Goto 7 Step 5: IS (ICF (PF) = ICF (PF) +1≤F0) If Yes Goto 6; Else Goto 7
Step 6: IX = 1 Goto 7
Step 7: STOP
a) LB (Lk) < UB. Then we check whether Lk is feasible or not. If it is feasible we proceed to consider a partial word of order (k+1), which represents a sub block of the block of words represented by Lk. If Lk is not feasible then consider the next partial word of order by taking another letter which succeeds ak in the kth position. If all the words of order ‘k’ are exhausted then we consider the next partial word of order (k–1).
b) LB (Lk) > UB. In this case we reject the partial word Lk. We reject the block of word with Lk as leader as not having optimum feasible solution and also reject all partial words of order ‘k’ that succeeds Lk.
Algorithm –2: (Pattern Recognition based Lexi - Search Algorithm (LSA))
Step 1: (Initialization)
The arrays SN, D, DC, R, C, P, Q and N are made available. IR, IC, IP, IQ, PJ, L, ICF, IRC, V and LB are initialized to zero. The values I=1, J=0, UB=200(VT).
Step 2: J=J+1
MAX = N x N x P x Q – I
IS (J>MAX) If Yes Goto 12; Else Goto 3
Step 3: L (I) =J
IS (I=1) If Yes V (I) =D (J), Goto 4; Else Goto 3A
Step 3A: V (I) =V (I –1) + D (J) Goto 4
Step 4: LB (I) =V (I) +DC (J+N–I)–DC (J) Goto 5
Step 5: IS (LB (I) ≥UB) If Yes Goto 11; Else Goto 6 Step 6: RA=R (J)
CA=C (J)
PF=P (J)
QC=Q (J) Goto 7
Step 7: Check the feasibility of L (using algorithm 1)
IS (IX=1) If Yes Goto 8; Else Goto 2
Step 8: IS (I=N) If Yes Goto 9; Else Goto 10
Step 9: L (I) =J
L (I) is full length word and is feasible UB=V (I), record L (I), UB. Goto 13
Step 10: IR (RA)=1
IR (CA)=1
PJ (RA)=CA
I=I+1 Goto 2
Step 11: IS (I=1) If Yes Goto 14; Else Goto 12
Step 12: I=I –1 Goto 13
Step 13: J=L(I)
RA=R(J)
CA=C(J)
PF=P(J)
QC=Q(J)
IR(RA)=0
IC(CA)=0
IRC(RA)=IRC(RA) –1 ICF (CA) =ICF (CA)–1 Goto 2
Step 14: STOP & END
5.4 Search Table:
The working details of getting an optimal word using the above algorithm for the illustrative numerical example is given in the following table. The columns named (1), (2), (3), (4) and (5) gives the letters in the first, second, third, fourth and fifth places of a word respectively, the corresponding V(I) and LB(I) are indicated in the next two columns. The column R, C, P and Q gives the row, column, facility and concession indices of the letter. The last column gives the remarks regarding the acceptability of the partial words. In the following table A indicates ACCEPT and R indicates REJECT.
Table – 3: Search Table (ST)
SN 1 2 3 4 5 LB(I) R C P Q REM
1 01 17 2 1 1 1 A
2 02 17 5 4 1 1 A
3 03 17 4 4 2 1 R
4 04 19 5 3 2 2 R
5 05 21 1 2 1 1 R
6 06 23 1 2 2 1 A
7 07 23 2 5 1 1 R
8 08 25 2 3 1 2 R
9 09 26 1 1 3 2 R
10 10 27 3 3 3 2 A
11 11 27 3 5 3 2 R
12 12 28 4 3 2 2 R
13 13 29 2 2 2 1 R
14 14 30 3 4 1 1 R
15 15 31 2 3 3 1 R
16 16 33 1 4 1 1 R
17 17 33 3 2 1 1 R
18 18 33 2 4 2 1 R
19 19 34 4 1 1 1 R
20 20 34 5 2 2 2 R
21 21 35 2 4 1 1 R
22 22 36 1 5 1 2 R
23 23 36 2 5 2 2 R
24 24 38 1 5 1 1 R
25 25 38 5 4 1 2 R
26 26 39 3 5 2 2 R
27 27 40 4 2 1 1 R
28 28 40=UB 4 5 3 2 A *
29 11 29 3 5 3 2 A
30 12 29=UB 4 3 2 2 A *
31 12 31>UB R
32 07 26 2 5 1 1 R
33 08 28 2 3 1 2 R
34 09 30>UB R
35 03 19 4 4 2 1 A
36 04 19 5 3 2 2 A
37 05 19 1 2 1 1 A
38 06 19 1 2 2 1 R
39 07 20 2 5 1 1 R
40 08 21 2 3 1 2 R
41 09 22 1 1 3 2 R
42 10 22 3 3 3 2 R
43 11 23=UB 3 5 3 2 A *
44 06 20 1 2 2 1 R
46 08 24>UB R
47 05 21 1 2 1 1 A
48 06 21 1 2 2 1 R
49 07 23=UB* R
50 06 23=UB R
51 04 22 5 3 2 2 A
52 05 22 1 2 1 1 A
53 06 22 1 2 2 1 R
54 07 24>UB R
55 06 24>UB R
56 05 25>UB R
57 02 20 5 4 1 1 A
58 03 20 4 4 2 1 R
59 04 23=UB R
60 03 23=UB R
At the end of the search the current value of UB is 23 and it is the value of the feasible word L5 = (1, 3, 4, 5, 11), it is given in 43 row of search table and the corresponding order tipples are (2, 1, 1, 1), (4, 4, 2, 1), (5, 3, 2, 2), (1, 2, 1, 1), (3, 5, 3, 2). For this optimal feasible word the arrays IR, IC, IP, IQ, L, PJ, ICF and IRC are given in the following table.
1 2 3 4 5 IR 1 1 1 1 1 IC 1 1 1 1 1 L 01 03 04 05 11 PJ 2 1 5 4 3 ICF 2 2 1 - - IRC 3 2 - - -
The final optimal solution for this numerical example of MDAP is given below.
Jobs 1 2 3 4 5
Machines 2 1 5 4 3
Facility 1 1 3 2 2 Concession 1 1 2 1 2
Cost (D) 05 02 09 03 04
6. Experimental results:
A Computer program for the proposed algorithm is written in C language and is tested on the system COMPAQ dx2280 MT. We tried a set of problems for different sizes. Random numbers are used to construct the Time matrix. The following table gives the list of the problems tried along with the average CPU run time in seconds.
Table: 4
SN Problem dimensions
NPT
CPU run time in seconds of the proposed LSA
TYPE 1 TYPE 2 TYPE 3
N P Q F0 C0 Min. Max. Avg. Min. Max. Avg. Min. Max. Avg.
The above table shows that the CPU runs time taken of the proposed algorithm for the search for finding the solution of various sets of problems. The time is represented in seconds. In the table-5 SN = serial number, N = number of jobs/machines, P = number of facilities, Q=number of concessions, F0 =used number of facilities C0 = used number of concessions. In the next columns of Type1, Type 2, Type 3 shows that the minimum, maximum and average run time of CPU for obtaining the optimal solution.
Experiments are carried out on a COMPAQ (dx2280 MT) system and by generating the three different classes of random data sets, where the three types of data sets are defined as follows:
Type 1: C (i, j, k) are uniformly random in [1, 1000]
Type 2: a) C (i, j, k) are uniformly random in [1, 1000]
b) UB=0.85UB
Type 3: a) C (i, j, k) are uniformly random in [1, 1000]
b) Max=(N x N x P x Q)/3
And the results are tabulated in the above Table. For each type, six data sets are tested. It is seen that time required for the search of the optimal solution is fairly less.
In the above table it can be noticed that the average CPU run times for Type 1, Type 2 and Type 3 are in decreasing order. Type 1 gives the CPU run time of the entire search for getting an optimal solution. To reduce the excess of the neighboring search for UB, we think off Type 2. In this type we quoted that the search is made around 0.85UB. But in this case we are not guarantee the optimal solution and in Type 3 the search is using 1/3 of the alphabet table, because this is a minimization model. But in all the cases we are getting the same optimal solution as a coincidence.
6.1. Comparative results:
We implemented the Pattern Recognition Technique based Lexi Search Algorithm (LSA) with C language. Also we have tested the proposed algorithm in the case of three dimensional assignment problems and compared the computational results with the branch and bound algorithm of Frieze and Yadegar - (1981). Table-5 shows that the comparative results of different sizes.
Table -5
*Solution time (second) of OR benchmark library instances 1-6.
CPU run time of BBA and LSA
SN M N P BBA LSA 1 10 10 7 4.1 0.0549
2 20 25 15 8.9 2.1538
3 30 30 30 13.5 4.9315 4 50 50 40 24.3 12.072 5 50 50 50 40.3 15.436 6 60 60 60 198.6 20.642
In Fig. 1 the problem instances presented in Table – 6 are taken on X – axis and the CPU run time of BBA and LSA algorithms given in the same table are taken on Y – axis. In the graph the exponential trend of BBA and LSA is also represented. The existing BBA took more time to obtain the solution than the proposed LSA. The proposed LSA lie almost along with the horizontal line (X- axis); it seems that it converge the optimal solution in least time. Hence, we suggest the LSA for solving higher dimensional problems.
7. CONCLUSIONS
In this paper a Variant Multi-Dimensional Assignment Problem with cost minimization is considered. It is formulated as a zero-one programming problem. The problem is then solved by Lexi-Search Algorithm based on Pattern Recognition Technique. The method presented is quite general and can be applied to the typical problems in other areas of combinatorial optimization (like set covering problems, knapsack problems, transportation problems, etc.). The proposed algorithm is tested and the experimental results are reported. The cost values are randomly generated. The comparative computational details are also reported. Lexi-Search Algorithms are proved to be more efficient in many combinatorial problems. It is proved that the Lexi-Search with pre-processing is very effective in solving assignment problem and travelling salesman problem. Lexi Search strategy stands as a good candidate for being an AI (Artificial Intelligence) search mechanism. Apart from the minimal requirement of memory, the Lexi Search helps to obtain optimality, faster than Branch Bound in many cases. Further,Lexi Search clearly specifies Simpler rules for Branching, Bounding and Termination. Its efficiency over the Bounding Procedures (like Lagrangean Relaxation) in Branch & Bound method is also significant. Based on this experience we strongly feel that the proposed algorithm can perform larger size problems and more over it is very efficient.
References:
[1] Aiex. R. M., Resende, M. G. C., Pardalos, P. M. and Toraldo G. (2005): Grasp with Path Relinking for Three-Index Assignment. INFORMS J. On Computing, 17(2): 224–247.
[2] Balas, E. and Saltzman, M. J. (1991): An Algorithm for the Three-Index Assignment Problem. Oper. Res., 39(1):150–161.
[3] Bandelt, H. J., Maas, A. and Spieksma F. C. R. (2004): Local Search Heuristics for Multi-Index Assignment Problems with Decomposable Costs. Journal of the Operational Research Society, 55(7): 694–704.
[4] Bhavani & Sundara Murthy, M. (2006): Truncated M-Travelling Salesmen Problem, OPSEARCH, Vol.43, No. 2. [5] Burkard, R. E., Rudolf, R. and Woeginger, G. J. (1996): Three-Dimensional Axial Assignment Problems with
Decomposable Cost Coefficients. Technical Report 238, Graz.
[6] Crama, Y. and Spieksma, F. C. R. (1992): Approximation Algorithms for Three-Dimensional Assignment Problems with Triangle Inequalities. European Journal of Operational Research, 60 (3): 273–279.
[7] De Maio, A & Roveda, C. (1971): An all 0-1 Algorithm for a Certain Class of Transportation Problems, Op. Res.19, pp 1406-1418.
[8] Frieze, A.M. and Yadegar J. (1981): An Algorithm for Solving 3-Dimensional Assignment Problems with Application to Scheduling a Teaching Practice. J. Ope. Res., vol. 32 (989-995).
[9] Ghose Shila (1971): The Maximum Capacity Routes: A Lexi Search Approach, Op. Res.8, pp 209-255.
[10] Grundel, D, Oliveira, C. and Pardalos, P. (2004): Asymptotic Properties of Random Multidimensional Assignment Problems. Journal of Optimization Theory and Applications, 122(3):33–46.
0 50 100 150 200 250
1 2 3 4 5 6
CP
U
Run
Time
in
Sec.
Problem instances as in Table ‐6
BBA
LSA
Expon. (BBA)
Expon. (LSA)
[11] Gutin, G., Goldengorin, B. and Huang, J. (2008): Worst Case Analysis of Max-Regret, Greedy and other Heuristics for Multidimensional Assignment and Travelling Salesman Problems. Journal of Heuristics, 14(2):169– 181.
[12] Huang, G. and Lim A. (2006): A Hybrid Genetic Algorithm for the Three-Index Assignment Problem. European Journal of Operational Research, 172(1):249–257.
[13]Karapetyan, D., Gutin, G. and Goldengorin, B. (2008): Empirical Evaluation of Construction Heuristics for the Multidimensional Assignment Problem. In: London Algorithmics 2008: Theory and Practice.
[14] Kuroki, Y. and Matsui T. (2007): An Approximation Algorithm for Multidimensional Assignment Problems Minimizing the Sum of Squared Errors. Discrete Applied Mathematics, 157(9):2124–2135, 2007.
[15] Pandit, S.N.N (1963), Some Combinatorial Search Problems, PhD thesis, IIT Kharagpur, India (Unpublished). [16] Pasiliao, E. L., Pardalos, P. M. and Pitsoulis L. S. (2005): Branch and Bound Algorithms for the Multidimensional
Assignment Problem. Optimization Methods and Software, 20(1):127–143.
[17] Pierskalla, W. P. (1968): The multidimensional assignment problem. Operations Research, 16:422–431.
[18] Ravi Kumar, M. (1994): Data Guided Algorithm in Combinatorial Optimization, Ph.D. thesis, Osmania University, Hyderabad, India (Unpublished).
[19] Robertson, A. J. (2001): A Set of Greedy Randomized Adaptive Local Search Procedure (Grasp) Implementations for the Multidimensional Assignment Problem. Comput. Optim. Appl., 19(2): 145–164.
[20] Ross, G.T. & Soland, R.M. (1975): An Algorithm for the Generalized Assignment Problem. Mathematical Programming; pp 91-103.
[21] Shalini Arora and Puri M.C. (1998): A Variant of Time Minimizing Assignment Problem. European Journal of Operational Research, 110, 314-325.
[22]Spieksma, F. and Woeginger, G. (1996): Geometric Three-Dimensional Assignment Problems. European Journal of Operational Research, 91: 611–618.
[23] Sobhan Baubu, K., Chandrakala, K., purusotham, S. and Sundara Murthy, M (2010): A New Approach for Variant Multi Assignment Problem. International Journal on Computer Science and Engineering, Vol. 2(5): 1633-1640. [24] Srinivasan V. & G.L. Thompson (1973). An Algorithm for Assigning Uses to Sources in a Special Class of
Transportation Problems, Op. Res., Vol. 21, No.1.
[25] Subramanyam, Y.(1980): Scheduling, Transportation & Allied Combinatorial Programming Problems, Ph.D. thesis, REC Warangal, India (Unpublished).
[26] Sundara Murthy, M. (1979): Combinatorial Programming: A Pattern Recognition Technique Approach, a PhD thesis, REC Warangal, India (Unpublished).