Application Of Tabu-Search In Outsourcing Problem
In order to demonstrate the application of Tabu search in combinatorial optimization problem, a manufacturing unit having of five machines {M1, M2, M3, M4, M5}, has been taken. Machine M5 is an outsourcing machine and one-way transportation time between outsourcing and manufacturing machine is 5 units. If due dates of customer's order that is made of eight various jobs produced by 20 various operations are D1 ≤ 55 and their delivery and assembly time are AT1 = DD1 = 10, after that in order to produce customer order as per to their due date, make span of the operation sequence should be less than 35. Alternative machines subsequent to each operation and their machining time are displayed in Table no.2, while, precedence relationship among different operations are displayed in Figure no.4. In outsourcing problem, the detailed steps of applying the Tabu-search are described below:
Table no.2: Details of Jobs, Operations, Processing Time for Prismatic Part
Job No.
|
Operations
Number
|
Processing/ Outsourcing Unit
|
Unit Processing
Time
|
1.
|
1
|
M1
|
5
|
M2
|
3
|
2
|
M2
|
7
|
2.
|
3
|
M3
|
6
|
4
|
M2
|
3
|
M4
|
3
|
M5*
|
4
|
3.
|
5
|
M1
|
7
|
6
|
M2
|
4
|
M3
|
6
|
7
|
M3
|
7
|
M4
|
7
|
4.
|
8
|
M2
|
4
|
M5*
|
10
|
5.
|
9
|
M1
|
4
|
M2
|
5
|
M3
|
8
|
10
|
M4
|
5
|
11
|
M4
|
6
|
M5*
|
5
|
12
|
M1
|
4
|
M5*
|
4
|
6.
|
13
|
M2
|
2
|
M3
|
6
|
14
|
M3
|
8
|
7.
|
15
|
M3
|
3
|
M4
|
8
|
16
|
M2
|
6
|
M4
|
7
|
M3
|
4
|
8.
|
17
|
M1
|
3
|
M3
|
5
|
18
|
M3
|
7
|
19
|
M4
|
9
|
M5*
|
6
|
20
|
M1
|
6
|
M5*
|
3
|
Figure: Directed Graph of a Manufacturing Process with Precedence
Steps for Implementing Tabu Search to an Outsourcing Problem
Step 1: Generate an initial feasible solution and allocate it to Sol.
Determine its make span value MT (Sol).
Step 2: Initialize T = T0 = 300; K = 1; TL = ?; Reject = 0;
Solb = Sol.
Step 3: Generate
SolP, Sol) that is Generates new solution from the existing one.
Step 4: If pre-treated solution is feasible one that is SolP satisfies all the conditions then go to next step else go to Step 3 and make a new solution.
Step 5: If Solp ∈ TL
Then go to Step 6
Else go to Step 7.
Step 6: If MT (SolP) ≥ A
Then, go to Step 7
Else, go to Step 3.
Step 7: ?MT = MT (SolP) - MT (Sol)
If ?MT ≥ 0, Then, go to Step 8.
Step 8: allocate
Sol = SolP.
involve Solp in tabu-list
TL ← Solp
Update aspiration
A ← MT (SolP).
Step 9 : ?MTb = MT (SolP) - MT (Solb) If, ?MTb ≥ 0
Then go to Step 10
Else, go to Step 14.
Step 10 : allocate
Solb = Solp
Reject ← 0
go to Step 14.
Step 11 : calculate
Transition Probability or TP
Generate a random number R in between (0, 1) If (TP ≤ R)
go to Step 13
else go to next step.
Step 12 : Assign
Sol = SolP
Include SolP in tabu list
A ← MT (SolP).
Step 13 : Reject = Reject + 1; If Reject ≥ 3
go to Step 15
else go to Step14.
Step 14 : K = K + 1;
Change the temperature
T = T0⁄(1 + lnK) If K ≥ 20
go to Step 15
else go to Step 3.
Step 15 : FREEZE
Solb is the near optimal solution.