{ "info": { "author": "Siobh\u00e1n K Cronin", "author_email": "siobhankcronin@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "![particles](https://raw.githubusercontent.com/SioKCronin/swarmopt/master/media/swarmopt_lateral.png)\n\n# SwarmOpt\n\nSwarmOpt is a swarm intelligence optimizer for hyperparameter tuning. The project is currently in R&D, where I'm implementing swarm intelligence algorithms to find the best variation for hyperparemeter tuning. I'm particularly interested in comparing velocity clamp variations, and implementing test functions that most closely resemble the kinds of complex search environments encountered in hyperparameter tuning. \n\nSwarm intelligence leverages global population-based search solutions to balance exploration and exploitation with respect to specified cost functions. There are many exciting nooks and crannies to explore in the SI toplogy, yet I've chosen to kick things of with some Particle Swarm Optimization (PSO) algorithms, as they are easy to understand and fiddle with. The PSO lineage was sparked by Eberhart and Kennedy in their original paper on PSOs in 1995, and the intervening years have seen many variations spring from their central idea. \n\n## Algorithms\n* [Global Best PSO](https://github.com/SioKCronin/SwarmOpt/tree/master/algorithms/gbest_pso) - Kennedy & Eberhart 1995\n* [Local Best PSO](https://github.com/SioKCronin/SwarmOpt/tree/master/algorithms/lbest_pso) - Kennedy & Eberhart 1995\n* [Unified PSO](https://github.com/SioKCronin/SwarmOpt/tree/master/algorithms/unified_pso) - Parsopoulos & Vrahatis 2004\n* [Dynamic Multi-Swarm PSO](https://github.com/SioKCronin/SwarmOpt/tree/master/algorithms/dynamic_multiswarm_pso) - Liang & Suganthan 2005\n* [Simulated Annealing PSO](https://github.com/SioKCronin/SwarmOpt/tree/master/algorithms/sim_annealing_pso) - Mu, Cao, & Wang 2009\n\n## Benchmark Functions\n\nSingle objective test functions:\n* Sphere Function\n* Rosenbrock's Function\n* Ackley's Function\n* Griewank's Function\n* Rastrigin's Function\n* Weierstrass Function\n\n## On Deck\n\n* Cooperative Approach to PSO (CPSO)(multiple collaborating swarms)\n* Proactive Particles in Swarm Optimization (PPSO) (self-tuning swarms)\n* Inertia weight variations\n* Mutation operator variations\n* Velocity clamping variations\n* Multiobjective variations\n* Dynamic environment\n\n## Applications\n\n* Neural network number of layers and structure optimization\n* Grid scheduling (load balancing)\n* Routing in communication networks\n\n## Citation\n\nSiobh\u00e1n K Cronin, SwarmOpt (2018), GitHub repository, https://github.com/SioKCronin/SwarmOpt\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/siokcronin/swarmopt", "keywords": "swarmopt", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "swarmopt", "package_url": "https://pypi.org/project/swarmopt/", "platform": "", "project_url": "https://pypi.org/project/swarmopt/", "project_urls": { "Homepage": "http://github.com/siokcronin/swarmopt" }, "release_url": "https://pypi.org/project/swarmopt/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "Swarm intelligence hyperparameter optimization.", "version": "0.1.0" }, "last_serial": 3963371, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "021e2ccd55ba44a1f7af6a3d5a9e3563", "sha256": "f9305a6bd1da72337d46bf7e2ce24f0ef5c6e3e66bc9cdd3e8e1cbbfb9f8df0d" }, "downloads": -1, "filename": "swarmopt-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "021e2ccd55ba44a1f7af6a3d5a9e3563", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3771, "upload_time": "2018-06-15T02:41:46", "url": "https://files.pythonhosted.org/packages/9a/25/e0bb1975cae09021dafeec0dcc19720e376c8f69ec6667306bd1870f4acc/swarmopt-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8fa4f4b8bbacb4f7ad1e54462587bdc", "sha256": "8d9b19ee7e5b36bc93d55df58a5113baf1b0cf3141f8390be696ff1de8b88843" }, "downloads": -1, "filename": "swarmopt-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a8fa4f4b8bbacb4f7ad1e54462587bdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3331, "upload_time": "2018-06-15T02:41:47", "url": "https://files.pythonhosted.org/packages/f6/2c/9adec81e2d2f251c3ed757ae2fe8bcf1627fef028a8663c6e82604af2192/swarmopt-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "021e2ccd55ba44a1f7af6a3d5a9e3563", "sha256": "f9305a6bd1da72337d46bf7e2ce24f0ef5c6e3e66bc9cdd3e8e1cbbfb9f8df0d" }, "downloads": -1, "filename": "swarmopt-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "021e2ccd55ba44a1f7af6a3d5a9e3563", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3771, "upload_time": "2018-06-15T02:41:46", "url": "https://files.pythonhosted.org/packages/9a/25/e0bb1975cae09021dafeec0dcc19720e376c8f69ec6667306bd1870f4acc/swarmopt-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8fa4f4b8bbacb4f7ad1e54462587bdc", "sha256": "8d9b19ee7e5b36bc93d55df58a5113baf1b0cf3141f8390be696ff1de8b88843" }, "downloads": -1, "filename": "swarmopt-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a8fa4f4b8bbacb4f7ad1e54462587bdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3331, "upload_time": "2018-06-15T02:41:47", "url": "https://files.pythonhosted.org/packages/f6/2c/9adec81e2d2f251c3ed757ae2fe8bcf1627fef028a8663c6e82604af2192/swarmopt-0.1.0.tar.gz" } ] }