def run(self): currval = self.initval amberoptcmd = [self.switch, str(currval)] MetaUtils.runtool(self.cmd + amberoptcmd) currfit = MetaUtils.fitness("%s_%s/log" % (self.logd, currval)) self.k_values.append((currval,currfit)) while True: sys.stderr.write("\n==> current value: %s, fitness: %s\n" \ % (str(currval),str(currfit))) neighval = self.neighbour(currval) sys.stderr.write("neighval: %s" % (str(neighval))) amberoptcmd = [self.switch, str(neighval)] MetaUtils.runtool(self.cmd + amberoptcmd) neighfit = MetaUtils.fitness("%s_%s/log" % (self.logd, neighval)) sys.stderr.write("new fitness: %s " % str(neighfit)) self.k_values.append((neighval,neighfit)) fitvals = [f for _,f in self.k_values] if MetaUtils.localmax(fitvals, 3): MetaUtils.report(self.k_values) sys.exit(0) currval = neighval currfit = neighfit
def run(self): currlen = self.length ambidextoptcmd = ["-k",str(currlen)] MetaUtils.runtool(self.cmd + ambidextoptcmd) currfit = MetaUtils.fitness("%s_%s/log" % (self.logd, currlen)) self.k_values.append((currlen,currfit)) while True: sys.stderr.write("\n==> current length: %s, fitness: %s\n" \ % (str(currlen),str(currfit))) neighlen = self.neighbour(currlen) ambidextoptcmd = ["-k",str(neighlen)] MetaUtils.runtool(self.cmd + ambidextoptcmd) neighfit = MetaUtils.fitness("%s_%s/log" % (self.logd, neighlen)) sys.stderr.write("new fitness: %s " % str(neighfit)) self.k_values.append((neighlen,neighfit)) fitvals = [f for _,f in self.k_values] if MetaUtils.localmax(fitvals, NBEST): MetaUtils.report(self.k_values) sys.exit(0) currlen = neighlen currfit = neighfit