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

General #1

Merged
merged 15 commits into from
Mar 8, 2020
Merged

General #1

merged 15 commits into from
Mar 8, 2020

Conversation

tpdsantos
Copy link
Owner

This is a major change from the original repository. Now each type of variable (represented by a gene), has its own structure, which makes it easier to create individuals and populations.

The individual, instead of being a vector of values, is a vector of AbstractGene. Each entry of the vector is a gene, of any type supported (binary, integer and float). Now the individual can have different types of genes.
Already did some testing regarding mutations of any gene, and they're working fine. Now the issue are the crossover and selection
functions, since there's one per Genetic Algorithm run. Need to think better on wht'a best and more efficient.
Started debugging the entire code, created a new file just for the structures and some other global code.
Have to test the selection function
Changed the way the fitting tolerance is calculated, since it was giving some weird results, now it's simpler.
Changed the infinite while loop for a for loop to be able to parallelize it in the future.
The FloatGene has already been tested and works fine. Now I have to start building parallel code.
…ADME to add the functions and behaviours created.
Finally fixed the problem regarding the parent population being also updated during crossovers, forgot that,
for structures, a `copy` is not enough, a `deepcopy` was needed.
Finally finished the first prototype for parallelizing the Genetic Algorithm using DistributedArrays package.
It works quite well, but now it needs to be modified to be able to use piping for communication with external programs.
@tpdsantos tpdsantos merged commit dcc379f into master Mar 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant