示例#1
0
def splitters() -> tp.Sequence[Optim]:
    optims: tp.List[Optim] = []
    for num_optims in [None, 3, 5, 9, 13]:
        for str_optim in ["CMA", "ECMA", "DE", "TwoPointsDE"]:
            optim = optimizerlib_registry[str_optim]
            name = "Split" + str_optim + ("Auto" if num_optims is None else str(num_optims))
            opt = ConfSplitOptimizer(multivariate_optimizer=optim, num_optims=num_optims).set_name(name)
            optims.append(opt)
    return optims
示例#2
0
def progressive() -> tp.Sequence[Optim]:
    optims: tp.List[Optim] = []
    for mutation in ["discrete", "gaussian"]:
        for num_optims in [None, 13, 10000]:
            name = ("Prog" + ("Disc" if mutation == "discrete" else "") +
                    ("Auto" if num_optims is None else
                     ("Inf" if num_optims == 10000 else str(num_optims))))
            mv = ParametrizedOnePlusOne(noise_handling="optimistic",
                                        mutation=mutation)
            opt = ConfSplitOptimizer(num_optims=num_optims,
                                     progressive=True,
                                     multivariate_optimizer=mv).set_name(name)
            optims.append(opt)
    return optims