https://github.com/cicirello/optimize-ga-operators

Experiments for paper: Optimizing Genetic Algorithms Using the Binomial Distribution

https://github.com/cicirello/optimize-ga-operators

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary

Keywords

binomial-distribution binomial-random-variable binomial-random-variates bitflip bitflip-mutation crossover evolutionary-algorithms genetic-algorithm-control-loop genetic-algorithms mutation uniform-crossover

Keywords from Contributors

projection archival sequences interactive generic randomization ecosystem-modeling distance genomics observability
Last synced: 5 months ago · JSON representation

Repository

Experiments for paper: Optimizing Genetic Algorithms Using the Binomial Distribution

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
binomial-distribution binomial-random-variable binomial-random-variates bitflip bitflip-mutation crossover evolutionary-algorithms genetic-algorithm-control-loop genetic-algorithms mutation uniform-crossover
Created almost 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

Code to reproduce the experiments from: Optimizing Genetic Algorithms Using the Binomial Distribution

Copyright © 2023-2024 Vincent A. Cicirello

This repository contains code to reproduce the experiments, and analysis of experimental data, from the following paper:

Vincent A. Cicirello. 2024. Optimizing Genetic Algorithms Using the Binomial Distribution. Proceedings of the 16th International Joint Conference on Computational Intelligence, pages 159-169. November 2024. doi:10.5220/0013038300003837.

| Publication | doi:10.5220/0013038300003837 | | :--- | :--- | | License | GitHub |

Dependencies

The experiments depend upon the following libraries, which are automatically downloaded from Maven Central during the build process: * Chips-n-Salsa 7.0.0 * JavaPermutationTools 6.0.0 * ρμ 4.1.0 * org.cicirello.core 2.7.0

Requirements to Build and Run the Experiments

To build and run the experiments on your own machine, you will need the following: * JDK 17: I used OpenJDK 17, but other distributions should be fine. * Apache Maven: In the root of the repository, there is a pom.xml for building the Java programs for the experiments. Using this pom.xml, Maven will take care of downloading the exact version of Chips-n-Salsa (release 7.0.0) and its dependencies that were used in the experiments. * Python 3: The repository contains Python programs that were used to process the raw data for the paper. If you want to run the Python programs, you will need Python 3. * Make: The repository contains a Makefile to simplify running the build, running the experiment's Java programs, and running the Python program to analyze the data. If you are familiar with using the Maven build tool, and running Python programs, then you can just run these directly, although the Makefile may be useful to see the specific commands needed.

Building the Java Programs

The source code of the Java programs implementing the experiments is in the src/main/java directory. You can build the experiment programs in one of the following ways.

Using Maven: Execute the following from the root of the repository.

shell mvn clean package

Using Make: Or, you can execute the following from the root of the repository.

shell make build

Running the Experiments

If you just want to inspect the data from my runs, then you can find that output in the /data directory. If you instead want to run the experiments yourself, you must first follow the build instructions. Once the jar of the experiments is built, you can then run the experiments with the following executed at the root of the repository:

shell make experiments

If you don't want to overwrite my original data files, then first change the variable pathToDataFiles in the Makefile before running the above command.

Analyzing the Experimental Data

To run the Python programs that process the raw data and generate the figures from the paper, you need Python 3 installed. The source code of the Python programs is found in the src/analysis directory. To run the analysis, execute the following at the root of the repository:

shell make figures

This make command will also take care of installing any required Python packages if you don't already have them installed.

If you want to generate the figures in pdf format, then after executing the above, proceed to execute the following (which assumes that you have epstopdf installed):

shell make epstopdf

If you don't want to overwrite my original data files, and figures, then change the variable pathToDataFiles in the Makefile before running the above commands.

Other Files in the Repository

There are other files, potentially of interest, in the repository, including: * system-stats.txt: This file contains details of the system I used to run the experiments, such as operating system, processor specs, Java JDK and VM. It is in the /data directory.

License

The code to replicate the experiments from the paper, as well as the Chips-n-Salsa library and its dependencies, are licensed under the GNU General Public License 3.0.

Owner

  • Name: Vincent A. Cicirello
  • Login: cicirello
  • Kind: user
  • Location: Galloway, NJ
  • Company: Stockton University

Vincent A. Cicirello is a researcher in AI, evolutionary computation, and swarm intelligence.

GitHub Events

Total
  • Issues event: 1
  • Delete event: 1
  • Push event: 2
  • Public event: 1
  • Pull request event: 2
  • Create event: 1
Last Year
  • Issues event: 1
  • Delete event: 1
  • Push event: 2
  • Public event: 1
  • Pull request event: 2
  • Create event: 1

Committers

Last synced: 11 months ago

All Time
  • Total Commits: 114
  • Total Committers: 2
  • Avg Commits per committer: 57.0
  • Development Distribution Score (DDS): 0.491
Past Year
  • Commits: 41
  • Committers: 2
  • Avg Commits per committer: 20.5
  • Development Distribution Score (DDS): 0.317
Top Committers
Name Email Commits
dependabot[bot] 4****] 58
Vincent A. Cicirello c****o 56

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 2
  • Total pull requests: 101
  • Average time to close issues: 23 days
  • Average time to close pull requests: 5 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.32
  • Merged pull requests: 77
  • Bot issues: 0
  • Bot pull requests: 90
Past Year
  • Issues: 2
  • Pull requests: 67
  • Average time to close issues: 23 days
  • Average time to close pull requests: 7 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.46
  • Merged pull requests: 43
  • Bot issues: 0
  • Bot pull requests: 60
Top Authors
Issue Authors
  • cicirello (1)
Pull Request Authors
  • dependabot[bot] (66)
  • cicirello (8)
Top Labels
Issue Labels
documentation (1)
Pull Request Labels
dependencies (66) java (66) documentation (3) enhancement (2)

Dependencies

pom.xml maven
  • org.cicirello:chips-n-salsa 7.0.0
  • org.cicirello:core 2.7.0
  • org.cicirello:jpt 6.0.0
  • org.cicirello:rho-mu 4.1.0
  • org.junit.jupiter:junit-jupiter 5.11.0 test