{ "info": { "author": "Sin Yong Teng", "author_email": "tsyet12@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Build Tools" ], "description": "# EvoOpt - Evolutionary Optimization in Python\n\n\n![EvoOpt Logo](https://user-images.githubusercontent.com/19692103/58713060-1de5bc00-83c2-11e9-8213-bf69e3382321.jpg)\n

EvoOpt: Evolutionary Optimization in Python

\n\n
\n

\n\t* Open sourced * Automatically Vectorized * Fast Computation * One Library Do-it-all\n\t
\n\t

Report Bug\n\t\t \u00b7 \n\t\t Request Feature

\n

\n
\n\n\n[![Build Status](https://travis-ci.com/tsyet12/EvoOpt.svg?branch=master)](https://travis-ci.com/tsyet12/EvoOpt)\n[![PyPI-Status](https://img.shields.io/pypi/status/EvoOpt.svg?color=blue)](https://pypi.org/project/EvoOpt/)\n[![PyPI](https://img.shields.io/pypi/v/EvoOpt.svg?color=green)](https://pypi.org/project/EvoOpt/)\n[![dependencies](https://img.shields.io/librariesio/github/tsyet12/EvoOpt.svg)](https://github.com/tsyet12/EvoOpt/network/dependencies)\n![PyPI-Implementation](https://img.shields.io/pypi/implementation/EvoOpt.svg)\n![Python Version](https://img.shields.io/pypi/pyversions/EvoOpt.svg)\n![PyPI-License](https://img.shields.io/pypi/l/EvoOpt.svg?color=Green)\n[![LinkedIn](https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=555)](https://www.linkedin.com/in/teng-sin-yong-richard-a18993123/)\n[![DOI](https://zenodo.org/badge/186832141.svg)](https://zenodo.org/badge/latestdoi/186832141)\n\nPython implementation of state-of-art meta-heuristic and evolutionary optimisation algorithms. \n\n**This library is implemented in Numpy (which was written in C) for fast processing speed**\n\n\n\n## Table of Contents\n\n* [About the Project](#about-the-project)\n * [Current support for algorithms](#current-support-for-algorithms)\n* [Getting Started](#getting-started)\n * [Dependencies](#dependencies)\n * [Installation](#installation)\n* [Usage](#usage)\n* [Contributing](#contributing)\n* [License](#license)\n* [Contact](#contact)\n* [Acknowledgements](#acknowledgements)\n\n\n\n## About The Project\n\n\n\n## Current support for algorithms\n\n[x] Genetic Algorithm\n\n[x] Duelist Algorithm\n\n[X] Particle Swarm Optimization\n\n[X] Gravitational Search Algorithm\n\n[X] Firefly Algorithm\n\n[X] Simulated Annealing\n\n[ ] Multi-Verse Optimization\n\n[ ] Grey-Wolf Optimization\n\nMore algorithms to come...\n\n\n## Getting Started\n\n**There are four simple steps to run an optimization problem using EvoOpt**\n\n(Example 2 from example folder)\n\n**Prerequisites**\n\n```python\nfrom solver.DuelistAlgorithm import DuelistAlgorithm\n```\n\n**1. Define your function. Say you want to minimize the equation f=(x1,x2) = (x1)^2+(x2)^2 **\n\n```python\ndef f(x1,x2):\n\treturn x1*x1+x2*x2\n```\n\n**2. Define the variables that can be *manipulated* for optimization. Define their names as string and put them in an array. **\n\n```python\nx=[\"x1\",\"x2\"]\n```\n\n**3. Define the boundaries for the manipulated variables:**\n\n Say:\n\n x1 is bounded from -2 to 10 (-2 is min value of x1 and 10 is max value of x1)\n\n x2 is bounded from 10 to 15 (10 is min value of x2 and 15 is max value of x2)\n \n We can arrange these boundaries according to the definition array in step 2.\n \n | Variables | x1 | x2 |\n | :---: | :---: | :---: |\n | Min | -2 | 5 |\n | Max | 10 | 15 |\n\nThe corresponding code is:\n\n```python\n xmin=[-2,5]\n xmax=[10,15]\n```\n\n**4. Setup the solver and start the solve procedure.**\n\n```python\nDA=DuelistAlgorithm(f,x,xmin,xmax,max_gen=1000)\nDA.solve(plot=True)\n```\n\n\n**Example Result**\n\n![Result Image](https://user-images.githubusercontent.com/19692103/58713291-892f8e00-83c2-11e9-8756-e27967c32453.png)\n\n\n\n## Dependencies\nNumpy and Matplotlib\n\nWindows:\n```Bash\n\n$python -m pip install numpy matplotlib\n\n```\n\nLinux:\n\n```Bash\n$pip install numpy matplotlib\n```\n\n\n## Installation\n\nYou can use two methods for installation:\n\n**1. Install from github (recommended as this will download the newest version)**\n\nFirst download the git repository. You can do this by clicking the download button or using the git command:\n```BASH\n$ git pull https://github.com/tsyet12/EvoOpt\n```\n\n \nMove to the directory:\n \n```BASH\n$ cd (directory of EvoOpt)\n```\n\nRun setup. The following command installs all files in directory:\n\n```BASH\n$ pip install -e .\n```\n\n\n**1. Install from pip **\n\nYou can install this package from pip. \n\nLinux:\n\n```BASH\n$ pip install EvoOpt\n```\n\nWindows:\n```BASH\n$python -m pip install EvoOpt\n```\n\n\n## Usage\n\nTo be updated.\n\n\n\n## Contributing\n\nContributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b testbranch/solvers`)\n3. Commit your Changes (`git commit -m 'Improve testbranch/solvers'`)\n4. Push to the Branch (`git push origin testbranch/solvers`)\n5. Open a Pull Request\n\n\n\n## License\n\nDistributed under the BSD-2-Clause License. See `LICENSE` for more information.\n\n\n\n\n## Contact\n\nSin Yong Teng: tsyet12@gmail.com\n\nProject Link: [https://github.com/tsyet12/EvoOpt](https://github.com/tsyet12/EvoOpt)\n\n\n\n## Acknowledgements", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "Evolutionary,Optimization,Algorithm", "license": "BSD 2-Clause", "maintainer": "", "maintainer_email": "", "name": "EvoOpt", "package_url": "https://pypi.org/project/EvoOpt/", "platform": "", "project_url": "https://pypi.org/project/EvoOpt/", "project_urls": null, "release_url": "https://pypi.org/project/EvoOpt/0.14/", "requires_dist": null, "requires_python": "", "summary": "EvoOpt: Python Implementation of State-of-Art Evolutionary Algorithms", "version": "0.14" }, "last_serial": 5381335, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "d581c36f2f82692771f28a846944cac8", "sha256": "b7c1cfe290ec6e8b1308779ea774fe4f557889711ca0dc606f6dc76d05fde4fc" }, "downloads": -1, "filename": "EvoOpt-0.1.tar.gz", "has_sig": false, "md5_digest": "d581c36f2f82692771f28a846944cac8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8839, "upload_time": "2019-06-07T14:29:23", "url": "https://files.pythonhosted.org/packages/b2/8f/06b1e73d6edacf9eb1493f8635af02336ccf6493ccf62315c4eabd9e869b/EvoOpt-0.1.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "5ba2319669fc2b4942c8029da55f7e0f", "sha256": "a5860a3519b6f69d5581155e698154db4dd857124db7a5b94ad74f1cc0aa0181" }, "downloads": -1, "filename": "EvoOpt-0.11.tar.gz", "has_sig": false, "md5_digest": "5ba2319669fc2b4942c8029da55f7e0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9023, "upload_time": "2019-06-07T14:34:52", "url": "https://files.pythonhosted.org/packages/fa/db/7ce2ecb39e555bc5c3ebcf3b66e0888dd4b9476c465156b0d8e324f4f53e/EvoOpt-0.11.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "94250c4ecdb6ca8c4c8b15b6f387d006", "sha256": "b93943aff44cc95ae76ace32cf6792e36737efac969e3caa2cb425ddeab9ee21" }, "downloads": -1, "filename": "EvoOpt-0.12.tar.gz", "has_sig": false, "md5_digest": "94250c4ecdb6ca8c4c8b15b6f387d006", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9137, "upload_time": "2019-06-07T14:37:33", "url": "https://files.pythonhosted.org/packages/e4/6a/a77d45633cd54fe7a65fe47ca1d03a00b8692a450dacdb597dee0af768e9/EvoOpt-0.12.tar.gz" } ], "0.13": [ { "comment_text": "", "digests": { "md5": "07126f044c7b3f5d76922998983c3390", "sha256": "fb94e8e127d0c94c332865b356adbb7e16510c2dc3d1d82ef732bb27fc7fee9c" }, "downloads": -1, "filename": "EvoOpt-0.13.tar.gz", "has_sig": false, "md5_digest": "07126f044c7b3f5d76922998983c3390", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13005, "upload_time": "2019-06-10T12:59:33", "url": "https://files.pythonhosted.org/packages/99/75/b73ced5a1aa6cf01a6b2ea0f8385a38dcbfaca4c129358170c91dd97b230/EvoOpt-0.13.tar.gz" } ], "0.14": [ { "comment_text": "", "digests": { "md5": "45c9da0cb61629b310581f0ddfdb8c9c", "sha256": "9e05cde1093e6a6a077bd0968079b38d2d02158f12501b0e96831e2c9723de39" }, "downloads": -1, "filename": "EvoOpt-0.14.tar.gz", "has_sig": false, "md5_digest": "45c9da0cb61629b310581f0ddfdb8c9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13134, "upload_time": "2019-06-10T14:49:40", "url": "https://files.pythonhosted.org/packages/a9/50/3eafd518a5d69506c3cb0bd05f22fad78e3a149d44ab2268754c451e63d9/EvoOpt-0.14.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "45c9da0cb61629b310581f0ddfdb8c9c", "sha256": "9e05cde1093e6a6a077bd0968079b38d2d02158f12501b0e96831e2c9723de39" }, "downloads": -1, "filename": "EvoOpt-0.14.tar.gz", "has_sig": false, "md5_digest": "45c9da0cb61629b310581f0ddfdb8c9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13134, "upload_time": "2019-06-10T14:49:40", "url": "https://files.pythonhosted.org/packages/a9/50/3eafd518a5d69506c3cb0bd05f22fad78e3a149d44ab2268754c451e63d9/EvoOpt-0.14.tar.gz" } ] }