Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Co-evolutionary Framework #67

Open
jmejia8 opened this issue Feb 28, 2023 · 0 comments
Open

Add Co-evolutionary Framework #67

jmejia8 opened this issue Feb 28, 2023 · 0 comments

Comments

@jmejia8
Copy link
Owner

jmejia8 commented Feb 28, 2023

Possible features:

  1. Define objective (subjective) functions for each sub-population
  2. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant