fname = Fname(origin=fname_origin, log=fname_log) return Param(IND_SIZE=IND_SIZE, n=n, k=k, fname=fname) if __name__ == "__main__": if len(sys.argv) != 3 or not sys.argv[1].isdecimal( ) or not sys.argv[2].isdecimal(): print("usage: {0} <IND_SIZE> <k>".format(sys.argv[0])) sys.exit() param = get_param(int(sys.argv[1]), int(sys.argv[2])) # input IND_SIZE, k model_origin = problem.nk_landscape.from_setting(param.n, param.IND_SIZE, param.k) ga.to_pkl(model_origin, param.fname.origin) for i in range(100): random.seed(i) model = copy.deepcopy(model_origin) model, logbook = ga.run(model, ngen=3000) to_csv(param.fname.log.format(i=i), logbook, exist_header=True) # calculate information total_time = sum(logbook.select('time')) maxidx = numpy.argmax(logbook.select('max')) maxval = logbook.select('max')[maxidx] print("idx: {0}, best_fit: {1}, time: {2}".format(
) or not sys.argv[2].isdecimal(): print("usage: {0} <IND_SIZE> <k>".format(sys.argv[0])) sys.exit() param = get_param(int(sys.argv[1]), int(sys.argv[2])) # input IND_SIZE, k if not os.path.exists(param.fname.tar): print("requirment: python -O experiment_nk_landscape <IND_SIZE> <k>") sys.exit() model_tar, _ = ga.from_pkl(param.fname.tar) model_ori = problem.good_basis.from_setting(param.n, model_tar, param.IND_SIZE) model_ori, logbook = ga.run(model_ori, param.IND_SIZE * 4) ga.to_pkl(model_ori, param.fname.ori) to_csv(param.fname.log_ori, logbook, exist_header=True) ind = model_ori.halloffame[0] """ only load model_tar, _ = ga.from_pkl(param.fname.tar) model_ori, _ = ga.from_pkl(param.fname.ori) ind = model_ori.halloffame[0] """ for i in range(100): random.seed(i) model = ind.change_basis(model_tar) model, logbook = ga.run(model, ngen=3000) to_csv(param.fname.log_tar.format(i=i), logbook, exist_header=True)
with open(fname, "wb") as fout: pickle.dump(basis, fout) return if __name__ == "__main__": if len(sys.argv) != 2 or not sys.argv[1].isdecimal(): print("usage: {0} <IND_SIZE>".format(sys.argv[0])) sys.exit() param = get_param(int(sys.argv[1])) # input IND_SIZE save_basis(param.basis, param.fname.basis) model_origin = problem.v_onemax.from_setting(param.n, param.IND_SIZE, param.basis) ga.to_pkl(model_origin, param.fname.origin) #, with_rndstate=True) for i in range(100): random.seed(i) model = copy.deepcopy(model_origin) model, logbook = ga.run_target(model, ngen=100, fit_val_target=(param.IND_SIZE, ), nloop=100) to_csv(param.fname.log.format(i=i), logbook, exist_header=True) # calculate information total_time = sum(logbook.select('time')) maxidx = numpy.argmax(logbook.select('max'))