This commit is contained in:
Daniel Wilczak
2020-09-21 13:53:37 -04:00
5 changed files with 61 additions and 20 deletions

19
MANIFEST.in Normal file
View File

@ -0,0 +1,19 @@
graft docs
graft src
graft ci
graft tests
include .bumpversion.cfg
include .coveragerc
include .cookiecutterrc
include .editorconfig
include AUTHORS.rst
include CHANGELOG.rst
include CONTRIBUTING.rst
include LICENSE
include README.rst
include tox.ini .travis.yml .appveyor.yml .readthedocs.yml .pre-commit-config.yaml
global-exclude *.py[cod] __pycache__/* *.so *.dylib

View File

@ -1,6 +1,6 @@
# EasyGA - A general solution to Genetic Algorithms
The projects has just started
The project has just started
## Installation
@ -12,34 +12,48 @@ pip3 install EasyGA
To use the package:
```python
import EasyGA as ga
import EasyGA
```
## Usage
```python
import EasyGA as ga
import random
import EasyGA
chromosome = ga.chromosome()
# The user defined gene function
def user_gene_function():
return random.randint(1, 100)
# Fill the chromosome with genes with Gene Number i'th number
for i in range(10):
gene_value = f"Gene Number {i}"
new_gene = ga.gene("gene_value")
chromosome.add_gene(new_gene)
# Standard user size requirements:
Population_size = 10
Chromosome_length = 10
# Chromosome has 10 genes in it
print(len(chromosome.genes))
# Create the Genetic algorithm
ga = EasyGA.GA(Population_size, Chromosome_length,user_gene_function)
ga.initialize()
# Get the first genes value
print(chromosome.genes[0].get_value())
# Looking at the first chromosome in the population:
ga.population.chromosomes[0].print_chromosome()
```
# Developing EasyGA
Download the repository to some folder - If you never used git. Look up a youtube tutorial. It will all make sense.
```
git clone https://github.com/danielwilczak101/EasyGA.git
```
Then install the repositroy using this command:
```
pip install -e .
```
# Working on developing a devel branch
To install EASY, along with the tools you need to develop and run tests, run the following in your virtual env:
```bash
<<<<<<< HEAD
$ pip install -e .[dev]
=======
$ pip install -e .[devel]
>>>>>>> 306f98d8664024828f5d094268f3da852e904262
```

View File

@ -5,10 +5,11 @@ with open("README.md", "r") as fh:
setup(
name='EasyGA',
version='0.0.7',
version='0.0.8',
description='A ubiquitous or general purpuse GA',
py_modules=["EasyGA"],
package_dir={'':'src'},
python_requires='>=3.6',
url="https://github.com/danielwilczak101/EasyGA",
author="Daniel Wilczak",
author_email="danielwilczak101@gmail.com",

View File

@ -1,6 +1,7 @@
from initialization.random_initialization import random_initialization
def check_gene(value):
#Check to make sure the gene is not empty
assert value != "" , "Gene can not be empty"
return value
@ -36,11 +37,15 @@ class chromosome:
def print_chromosome(self):
for i in range(len(self.genes)):
print(f"[{self.genes[i].get_value()}],", end = '')
# Print the gene one by one.
if(i == len(self.genes) - 1):
print(f"[{self.genes[i].get_value()}]", end = '')
else:
print(f"[{self.genes[i].get_value()}],", end = '')
class population:
# chromosomes = [chromosome,chromosome,etc]
# population = [chromosome,chromosome,etc]
def __init__(self):
self.chromosomes = []

View File

@ -1,15 +1,17 @@
import random
import EasyGA
# The user defined gene function
def user_gene_function():
return random.randint(1, 100)
# Standard user size requirements
Population_size = 10
Chromosome_length = 10
# Create the Genetic algorithm
ga = EasyGA.GA(Population_size, Chromosome_length,user_gene_function)
# Setup the GA's population,chromosomes and genes
ga.initialize()
print(ga.population.chromosomes[0].print_chromosome())
# Looking at the first chromosome in the population
ga.population.chromosomes[0].print_chromosome()