A new method is presented to find prototypes for a nearest neighbour classifier. The prototype locations are optimised through a gradient descent and a deterministic annealing process. The proposed algorithm also includes an initialisation strategy which aims to provide the maximum classification rate on the training set with the minimum number of prototypes. Experiments show the efficiency of this algorithm on both real and artificial data. Copyright (C) 1997 Pattern Recognition Society.