NiaOrg / NiaPy

Python microframework for building nature-inspired algorithms. Official docs: https://niapy.org
https://niapy.org
MIT License
258 stars 78 forks source link

[JOSS] Comment on existing libraries/frameworks #121

Closed ljvmiranda921 closed 6 years ago

ljvmiranda921 commented 6 years ago

There are already implementations of nature-inspired algorithms/frameworks in Python. To name a few, we have DEAP, Evolopy, and Inspyred. It may be worth acknowledging some of these frameworks.

Furthermore, it may also be necessary to expound upon how NiaPy differs from other libraries, does it solve a different problem or use a different software architecture? You can leverage on the algorithms you've implemented that doesn't exist yet in other works, and comment on Niapy in the context of "white-box" or "black-box" approach on software implementation (ref1, ref2).


This is an issue related to openjournals/joss-reviews#613

firefly-cpp commented 6 years ago

Dear @ljvmiranda921,

Thank you very much for your detailed comments! The following projects will be mentioned in our paper:

DEAP

@article{deap, author = " F\'elix-Antoine Fortin and Fran\c{c}ois-Michel {De Rainville} and Marc-Andr\'e Gardner and Marc Parizeau and Christian Gagn\'e ", title = { {DEAP}: Evolutionary Algorithms Made Easy }, pages = { 2171--2175 }, volume = { 13 }, year = { 2012 }, journal = { Journal of Machine Learning Research } }

EvoloPy

@inproceedings{evolopy, title={EvoloPy: An Open-source Nature-inspired Optimization Framework in Python.}, author={Faris, Hossam and Aljarah, Ibrahim and Mirjalili, Seyedali and Castillo, Pedro A and Merelo, Juan J}, booktitle={Proceedings of the 8th International Joint Conference on Computational Intelligence}, pages={171--177}, year={2016} }

PySwarms

@article{pyswarms, author = {Lester James V. Miranda}, title = "{P}y{S}warms, a research-toolkit for {P}article {S}warm {O}ptimization in {P}ython", journal = {Journal of Open Source Software}, year = {2018}, volume = {3}, issue = {21}, doi = {10.21105/joss.00433}, url = {https://doi.org/10.21105/joss.00433} }

inspyred

@article{inspyred, title={inspyred: Bio-inspired Algorithms in Python}, author={Garrett, Aaron}, journal={URL: https://pypi. python. org/pypi/inspyred}, year={2014} }

Pygmo

@inproceedings{pygmo, title={Pygmo and pykep: Open source tools for massively parallel optimization in astrodynamics (the case of interplanetary trajectory optimization)}, author={Izzo, Dario}, booktitle={Proceedings of the Fifth International Conference on Astrodynamics Tools and Techniques, ICATT}, year={2012} }

Do you have any additional suggestions?

ljvmiranda921 commented 6 years ago

Hi, this looks good already. Also, please add a sentence or two in the paper describing how Niapy relates to these frameworks. Doesn't need to be a full-blown RRL :+1:

firefly-cpp commented 6 years ago

Hi @ljvmiranda921 ,

The following text is going to be added in paper.

"There are also some existing similar Python implementations/frameworks of nature-inspired algorithms, as for example DEAP [@deap], EvoloPy [@evolopy], PySwarms [@pyswarms], inspyred [@inspyred] and Pygmo [@pygmo]. However, NiaPy tends to be very minimalistic and easy for use, especially for practitioners and students. "

firefly-cpp commented 6 years ago

This is also related to issue: #122

ljvmiranda921 commented 6 years ago

This looks good to me, I appreciate citing PySwarms but the library has more of a niche scope (only swarm optimization and its variants) compared to others (and your work) that offers optimizers outside of swarm opt. You can drop it if you deem it unnecessary.

121 and #122 can be closed once the branches are merged. :+1:

firefly-cpp commented 6 years ago

Dear @ljvmiranda921,

I really believe that PySwarms framework has a place in related work section. It is a good example of a well-documented and extensible framework, where other SI algorithms can also be easily developed within the framework.

Thanks again for your quick responses.