Possible features:
- Define objective (subjective) functions for each sub-population
- Migration scheme
Example
Working with 3 sub-populations:
# objective function
f(x) = sum(10x .^ 2 .- sin.(x)/10)
bounds = [-10ones(5) 10ones(5)]
# subjective functions
f1(x) = f(x)
f2(x) = f(x)
f3(x) = f(x)
# migration scheme (copy all individuals to pop1)
migration(pop1, pop2, pop3) = append!(pop1, pop2, pop3)
# Three optimizers for each sub-pop
cc = Coevo(ECA(), DE(), PSO(); migration_scheme = migration, fitness=[f1, f2, f3])
optimize(f, bounds, cc)
Ref: Potter, M. and De Jong, K., 2001, Cooperative Coevolution: An Architecture for Evolving Co-adapted Subcomponents.
Possible features:
Example
Working with 3 sub-populations: