This aims to add a replacement parameter to the random search optimization. From what I can tell, this would completely change the way random search works. So the random search with replacement=False could require a separate implementation of the optimization class.