To improve a baseline algorithm for team forming: Simulated annealing K team-forming algorithm for homogeneous grouping

plantationscarfΤεχνίτη Νοημοσύνη και Ρομποτική

25 Νοε 2013 (πριν από 3 χρόνια και 6 μήνες)

81 εμφανίσεις


189

To improve a baseline algorithm for team
forming: Simulated annealing K
team
-
forming algorithm for
homogeneous

grouping

Eric Zhi
-
Feng Liu Sunny S. J. Lin Shyan
-
Ming Yuan

Hsinchu National Chiao Tung

University

Taiwan,China

Tel: +886
-
3
-
57
1
-
2121 ext 58053


Fax: +886
-
3
-
572
-
1490

E
-
mail:totem@cis.nctu.edu.tw sunnylin@cc.nctu.edu.tw smyuan@cis.nctu.edu.tw

In recent studies, some researchers were eager for the answer of how to group a perfectly dream
team. There are various grouping methods, e.g. random assig
nment,
homogeneous

grouping with
personality or achievement and
heterogeneous

grouping with personality or achievement, were
proposed. Some researchers have compared the performance of some teams, they were formed
through some grouping method, with other t
eams formed via random assignment, but the results
were not consistent. Sometimes there are no significant difference and then
surprising
ly have
significant difference in other studies. Why the results were not consistent? In our point of view, the
random
assignment by instructor or manager could not be reproduced, some instructors could put
some students in a team perfectly via their experiences, and some algorithms would match students
perfectly but in chance teams assigned by instructor also good enough.

This
phenomenon

would stay
continuance

until a baseline algorithm is to be proposed as a base of comparison. Based on the
above discussions, authors have proposed an easy and non
-
perfect team
-
forming algorithm that
could be used by other researchers to co
mpare with in the past. That algorithm called "K
team
-
forming algorithm," which could group K students in a team with students' personal
characteristics or performance. Authors would like to revise that non
-
perfect K team
-
forming
algorithm via the concept
of simulated annealing, show the source code, which could be executed in
MATLAB 6.x, and the performance of this algorithm in this proposal.

Key words:
Team forming random assignment
homogeneous

grouping
heterogeneous

grouping

1 Simulated annealing K t
eam
-
forming algorithm

This algorithm (referred to Table 1) was revised from K team
-
forming algorithm [2], which similar to K Means
clustering algorithm [1]. In K Means clustering algorithm, it put closer data points into one of the K ( 1< K <
total number
of data points) clusters by distance measure. In K team
-
forming algorithm, also it put K similar
students into a
homogeneous

team by distance measure used by K Means clustering algorithm. In simulated
annealing K team
-
forming algorithm, author try to impro
ve the answers gained from K team
-
forming via
gradually searching the lowest variance or optimal answer. The simulated annealing process is a cooling process
from high
temperature

(e.g. 100) to low
temperature

(e.g. 0). In higher
temperature

this algorithm

would be with
higher probability jumping from local optimal, and then in lower temperature this algorithm would gradually
converge to a solution, which would be a optimal solution or a solution closer to optimal.










190

Table 1: The source code of simula
ted annealing K team
-
forming algorithm (please read it from first
column and then second column)

% Initial variable. i = total # of people, u =
%
# of
people of each cluster

clea
r;

i = 300;

u = 3;

L = i /u;

p = 1:1:i;

C(L, u) = 0;

CM(L) = 0;

CV(L) = 0;

CIn
dex(L)=0;

% Step 1 Randomly select L value as

%
cluster center

for h=1:L

C(h,1) = p(h);

CM(h) = p(h);

CV(h) = 0;

CIndex(h)=1;

end

% Step 2: put another i
-
L value to each

%
cluster

for h=L+1:
I

clust = 0; distans = 1000000;

for j=1:L

temp = sqrt((p(h)
-

C
M(j))*(p(h)
-

CM(j)));

if temp < distans

clust = j; distans = temp;

end

end

if Cindex(clust) < 3

C(clust, CIndex(clust)+1) = p(h);

CIndex(clust) = Cindex(clust) + 1;

CM(clust) = Mean(C(clust, 1:u));

Else

update = 1;

for g=1:L

if Cindex(g) < 3 & update ==1

C(g, Cindex(g)+1) = p(h);

CIndex(g) = CIndex(g) + 1;

CM(g) = Mean(C(g, 1:Cindex(g)));

update = 0; end end

end

end

% calculate their Variance

for g=1:L

% Continued from first column

CV(g) = var(C(g, 1:u));

end

% Step 3: Update cluster members until no
more
%
exchange

CVSum(11) = 0;

CVindex = 1;

for proba=0.1:0.1:1.1

CVSum(CVindex) = sum(CV);

Cvindex = CVindex + 1;

Temperature = 0;

Tindex = 1;

Tchange =
-
5;

Tschedule = 100:Tchange:0;

Temperature = Tschedule(Tindex);

Ttotal = size(Tschedule);

while Tindex
~= Ttotal(2)

Tindex = Tindex + 1;

for h=1:L

for g=1:u

clust = 0;

distans = 1000000;

for t=1:L

temp = sqrt((C(h,g)
-

CM(t))*(C(h,g)
-

CM(t)));

if temp < distans

clust = t;

distans = temp; end

end

if clust ~= h

%exchange with other cluster

temp1 = C(h,g);

index = 0;

for o=1:u

temparray1 = C;

temparray2 = C;

swap1 = temparray1(clust,o);

temparray1(clust,o) = C(h,g);

temparray2(h,g) = swap1;

temp2 = (var(temparray1(clust,1:u))
-

CV(clust)) +
(var(temparray2(h,1:u))
-

CV(h));

if temp2 < 0

index = o;

elseif exp
(
-
temp2/Temperature) > proba

index = o;

end end

if index ~= 0

temps = C(clust, index);


C(clust,
index) = temp1; C(h,g) = temps; %
update their Mean and Variance

CV(h) = var(C(h, 1:u));

CV(clust) = var(C
(clust,1:u));

CM(h) = Mean(C(h, 1:u));
CM(clust) = Mean(C(clust, 1:u));

end end

end

end

Temperature = Tschedule(Tindex);

e
nd

e
nd

xaxis = 0:0.1:1.0;

plot(xaxis, CVSum, '
--
*');

2 Performance of simulated annealing K team
-
forming algorithm

Author has applied this algorithm to cluster 3 (let u=3) students into a team from 9 (let i=9) students (3 teams) to
90 (let i=90) students (30 teams) and generated students' characteristics from 1 to n (9


n


90). The variance of
each perfect team shoul
d equal to 1 then the total variance equal to number of teams. The Figure 1 showed this
algorithm is always better cluster teams than K team
-
forming algorithm, so this algorithm would perfectly be
used as a better team
-
forming algorithm and the team
-
formin
g strategy could be reproduced in each experiment.

191

The Figure 2 also showed that when probability equal to and great than 0.8, the variance would stay
steady

and
find the better solution. Author suggest researchers, who interested in using this algorithm,
should set the
probability ranged from 0.8 to 1.0.


Figure 1: The performance of simulated annealing K team
-
forming algorithm


Figure 2: The variance is decreased when probability gets higher

3 Acknowledgments

The authors would like to thank the Nationa
l Science Council of the Republic of China for financially supporting
this research under Contract Nos.
NSC
90
-
25
20
-
S
-
009
-
0
02 and NSC90
-
2520
-
S
-
009
-
003.

Reference

[1] L. Kaufman, and P. J. Rousseeuw, “Finding groups in data: An introduction to cluster anal
ysis,” A
Wiley
-
Interscience Publication, John Wiley & Son, Inc, New York.

[2] E. Z. F. Liu, “To provide a baseline algorithm for team forming: K team
-
forming algorithm,” Submitted to
ICCE 2002 conference, New Zealand: Auckland, 2002.