Welcome to the Parrot Optimizer repository! The Parrot Optimizer (PO) is an innovative optimization algorithm inspired by the behaviors of trained Pyrrhura Molinae parrots. This repository contains the source code for the PO, along with comprehensive documentation to help you understand and utilize this powerful optimization tool.
This repository houses the implementation of the PO algorithm, introduced and detailed in the research paper titled "Parrot optimizer: Algorithm and applications to medical problems." The paper, authored by Junbo Lian, Guohua Hui, Ling Ma, Ting Zhu, Xincan Wu, Ali Asghar Heidari, Yi Chen, and Huiling Chen, was published in Computers in Biology and Medicine in 2024.
-
Parameter Inputs:
N
: Number of individuals in the population.Max_iter
: Maximum number of iterations.lb
andub
: Lower and upper bounds for the optimization variables.dim
: Dimensionality of the problem.fobj
: Objective function to be minimized.
-
Initialization:
- The optimization process begins with the initialization of the population.
-
Foraging Behaviors:
- The algorithm incorporates different foraging behaviors including searching, staying, communicating, and fear of strangers.
-
Levy Flight Strategy:
- The Levy flight strategy is employed for exploration, enhancing the global search capability.
-
Boundary Control:
- The algorithm ensures that individuals stay within the specified search space boundaries.
-
Sorting and Updating:
- Individuals are sorted based on their fitness values, and the global best solution is updated accordingly.
-
Levy Search Strategy:
- A Levy search strategy is used to balance exploration and exploitation.
-
Fitness Tracking:
- Fitness values and positions are tracked throughout the optimization process.
[N, Max_iter, lb, ub, dim, fobj] = set_your_parameters(); [avg_fitness_curve, Best_pos, Best_score, curve, search_history, fitness_history] = PO(N, Max_iter, lb, ub, dim, fobj);
Note: Please replace set_your_parameters() with appropriate parameter values based on your optimization problem.
Ensure that the objective function (fobj) is defined according to your optimization task.
Feel free to explore and utilize the Parrot Optimizer for your optimization needs. If you have any questions or feedback, please reach out to the authors.
Thank you for your interest in the Parrot Optimizer!
- Efficient optimization inspired by parrot behaviors.
- Qualitative analysis and experiments on 35 functions.
- Benchmarking against popular algorithms.
- Adaptability demonstrated in engineering design, disease diagnosis, and medical image segmentation.
Explore the applications of the Parrot Optimizer in medical image segmentation:
- Multi-Threshold Image Segmentation (MTIS)
- Learn about our approach combining non-local mean filtering, 2D histograms, Kapur entropy, and the Parrot Optimizer for enhanced segmentation of histopathology microscopy images.
For detailed experiments, evaluation metrics, and results, refer to the Applications.md file.
We welcome contributions from the community! If you'd like to contribute to the Parrot Optimizer project, please contact us If you have any questions, suggestions, or feedback, feel free to reach out to the authors:
-
Junbo Lian
- Email: [email protected]
-
Ali Asghar Heidari
- Email: [email protected], [email protected]
-
Huiling Chen
- Email: [email protected]
We extend our gratitude to all contributors and organizations that supported the development of the Parrot Optimizer.
The Parrot Optimizer is licensed under the MIT License. Please review the license for details on how you can use and distribute this software.
If you have any questions, feedback, or collaboration inquiries, feel free to reach out to us
-
Junbo Lian
- Email: [email protected]
-
Ali Asghar Heidari
- Email: [email protected], [email protected]
-
Huiling Chen
- Email: [email protected]
If you use the Parrot Optimizer in your academic research, please cite our paper.
For additional resources, supplementary files, and open-source code, visit aliasgharheidari.com/PO.html.
Find the Parrot Optimizer on MathWorks File Exchange: Parrot Optimizer - Algorithm and Application to Medical Problem
Feel free to explore the code, contribute to the project, and leverage the Parrot Optimizer for your optimization needs. Thank you for your interest in the Parrot Optimizer!