Metadata-Version: 2.1
Name: openGA
Version: 0.2.1
Summary: genetic algorithm framework
Home-page: https://github.com/neal-nie/openGA
Author: Neal Nie
Author-email: neal.nie@hotmail.com
License: LGPLv3+
Description: # openGA
        
        ![Test](https://github.com/neal-nie/openGA/actions/workflows/test.yml/badge.svg?branch=master) ![Codacy](https://github.com/neal-nie/openGA/actions/workflows/codacy-analysis.yml/badge.svg?branch=master) ![Publish](https://github.com/neal-nie/openGA/actions/workflows/pypi-upload.yml/badge.svg?branch=v0.2.1)
        [![Codacy Badge](https://api.codacy.com/project/badge/Grade/704a0911fb254509b28fae6d9c750533)](https://app.codacy.com/gh/neal-nie/openGA?utm_source=github.com&utm_medium=referral&utm_content=neal-nie/openGA&utm_campaign=Badge_Grade_Settings) [![codecov](https://codecov.io/gh/neal-nie/openGA/branch/master/graph/badge.svg?token=9WJ5PONFKK)](https://codecov.io/gh/neal-nie/openGA)
        [![PyPI version](https://badge.fury.io/py/openGA.svg)](https://pypi.org/project/openGA/) [![GPLv3 license](https://img.shields.io/badge/License-GPLv3-blue.svg)](http://perso.crans.org/besson/LICENSE.html)
        
        ## Overview
        
        Open source genetic algorithm framework.
        *openGA* works on Python >= 3.7.
        
        ## Goals
        
        The main goals for this library are:
        
        - to be convenient to adapt to optimization problems
        - to have clean and easy to understand code base
        - to have minimal 3-rd party dependencies
        
        ## Usage
        
        - demo problem
            Seach optimal x-y combination to get maximal response of objective function.
            Surface plot of object function:
            ![object_function_surface](https://raw.githubusercontent.com/neal-nie/openGA/master/assets/object_function_surface.png)
        
        - theoretical solution
        
            $$
            z = 4.00 \text{, at } x = 0.25, y= 0.25
            $$
        
        - *openGA* solution
        
            $$
            z = 3.99 \text{, at } x = 0.2393, y = 0.2411
            $$
        
            **notice:** *solution will change marginally between each run for random searching machenism.*
        
        - *openGA* searching process
            Evolve 15 generations with 20 individuals in each iteration.
            ![evolution_process](https://raw.githubusercontent.com/neal-nie/openGA/master/assets/evolution_process.png)
        
        Check the ***examples*** folder for extended usage demo.
        
        ## Installation
        
        *openGA* is available on:
        
        - github: <https://github.com/neal-nie/openGA/>
        - PyPi: <https://pypi.org/project/openGA/>
        
        ```shell
        pip install openGA
        ```
        
        ## Documentation
        
        <https://openga.readthedocs.io/en/latest/>
        
        ## Dependencies
        
        *openGA* uses the following libraries:
        
        - numpy : for array operation
        - pandas : for process record
        
        ## Contributing
        
        Please have a look over the [contributing guidelines](CONTRIBUTING.md).
        
        ## Features for v1.0.0
        
        ### Algorithm
        
        - [x] SOGA
        - [ ] NSGA
        
        ### CI
        
        - [x] codacy for static check
        - [x] codecov for coverage
        - [ ] read the docs
        - [x] pypi
        
Keywords: genetic-algorithm optimization trade-off AI
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: Topic :: Scientific/Engineering
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown
