Adaptive mutation for discrete problems