Coverage for jetgp/hyperparameter_optimizers/pso.py: 100%
14 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-03-31 11:46 -0500
« prev ^ index » next coverage.py v7.10.7, created at 2026-03-31 11:46 -0500
1from jetgp.utils import pso as core_pso
3def pso(func, lb, ub, **kwargs):
4 """
5 Wrapper for PSO with unified interface.
6 """
7 # Extract PSO-specific args or set defaults
8 pop_size = kwargs.pop("pop_size", 20)
9 n_generations = kwargs.pop("n_generations", 50)
10 local_opt_every = kwargs.pop("local_opt_every", 15)
11 initial_positions = kwargs.pop("initial_positions", None)
12 omega = kwargs.pop("omega", 0.5)
13 phip = kwargs.pop("phip", 0.5)
14 phig = kwargs.pop("phig", 0.5)
15 seed = kwargs.pop("seed", 42)
16 debug = kwargs.pop("debug", False)
18 # Remove unrelated keys
19 for key in ["n_restart_optimizer", "optimizer", "debug", "x0"]:
20 kwargs.pop(key, None)
22 return core_pso(
23 func,
24 lb,
25 ub,
26 pop_size=pop_size,
27 n_generations=n_generations,
28 local_opt_every=local_opt_every,
29 initial_positions=initial_positions,
30 omega=omega,
31 phip=phip,
32 phig=phig,
33 seed=seed,
34 debug=debug,
35 **kwargs
36 )