This paper considers a clustering problem where a given data set is partitioned into a certain number of natural and homogeneous subsets such that each subset is composed of elements similar to one another but different from those of any other subset. For the clustering problem, a heuristic algorithm is exploited by combining the tabu search heuristic with two complementary functional procedures, called packing and releasing procedures. The algorithm is numerically tested for its effectiveness in comparison with reference works including the tabu search algorithm, the K-means algorithm and the simulated annealing algorithm. (C) 2000 Pattern Recognition Society. Published by Elsevier Science Ltd. All rights reserved.