{"id":13907187,"url":"https://github.com/ljvmiranda921/pyswarms","last_synced_at":"2025-05-14T11:13:26.973Z","repository":{"id":41067138,"uuid":"97002861","full_name":"ljvmiranda921/pyswarms","owner":"ljvmiranda921","description":"A research toolkit for particle swarm optimization in Python ","archived":false,"fork":false,"pushed_at":"2024-08-06T17:18:34.000Z","size":67082,"stargazers_count":1332,"open_issues_count":40,"forks_count":337,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-05-14T04:12:31.601Z","etag":null,"topics":["algorithm","discrete-optimization","global-optimization","machine-learning","metaheuristics","optimization","optimization-algorithms","optimization-tools","particle-swarm-optimization","pso","swarm-intelligence"],"latest_commit_sha":null,"homepage":"https://pyswarms.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ljvmiranda921.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-07-12T12:04:45.000Z","updated_at":"2025-05-12T15:30:55.000Z","dependencies_parsed_at":"2023-02-01T11:02:03.542Z","dependency_job_id":"bfd553c5-b4ff-49cc-bf72-2df4e4ff1b68","html_url":"https://github.com/ljvmiranda921/pyswarms","commit_stats":{"total_commits":364,"total_committers":48,"mean_commits":7.583333333333333,"dds":0.5989010989010989,"last_synced_commit":"70c969d929bb2dab6211765def0431680fc5cb01"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ljvmiranda921%2Fpyswarms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ljvmiranda921%2Fpyswarms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ljvmiranda921%2Fpyswarms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ljvmiranda921%2Fpyswarms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ljvmiranda921","download_url":"https://codeload.github.com/ljvmiranda921/pyswarms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254108235,"owners_count":22016177,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","discrete-optimization","global-optimization","machine-learning","metaheuristics","optimization","optimization-algorithms","optimization-tools","particle-swarm-optimization","pso","swarm-intelligence"],"created_at":"2024-08-06T23:01:49.728Z","updated_at":"2025-05-14T11:13:21.952Z","avatar_url":"https://github.com/ljvmiranda921.png","language":"Python","funding_links":[],"categories":["Optimization","Others","Python"],"sub_categories":["Others","NLP"],"readme":"![PySwarms Logo](https://i.imgur.com/eX8oqPQ.png)\n---\n\n\n[![PyPI version](https://badge.fury.io/py/pyswarms.svg)](https://badge.fury.io/py/pyswarms)\n[![Build Status](https://dev.azure.com/ljvmiranda/ljvmiranda/_apis/build/status/ljvmiranda921.pyswarms?branchName=master)](https://dev.azure.com/ljvmiranda/ljvmiranda/_build/latest?definitionId=1\u0026branchName=master)\n[![Documentation Status](https://readthedocs.org/projects/pyswarms/badge/?version=latest)](https://pyswarms.readthedocs.io/en/master/?badge=master)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg )](https://raw.githubusercontent.com/ljvmiranda921/pyswarms/master/LICENSE)\n[![DOI](http://joss.theoj.org/papers/10.21105/joss.00433/status.svg)](https://doi.org/10.21105/joss.00433)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![Gitter Chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/pyswarms/Issues)\n\n\u003e **NOTICE**: I am not actively maintaining this repository anymore. My research interests have changed in the past few years. \n\u003e I highly recommend checking out [scikit-opt](https://github.com/guofei9987/scikit-opt) for metaheuristic methods including PSO. \n\nPySwarms is an extensible research toolkit for particle swarm optimization\n(PSO) in Python.\n\nIt is intended for swarm intelligence researchers, practitioners, and\nstudents who prefer a high-level declarative interface for implementing PSO\nin their problems. PySwarms enables basic optimization with PSO and\ninteraction with swarm optimizations. Check out more features below!\n\n* **Free software:** MIT license\n* **Documentation:** https://pyswarms.readthedocs.io.\n* **Python versions:** 3.5 and above\n\n## Features\n\n* High-level module for Particle Swarm Optimization. For a list of all optimizers, check [this link].\n* Built-in objective functions to test optimization algorithms.\n* Plotting environment for cost histories and particle movement.\n* Hyperparameter search tools to optimize swarm behaviour.\n* (For Devs and Researchers): Highly-extensible API for implementing your own techniques.\n\n[this link]: https://pyswarms.readthedocs.io/en/latest/features.html\n\n## Installation\n\nTo install PySwarms, run this command in your terminal:\n\n```shell\n$ pip install pyswarms\n```\n\nThis is the preferred method to install PySwarms, as it will always install\nthe most recent stable release.\n\nIn case you want to install the bleeding-edge version, clone this repo:\n\n```shell\n$ git clone -b development https://github.com/ljvmiranda921/pyswarms.git\n```\nand then run\n\n```shell\n$ cd pyswarms\n$ python setup.py install\n```\n\nTo install PySwarms on Fedora, use:\n\n```sh\n$ dnf install python3-pyswarms\n```\n\n## Running in a Vagrant Box\n\nTo run PySwarms in a Vagrant Box, install Vagrant by going to \nhttps://www.vagrantup.com/downloads.html and downloading the proper packaged from the Hashicorp website. \n\nAfterward, run the following command in the project directory:\n\n```shell\n$ vagrant provision\n$ vagrant up\n$ vagrant ssh\n```\nNow you're ready to develop your contributions in a premade virtual environment. \n\n## Basic Usage\n\nPySwarms provides a high-level implementation of various particle swarm\noptimization algorithms. Thus, it aims to be user-friendly and customizable.\nIn addition, supporting modules can be used to help you in your optimization\nproblem.\n\n### Optimizing a sphere function\n\nYou can import PySwarms as any other Python module,\n\n```python\nimport pyswarms as ps\n```\n\nSuppose we want to find the minima of `f(x) = x^2` using global best\nPSO, simply import the built-in sphere function,\n`pyswarms.utils.functions.sphere()`, and the necessary optimizer:\n\n```python\nimport pyswarms as ps\nfrom pyswarms.utils.functions import single_obj as fx\n# Set-up hyperparameters\noptions = {'c1': 0.5, 'c2': 0.3, 'w':0.9}\n# Call instance of PSO\noptimizer = ps.single.GlobalBestPSO(n_particles=10, dimensions=2, options=options)\n# Perform optimization\nbest_cost, best_pos = optimizer.optimize(fx.sphere, iters=100)\n```\n\n![Sphere Optimization](https://i.imgur.com/5LtjROf.gif)\n\nThis will run the optimizer for `100` iterations, then returns the best cost\nand best position found by the swarm. In addition, you can also access\nvarious histories by calling on properties of the class:\n\n```python\n# Obtain the cost history\noptimizer.cost_history\n# Obtain the position history\noptimizer.pos_history\n# Obtain the velocity history\noptimizer.velocity_history\n```\n\nAt the same time, you can also obtain the mean personal best and mean neighbor\nhistory for local best PSO implementations. Simply call `optimizer.mean_pbest_history`\nand `optimizer.mean_neighbor_history` respectively.\n\n### Hyperparameter search tools\n\nPySwarms implements a grid search and random search technique to find the\nbest parameters for your optimizer. Setting them up is easy. In this example,\nlet's try using `pyswarms.utils.search.RandomSearch` to find the optimal\nparameters for `LocalBestPSO` optimizer.\n\nHere, we input a range, enclosed in tuples, to define the space in which the\nparameters will be found. Thus, `(1,5)` pertains to a range from 1 to 5.\n\n```python\nimport numpy as np\nimport pyswarms as ps\nfrom pyswarms.utils.search import RandomSearch\nfrom pyswarms.utils.functions import single_obj as fx\n\n# Set-up choices for the parameters\noptions = {\n    'c1': (1,5),\n    'c2': (6,10),\n    'w': (2,5),\n    'k': (11, 15),\n    'p': 1\n}\n\n# Create a RandomSearch object\n# n_selection_iters is the number of iterations to run the searcher\n# iters is the number of iterations to run the optimizer\ng = RandomSearch(ps.single.LocalBestPSO, n_particles=40,\n            dimensions=20, options=options, objective_func=fx.sphere,\n            iters=10, n_selection_iters=100)\n\nbest_score, best_options = g.search()\n```\n\nThis then returns the best score found during optimization, and the\nhyperparameter options that enable it.\n\n```s\n\u003e\u003e\u003e best_score\n1.41978545901\n\u003e\u003e\u003e best_options['c1']\n1.543556887693\n\u003e\u003e\u003e best_options['c2']\n9.504769054771\n```\n\n### Swarm visualization\n\nIt is also possible to plot optimizer performance for the sake of formatting.\nThe plotters module is built on top of `matplotlib`, making it\nhighly-customizable.\n\n\n```python\nimport pyswarms as ps\nfrom pyswarms.utils.functions import single_obj as fx\nfrom pyswarms.utils.plotters import plot_cost_history, plot_contour, plot_surface\nimport matplotlib.pyplot as plt\n# Set-up optimizer\noptions = {'c1':0.5, 'c2':0.3, 'w':0.9}\noptimizer = ps.single.GlobalBestPSO(n_particles=50, dimensions=2, options=options)\noptimizer.optimize(fx.sphere, iters=100)\n# Plot the cost\nplot_cost_history(optimizer.cost_history)\nplt.show()\n```\n\n![CostHistory](https://i.imgur.com/19Iuz4B.png)\n\nWe can also plot the animation...\n\n```python\nfrom pyswarms.utils.plotters.formatters import Mesher, Designer\n# Plot the sphere function's mesh for better plots\nm = Mesher(func=fx.sphere,\n           limits=[(-1,1), (-1,1)])\n# Adjust figure limits\nd = Designer(limits=[(-1,1), (-1,1), (-0.1,1)],\n             label=['x-axis', 'y-axis', 'z-axis'])\n```\n\nIn 2D,\n\n```python\nplot_contour(pos_history=optimizer.pos_history, mesher=m, designer=d, mark=(0,0))\n```\n\n![Contour](https://i.imgur.com/H3YofJ6.gif)\n\nOr in 3D!\n\n```python\npos_history_3d = m.compute_history_3d(optimizer.pos_history) # preprocessing\nanimation3d = plot_surface(pos_history=pos_history_3d,\n                           mesher=m, designer=d,\n                           mark=(0,0,0))    \n```\n\n![Surface](https://i.imgur.com/kRb61Hx.gif)\n\n## Contributing\n\nPySwarms is currently maintained by a small yet dedicated team:\n- Lester James V. Miranda ([@ljvmiranda921](https://github.com/ljvmiranda921))\n- Siobhán K. Cronin ([@SioKCronin](https://github.com/SioKCronin))\n- Aaron Moser ([@whzup](https://github.com/whzup))\n- Steven Beardwell ([@stevenbw](https://github.com/stevenbw))\n\nAnd we would appreciate it if you can lend a hand with the following:\n\n* Find bugs and fix them\n* Update documentation in docstrings\n* Implement new optimizers to our collection\n* Make utility functions more robust.\n\nWe would also like to acknowledge [all our\ncontributors](http://pyswarms.readthedocs.io/en/latest/authors.html), past and\npresent, for making this project successful!\n\nIf you wish to contribute, check out our [contributing guide].\nMoreover, you can also see the list of features that need some help in our\n[Issues] page.\n\n[contributing guide]: https://pyswarms.readthedocs.io/en/development/contributing.html\n[Issues]: https://github.com/ljvmiranda921/pyswarms/issues\n\n**Most importantly**, first-time contributors are welcome to join! I try my\nbest to help you get started and enable you to make your first Pull Request!\nLet's learn from each other!\n\n## Credits\n\nThis project was inspired by the [pyswarm] module that performs PSO with\nconstrained support. The package was created with [Cookiecutter] and the\n[`audreyr/cookiecutter-pypackage`] project template.\n\n[pyswarm]: https://github.com/tisimst/pyswarm\n[Cookiecutter]: https://github.com/audreyr/cookiecutter\n[`audreyr/cookiecutter-pypackage`]: https://github.com/audreyr/cookiecutter-pypackage\n\n## Cite us\nAre you using PySwarms in your project or research? Please cite us!\n\n* Miranda L.J., (2018). PySwarms: a research toolkit for Particle Swarm Optimization in Python. *Journal of Open Source Software*, 3(21), 433, [https://doi.org/10.21105/joss.00433](https://doi.org/10.21105/joss.00433)\n\n```bibtex\n@article{pyswarmsJOSS2018,\n    author  = {Lester James V. Miranda},\n    title   = \"{P}y{S}warms, a research-toolkit for {P}article {S}warm {O}ptimization in {P}ython\",\n    journal = {Journal of Open Source Software},\n    year    = {2018},\n    volume  = {3},\n    issue   = {21},\n    doi     = {10.21105/joss.00433},\n    url     = {https://doi.org/10.21105/joss.00433}\n}\n```\n\n### Projects citing PySwarms\nNot on the list? Ping us in the Issue Tracker!\n\n* Gousios, Georgios. Lecture notes for the TU Delft TI3110TU course Algorithms and Data Structures. Accessed May 22, 2018. http://gousios.org/courses/algo-ds/book/string-distance.html#sop-example-using-pyswarms.\n* Nandy, Abhishek, and Manisha Biswas., \"Applying Python to Reinforcement Learning.\" *Reinforcement Learning*. Apress, Berkeley, CA, 2018. 89-128.\n* Benedetti, Marcello, et al., \"A generative modeling approach for benchmarking and training shallow quantum circuits.\" *arXiv preprint arXiv:1801.07686* (2018).\n* Vrbančič et al., \"NiaPy: Python microframework for building nature-inspired algorithms.\" Journal of Open Source Software, 3(23), 613, https://doi.org/10.21105/joss.00613\n* Häse, Florian, et al. \"Phoenics: A Bayesian optimizer for chemistry.\" *ACS Central Science.* 4.9 (2018): 1134-1145. \n* Szynkiewicz, Pawel. \"A Comparative Study of PSO and CMA-ES Algorithms on Black-box Optimization Benchmarks.\" *Journal of Telecommunications and Information Technology* 4 (2018): 5.\n* Mistry, Miten, et al. \"Mixed-Integer Convex Nonlinear Optimization with Gradient-Boosted Trees Embedded.\" Imperial College London (2018).\n* Vishwakarma, Gaurav. *Machine Learning Model Selection for Predicting Properties of High Refractive Index Polymers* Dissertation. State University of New York at Buffalo, 2018.\n* Uluturk Ismail, et al. \"Efficient 3D Placement of Access Points in an Aerial Wireless Network.\" *2019 16th IEEE Anual Consumer Communications and Networking Conference (CCNC)* IEEE (2019): 1-7.\n* Downey A., Theisen C., et al. \"Cam-based passive variable friction device for structural control.\" *Engineering Structures* Elsevier (2019): 430-439.\n* Thaler S., Paehler L., Adams, N.A. \"Sparse identification of truncation errors.\" *Journal of Computational Physics* Elsevier (2019): vol. 397\n* Lin, Y.H., He, D., Wang, Y. Lee, L.J. \"Last-mile Delivery: Optimal Locker locatuion under Multinomial Logit Choice Model\" https://arxiv.org/abs/2002.10153\n* Park J., Kim S., Lee, J. \"Supplemental Material for Ultimate Light trapping in free-form plasmonic waveguide\" KAIST, University of Cambridge, and Cornell University http://www.jlab.or.kr/documents/publications/2019PRApplied_SI.pdf\n* Pasha A., Latha P.H., \"Bio-inspired dimensionality reduction for Parkinson's Disease Classification,\" *Health Information Science and Systems*, Springer (2020).\n* Carmichael Z., Syed, H., et al. \"Analysis of Wide and Deep Echo State Networks for Multiscale Spatiotemporal Time-Series Forecasting,\" *Proceedings of the 7th Annual Neuro-inspired Computational Elements* ACM (2019), nb. 7: 1-10 https://doi.org/10.1145/3320288.3320303\n* Klonowski, J. \"Optimizing Message to Virtual Link Assignment in Avionics Full-Duplex Switched Ethernet Networks\" Proquest\n* Haidar, A., Jan, ZM. \"Evolving One-Dimensional Deep Convolutional Neural Netowrk: A Swarm-based Approach,\" *IEEE Congress on Evolutionary Computation* (2019) https://doi.org/10.1109/CEC.2019.8790036\n* Shang, Z. \"Performance Evaluation of the Control Plane in OpenFlow Networks,\" Freie Universitat Berlin (2020)\n* Linker, F. \"Industrial Benchmark for Fuzzy Particle Swarm Reinforcement Learning,\" Liezpic University (2020)\n* Vetter, A. Yan, C. et al. \"Computational rule-based approach for corner correction of non-Manhattan geometries in mask aligner photolithography,\" Optics (2019). vol. 27, issue 22: 32523-32535 https://doi.org/10.1364/OE.27.032523\n* Wang, Q., Megherbi, N., Breckon T.P., \"A Reference Architecture for Plausible Thread Image Projection (TIP) Within 3D X-ray Computed Tomography Volumes\" https://arxiv.org/abs/2001.05459\n* Menke, Tim, Hase, Florian, et al. \"Automated discovery of superconducting circuits and its application to 4-local coupler design,\" arxiv preprint: https://arxiv.org/abs/1912.03322 \n\n## Others\nLike it? Love it? Leave us a star on [Github] to show your appreciation! \n\n[Github]: https://github.com/ljvmiranda921/pyswarms\n\n## Contributors\n\nThanks goes to these wonderful people ([emoji key](https://github.com/all-contributors/all-contributors#emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/whzup\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/39431903?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAaron\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-whzup\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=whzup\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=whzup\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=whzup\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"#ideas-whzup\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/pulls?q=is%3Apr+reviewed-by%3Awhzup\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Carl-K\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/13661469?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCarl-K\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=Carl-K\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=Carl-K\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.siobhankcronin.com/\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/19956669?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSiobhán K Cronin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=SioKCronin\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#maintenance-SioKCronin\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#ideas-SioKCronin\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://andrewjarcho.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/1452951?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAndrew Jarcho\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=jazcap53\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=jazcap53\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/mamadyonline\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/20543370?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMamady\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=mamadyonline\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/jayspeidell\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/26357788?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJay Speidell\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=jayspeidell\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/slek120\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/3589574?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEric\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/issues?q=author%3Aslek120\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=slek120\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/CPapadim\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/13984473?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCPapadim\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/issues?q=author%3ACPapadim\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=CPapadim\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/dfhljf\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/7887642?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJiangHui\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=dfhljf\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/nik1082\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/17260188?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJericho Arcelao\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=nik1082\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.jdbohrman.xyz\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/27848025?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJames D. Bohrman\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=jdbohrman\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/bradahoward\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/24660861?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ebradahoward\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=bradahoward\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ThomasCES\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/18325841?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eThomasCES\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=ThomasCES\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/danielcorreia96\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/17486065?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDaniel Correia\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/issues?q=author%3Adanielcorreia96\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=danielcorreia96\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/fluencer\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/6614307?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003efluencer\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#example-fluencer\" title=\"Examples\"\u003e💡\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=fluencer\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/miguelcocruz\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/45034603?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003emiguelcocruz\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=miguelcocruz\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#example-miguelcocruz\" title=\"Examples\"\u003e💡\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/stevenbw\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/46458390?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSteven Beardwell\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=stevenbw\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#maintenance-stevenbw\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=stevenbw\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#ideas-stevenbw\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ndngo\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/16291290?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNathaniel Ngo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=ndngo\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Aneal-Sharma\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/19873846?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAneal Sharma\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=Aneal-Sharma\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/citomcclure\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/38021988?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChris McClure\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=citomcclure\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#example-citomcclure\" title=\"Examples\"\u003e💡\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://se4.space/\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/42605993?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChristopher Angell\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=ctangell\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Kutim\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/8309533?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKutim\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/issues?q=author%3AKutim\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ichbinjakes\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/20906800?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJake Souter\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/issues?q=author%3Aichbinjakes\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=ichbinjakes\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/IanBoyanZhang\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/4110995?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIan Zhang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=IanBoyanZhang\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#example-IanBoyanZhang\" title=\"Examples\"\u003e💡\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.zachariahcarmichael.com/\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/20629897?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZach\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=craymichael\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.linkedin.com/in/michel-lavoie-71841526/\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/3951483?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMichel Lavoie\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/issues?q=author%3Amiek770\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://linkedin.com/in/ewelinakaminska/\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/42674710?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eewekam\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=ewekam\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.linkedin.com/in/ivyna-alves\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/18709508?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIvyna Santino\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=ivynasantino\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#example-ivynasantino\" title=\"Examples\"\u003e💡\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/yasirroni\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/48709672?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMuhammad Yasirroni\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=yasirroni\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ckastner\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/15859947?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChristian Kastner\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=ckastner\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#platform-ckastner\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/nishnash54\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/25393122?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNishant Rodrigues\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=nishnash54\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/msat59\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/20813541?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003emsat59\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=msat59\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/issues?q=author%3Amsat59\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/diegoroman17\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/1294358?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDiego\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=diegoroman17\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.aquanova-mp.com/\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/6449766?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eShaad Alaka\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=Archer6621\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/blazewicz\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/13185945?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKrzysztof Błażewicz\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/issues?q=author%3Ablazewicz\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/a310883\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/48936633?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJorge Castillo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=a310883\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://danner-web.de/\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/11915163?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePhilipp Danner\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=dannerph\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/nikhil-sethi\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/50928699?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNikhil Sethi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=nikhil-sethi\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=nikhil-sethi\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.iztok-jr-fister.eu/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1633361?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003efirefly-cpp\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/ljvmiranda921/pyswarms/commits?author=firefly-cpp\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fljvmiranda921%2Fpyswarms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fljvmiranda921%2Fpyswarms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fljvmiranda921%2Fpyswarms/lists"}