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

Major change for creating individuals and population #43

Open
wants to merge 55 commits into
base: master
Choose a base branch
from

Commits on Feb 19, 2020

  1. Started improving code writing.

    Some parts of the code are now obsolete and the genetic algorithm does not work with with different types of chromossome, that's my goal from now on.
    tpdsantos committed Feb 19, 2020
    Configuration menu
    Copy the full SHA
    592858a View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2020

  1. Continued improving code

    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.
    tpdsantos committed Feb 20, 2020
    Configuration menu
    Copy the full SHA
    48ba05a View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2020

  1. Continued improving code

    tpdsantos committed Feb 21, 2020
    Configuration menu
    Copy the full SHA
    192c283 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2020

  1. continued improving code

    tpdsantos committed Feb 22, 2020
    Configuration menu
    Copy the full SHA
    50484fd View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2020

  1. Continued improving code

    tpdsantos committed Feb 23, 2020
    Configuration menu
    Copy the full SHA
    1e5a3b2 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2020

  1. Continued improving code

    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.
    tpdsantos committed Feb 24, 2020
    Configuration menu
    Copy the full SHA
    cee890d View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2020

  1. Continued improving code

    Started debugging the entire code, created a new file just for the structures and some other global code.
    Have to test the selection function
    tpdsantos committed Feb 25, 2020
    Configuration menu
    Copy the full SHA
    8991a18 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2020

  1. Continued improving code

    tpdsantos committed Feb 26, 2020
    Configuration menu
    Copy the full SHA
    b9d23cb View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2020

  1. Continued improving code

    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.
    tpdsantos committed Feb 27, 2020
    Configuration menu
    Copy the full SHA
    743ac27 View commit details
    Browse the repository at this point in the history
  2. Continued improving code

    The FloatGene has already been tested and works fine. Now I have to start building parallel code.
    tpdsantos committed Feb 27, 2020
    Configuration menu
    Copy the full SHA
    44dbce5 View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2020

  1. wrote documentation for every major function created. Also updated RE…

    …ADME to add the functions and behaviours created.
    tpdsantos committed Feb 29, 2020
    Configuration menu
    Copy the full SHA
    7beca54 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2020

  1. Continued improving code

    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.
    tpdsantos committed Mar 4, 2020
    Configuration menu
    Copy the full SHA
    ea16587 View commit details
    Browse the repository at this point in the history
  2. Fixed bug regarding type inference in the crossover function created …

    …by the Crossover structure
    tpdsantos committed Mar 4, 2020
    Configuration menu
    Copy the full SHA
    aa51096 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2020

  1. Configuration menu
    Copy the full SHA
    eb55c7d View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2020

  1. Continued improving code

    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 committed Mar 8, 2020
    Configuration menu
    Copy the full SHA
    0e01bcd View commit details
    Browse the repository at this point in the history
  2. minor aesthetic changes

    tpdsantos committed Mar 8, 2020
    Configuration menu
    Copy the full SHA
    67ae404 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1 from tpdsantos/general

    General
    tpdsantos authored Mar 8, 2020
    Configuration menu
    Copy the full SHA
    dcc379f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0a6bb64 View commit details
    Browse the repository at this point in the history
  5. minor aesthetic changes

    tpdsantos committed Mar 8, 2020
    Configuration menu
    Copy the full SHA
    61cc3a3 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2020

  1. Configuration menu
    Copy the full SHA
    678b498 View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2020

  1. Configuration menu
    Copy the full SHA
    d20633d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6414627 View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2020

  1. Fixed piping communication

    Now communication through FIFOs works using parallel computation.
    For non-parallel computation it does not work because the pipes must be launched in separate processes.
    tpdsantos committed Mar 13, 2020
    Configuration menu
    Copy the full SHA
    d96186e View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2020

  1. Increased piping performance

    The previous prototype was quite slow due to using remote channels and the pipe reading not being made
    in the process it was running. Now the remote channels are gone and the pipe reading and the objective
    function are determined in the same process, which is much more efficient and faster.
    tpdsantos committed Mar 15, 2020
    Configuration menu
    Copy the full SHA
    c840ff3 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2020

  1. Started mesing around with clusters

    When not using external programs the GA code worls well with both computers connected, now I have to figure out out to
    run properly using external programs
    tpdsantos committed Mar 18, 2020
    Configuration menu
    Copy the full SHA
    268072e View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2020

  1. Finished running external programs in a cluster

    Now the GA is capable of spawning the calculations inside a cluster. There are a lot of limitations and the package cannot do that on its own, but I'll create some scripts to do that, since there are several limitations regarding the number of processes needed to run external programs
    tpdsantos committed Mar 23, 2020
    Configuration menu
    Copy the full SHA
    e177889 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2 from tpdsantos/general

    General
    tpdsantos authored Mar 23, 2020
    Configuration menu
    Copy the full SHA
    9eefe91 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2020

  1. minor revisions

    tpdsantos committed Mar 25, 2020
    Configuration menu
    Copy the full SHA
    97d539d View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2020

  1. Configuration menu
    Copy the full SHA
    545b121 View commit details
    Browse the repository at this point in the history
  2. minor revisions

    tpdsantos committed Mar 27, 2020
    Configuration menu
    Copy the full SHA
    7cdac16 View commit details
    Browse the repository at this point in the history
  3. Fixed bugs

    There was a problem regarding the creation of the backup folder in external computers. Now it is fixed and the backup process works in a cluster as well.
    tpdsantos committed Mar 27, 2020
    Configuration menu
    Copy the full SHA
    907936f View commit details
    Browse the repository at this point in the history

Commits on Apr 1, 2020

  1. minor revisions

    tpdsantos committed Apr 1, 2020
    Configuration menu
    Copy the full SHA
    0f7ac0a View commit details
    Browse the repository at this point in the history
  2. added a function to help set up local computer or clusters for parall…

    …el runs of the Genetic Algorithm
    tpdsantos committed Apr 1, 2020
    Configuration menu
    Copy the full SHA
    16bb48a View commit details
    Browse the repository at this point in the history
  3. improved documentation

    tpdsantos committed Apr 1, 2020
    Configuration menu
    Copy the full SHA
    e88dd28 View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2020

  1. Reduced the use of the objective function

    For each iteration the objective function was being calculated 2*N times (parents+offspring). The thing is that N calculations were already performed in the previous iteration, so only the offspring needs to be evaluated in each iteration.
    tpdsantos committed Apr 6, 2020
    Configuration menu
    Copy the full SHA
    a7be461 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2020

  1. updates

    tpdsantos committed Jun 21, 2020
    Configuration menu
    Copy the full SHA
    62ba6a5 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2021

  1. Configuration menu
    Copy the full SHA
    0e44d01 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    30c6491 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2021

  1. Added initialization function

    Since most of the optimization problems, before starting the actual optimization runs, need to run some initialization scripts/functions, this function was created to ease the pain of those initializations.
    tpdsantos committed Jan 19, 2021
    Configuration menu
    Copy the full SHA
    d400bed View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4317816 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2021

  1. Configuration menu
    Copy the full SHA
    9405af5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    eca2086 View commit details
    Browse the repository at this point in the history
  3. minor changes

    tpdsantos committed Feb 5, 2021
    Configuration menu
    Copy the full SHA
    46168a8 View commit details
    Browse the repository at this point in the history
  4. Fixed memory allocation bug

    For a long time there was an issue with the fitness array in the parallel calculation function. For some reason said function was not modifying the fitness vector in-place. Now that bug is finally fixed.
    tpdsantos committed Feb 5, 2021
    Configuration menu
    Copy the full SHA
    6f5e11d View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2021

  1. Created structure for GA output

    Now the output of the genetic algorithm is a structure.
    Now the output is much more complete and more organized to be easily used in post-optimization calculations.
    tpdsantos committed Feb 12, 2021
    Configuration menu
    Copy the full SHA
    9b707cb View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2021

  1. Merge pull request #3 from tpdsantos/backup

    Backup
    tpdsantos authored Feb 19, 2021
    Configuration menu
    Copy the full SHA
    56604a1 View commit details
    Browse the repository at this point in the history
  2. Started implementing boundary functionalities

    Before this branch the variable boundaries were checked inside the objective function, returning an Inf value when they were not inside boundaries. This was not ideal, since some individuals did not have a chance to improve in further iterations because they were automatically discarded.
    Now the boundary checking is made inside the mutation functions. In this way, all the individuals have genes that respect the boundaries, reducing the number of objective function evaluations that would be Inf.
    tpdsantos committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    10c7bc4 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2021

  1. Configuration menu
    Copy the full SHA
    d9aa448 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2021

  1. Configuration menu
    Copy the full SHA
    e1cc8b1 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2021

  1. Added backup support for boundary values

    The only thing that was missing regarding the insertion of boundary values in FloatGene and IntegerGene types was the backupo of said values. Now the backup and reverse_backup functions already have the functionality of saving the boundary values in the backup files and in the population variable, respectively.
    tpdsantos committed Mar 1, 2021
    Configuration menu
    Copy the full SHA
    98e5009 View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2021

  1. Configuration menu
    Copy the full SHA
    24eb81e View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2021

  1. Improved boundary checks

    Before this update boundary checking was performed AFTER the new variables were saved in the gene vector, which made it much more difficult to have new values inside boundaries.
    In this update, boundary checking is made BEFORE new values are saved, drastically increasing the probability of having new values inside boundaries.
    tpdsantos committed Mar 9, 2021
    Configuration menu
    Copy the full SHA
    2faa82a View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2021

  1. Merge pull request #4 from tpdsantos/bounds

    Bounds
    tpdsantos authored Mar 17, 2021
    Configuration menu
    Copy the full SHA
    13eeb3d View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2021

  1. minor changes

    tpdsantos committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    bd44dd9 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2023

  1. Create CITATION.cff

    tpdsantos authored Feb 18, 2023
    Configuration menu
    Copy the full SHA
    1ba9433 View commit details
    Browse the repository at this point in the history