Вы находитесь на странице: 1из 15

METAHEURISTICS FOR COMBINATORIAL

OPTIMIZATION
Ajith Kumar J.

Prof. Ajith Kumar, XLRI


A combinatorial optimization problem

Prof. Ajith Kumar, XLRI 2


A combinatorial optimization problem
So many discrete combinations are possible, for example:
Machine Location Machine Location Machine Location Machine Location
Grinding A Grinding A Grinding I Grinding I
Stamping B Stamping B Stamping B Stamping B
Lathe C Lathe C Lathe C Lathe G
Forging D Forging H Forging H Forging H
Drilling E Drilling E Drilling E Drilling E
Painting F Painting F Painting F Painting F
Milling G Milling G Milling G Milling C
Cutting H Cutting D Cutting D Cutting D
Shaping I Shaping I Shaping A Shaping A
Extruding J Extruding J Extruding J Extruding J
Entrance K Entrance K Entrance K Entrance K
16508 16593 15299 16070
 In all, 10! = 3,628,800, over 3.6 million combinations are possible, so which is
the best one for our purpose?
Prof. Ajith Kumar, XLRI 3
Tabu Search: FOUR design rules
1. Initial feasible solution: A rule that helps identify a
feasible solution to begin the search procedure.
2. Neighbours: The rule(s) for generating neighbours of
a given solution.
3. Tabu list: The rules that define what the Tabu list is,
its maximum size, how new members enter it and
how old members exit it.
4. Stopping: The rules that define when to terminate.

Prof. Ajith Kumar, XLRI 4


AN EXAMPLE OF
A TABU SEARCH
BY APPLYING
THESE FOUR RULES

Prof. Ajith Kumar, XLRI 5


Designing the Tabu Search: Example

Rule 1: Initial feasible solution Machine Location


Grinding A
o Identify an initial feasible solution. Stamping B

o Set the initial feasible solution as Lathe C


Forging D
the “current solution”. Drilling E
Painting F
Milling G
Cutting H
Shaping I
Extruding J
Entrance K

16508

Prof. Ajith Kumar, XLRI 6


Designing the Tabu Search: Example

Rule 2: Generating Neighbours


Machine Location
 A neighbour of a given solution is Grinding A
obtained by exchanging the locations of Stamping B
two currently adjacent machines. Lathe C
Forging D
 E.g. exchange A and B, B and C, C and D
Drilling E
and so on.
Painting F
 By this rule, we get 10 neighbours, with Z Milling G

values: 16027, 18103, 15648, 16036, Cutting H


Shaping I
16512, 14610, 19564, 16664, 16943,
Extruding J
16190.
Entrance K

16508
Prof. Ajith Kumar, XLRI 7
Applying Tabu Search: An Example
Applying rule 2: Generating all neighbours of the
current solution
Machine Location
Grinding A J B A A A A A A A A
Stamping B B A C B B B B B B B
Lathe C C C B D C C C C C C
Forging D D D D C E D D D D D
Drilling E E E E E D F E E E E
Painting F F F F F F E G F F F
Milling G G G G G G G F H G G
Cutting H H H H H H H H G I H
Shaping I I I I I I I I I H J
Extruding J A J J J J J J J J I
Entrance K 16027 18103 15648 16036 16512 14610 19564 16664 16943 16190
16508
Prof. Ajith Kumar, XLRI 8
Applying Tabu Search: An Example

Rule 3: Defining the Tabu list


o The Tabu list contains two solutions: these are the
respective best solutions of the previous two iterations.
o In each iteration, add the best neighbour picked, to the
Tabu list…
o …and remove the solution added two iterations back
from the Tabu list.

Prof. Ajith Kumar, XLRI 9


Applying Tabu Search: An Example
Next:
 Among the neighbours generated by applying Rule 2,
pick the best one that is not in the Tabu list.
 It can be picked even if it is worse than the current
solution.
 Set this solution as the new “current solution”.
 … add it to the Tabu list, and remove the best solution
added two iterations back.

Prof. Ajith Kumar, XLRI 10


Applying Tabu Search: An Example
new “current Tabu
Machine Location solution” list
Grinding A A A
Stamping B B B
Lathe C C C
Forging D D D
Drilling E F F
Painting F E E
Milling G G G
Cutting H H H
Shaping I I I
Extruding J J J
Entrance K 14610 14610

16508

Prof. Ajith Kumar, XLRI 11


Applying Tabu Search: An Example

Rule 4: The stopping rule


Terminate the procedure,
i. if no feasible neighbour can be found for
the current solution, or,
ii. if the improvement in the current solution
over the last 10 iterations has been either
0, or < 0.001 of the best solution obtained
so far.

Prof. Ajith Kumar, XLRI 12


THE CURRENT SOLUTION ACROSS ITERATIONS
1 2 3 4 5 6 7 8

A A A J C C C C
B B C C J J J J
C C B B B B B B
D D D D D F F D
E F F F F D D F
F E E E E E E E
G G G G G G H H
H H H H H H G G
I I I I I I I I
J J J A A A A A
16508 14610 13750 13281 11337 11801 12101 11637
Prof. Ajith Kumar, XLRI 13
Tabu Search
Find a starting solution that is feasible. Set it as the
1 INITIAL SOLUTION
current solution.

GENERATE Follow a pre-decided rule to generate all neighbours


2 NEIGHBOURS of the current solution, and evaluate them.

NEW CURRENT Pick the best non-Tabu neighbour and make it the
3 SOLUTION new current solution.

4 UPDATE TABU LIST Apply Tabu list updation rule to update the Tabu list.

CHECK FOR
5 TERMINATION
Terminate if conditions satisfied. If not, iterate.

Prof. Ajith Kumar, XLRI 14


THANK YOU

Prof. Ajith Kumar, XLRI 15

Вам также может понравиться