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

1from jetgp.utils import pso as core_pso 

2 

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) 

17 

18 # Remove unrelated keys 

19 for key in ["n_restart_optimizer", "optimizer", "debug", "x0"]: 

20 kwargs.pop(key, None) 

21 

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 )