Co-evolution-based immune clonal algorithm for clustering