def simulate(samples, parallel): # create simulators simulators = {\ TRProblem: {}, SphereProblemOriginR1: {}, SphereProblemOriginR2: {}, SchwefelsProblem26: {} } for problem in problems: for optimizer in optimizers[problem]: simulators_op = [] for i in range(0, samples): simulator = Simulator(optimizer(), problem(), termination) simulators_op.append(simulator) simulators[problem][optimizer] = simulators_op simulate = lambda simulator : simulator.simulate() # run simulators for problem in problems: for optimizer, simulators_ in simulators[problem].iteritems(): if(parallel): resulting_simulators = pmap(simulate, simulators_) else: resulting_simulators = map(simulate, simulators_)
from evopy.operators.termination.accuracy import Accuracy from evopy.operators.termination.generations import Generations from evopy.operators.termination.convergence import Convergence from evopy.external.playdoh import map as pmap from os.path import exists from os import mkdir from setup import * # create simulators for problem in problems: for optimizer in optimizers[problem]: simulators_op = [] for i in range(0, samples): simulator = Simulator(optimizer(), problem(), termination) simulators_op.append(simulator) simulators[problem][optimizer] = simulators_op simulate = lambda simulator : simulator.simulate() # run simulators for problem in problems: for optimizer, simulators_ in simulators[problem].iteritems(): resulting_simulators = pmap(simulate, simulators_) for simulator in resulting_simulators: cfc = simulator.logger.all()['count_cfc'] cfcs[problem][optimizer].append(cfc) if not exists("output/"): mkdir("output/")
sklearn_cv = SVCCVSkGridLinear(\ C_range = [2 ** i for i in range(-5, 5, 2)], cv_method = KFold(20, 5)) meta_model = DSESSVCLinearMetaModel(\ window_size = 10, scaling = ScalingStandardscore(), crossvalidation = sklearn_cv, repair_mode = 'mirror') method = ORIDSESAlignedSVC(\ mu = 15, lambd = 100, theta = 0.3, pi = 70, initial_sigma = matrix([[4.5, 4.5]]), delta = 4.5, tau0 = 0.5, tau1 = 0.6, initial_pos = matrix([[10.0, 10.0]]), beta = 0.9, meta_model = meta_model) return method if __name__ == "__main__": problem = TRProblem() optfit = problem.optimum_fitness() sim = Simulator(get_method(), problem, Accuracy(optfit, 10**(-6))) results = sim.simulate()