public static ASSearch setMaxIteration(ASSearch search, int maxIteration) {
   if (search instanceof AntSearch) {
     ((AntSearch) search).setMaxGenerations(maxIteration);
     return search;
   }
   if (search instanceof GeneticSearch) {
     ((GeneticSearch) search).setMaxGenerations(maxIteration);
     return search;
   }
   if (search instanceof HarmonySearch) {
     ((HarmonySearch) search).setIteration(maxIteration);
     return search;
   }
   if (search instanceof MemeticSearch) {
     ((MemeticSearch) search).setMaxGenerations(maxIteration);
     return search;
   }
   if (search instanceof PSOSearch) {
     ((PSOSearch) search).setMaxGenerations(maxIteration);
     return search;
   }
   if (search instanceof SimulatedAnnealingSearch) {
     ((SimulatedAnnealingSearch) search).setMaxIteration(maxIteration);
     return search;
   }
   if (search instanceof RandomSearch) {
     ((RandomSearch) search).setMaxIteration(maxIteration);
     return search;
   }
   if (search instanceof TabuSearch) {
     ((TabuSearch) search).setM_numIterations(maxIteration);
     return search;
   }
   return search;
 }