{"id":21186521,"url":"https://github.com/thieu1995/metaheuristics","last_synced_at":"2025-10-13T15:39:40.206Z","repository":{"id":53700920,"uuid":"187029955","full_name":"thieu1995/metaheuristics","owner":"thieu1995","description":"Implement the-state-of-the-art meta-heuristic algorithms using python (numpy)","archived":false,"fork":false,"pushed_at":"2022-12-06T05:08:10.000Z","size":19264,"stargazers_count":291,"open_issues_count":5,"forks_count":84,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-10-13T15:39:38.083Z","etag":null,"topics":["artificial-bee-colony","atom-search-optimization","bacterial-foraging-optimization","butterfly-optimization","cat-swarm-optimization","coral-reefs-optimization","differential-evolution-optimization","genetic-algorithm","harris-hawks-optimization","mouth-brooding-fish-algorithm","nuclear-reaction-optimization","particle-swarm-optimization","pathfinder-algorithm","queue-search-algorithm","sailfish-optimizer","sandpiper-optimization-algorithm","seagull-optimization","the-sailfish-optimizer","tug-of-war-optimization","whale-optimization"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thieu1995.png","metadata":{"files":{"readme":"README.md","changelog":"history/best_fit/QSO_F10_best_fit.csv","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-16T13:07:01.000Z","updated_at":"2025-09-16T17:39:42.000Z","dependencies_parsed_at":"2023-01-23T14:45:58.305Z","dependency_job_id":null,"html_url":"https://github.com/thieu1995/metaheuristics","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thieu1995/metaheuristics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieu1995%2Fmetaheuristics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieu1995%2Fmetaheuristics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieu1995%2Fmetaheuristics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieu1995%2Fmetaheuristics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thieu1995","download_url":"https://codeload.github.com/thieu1995/metaheuristics/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieu1995%2Fmetaheuristics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279015935,"owners_count":26085777,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["artificial-bee-colony","atom-search-optimization","bacterial-foraging-optimization","butterfly-optimization","cat-swarm-optimization","coral-reefs-optimization","differential-evolution-optimization","genetic-algorithm","harris-hawks-optimization","mouth-brooding-fish-algorithm","nuclear-reaction-optimization","particle-swarm-optimization","pathfinder-algorithm","queue-search-algorithm","sailfish-optimizer","sandpiper-optimization-algorithm","seagull-optimization","the-sailfish-optimizer","tug-of-war-optimization","whale-optimization"],"created_at":"2024-11-20T18:24:12.145Z","updated_at":"2025-10-13T15:39:40.189Z","avatar_url":"https://github.com/thieu1995.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# How to read my repository\n1. utils: includes helper functions\n2. script: includes file runs (main files)\n3. models: includes all algorithms \n    * single_solution: \n    * multiple_solution: 4 folders\n        * human_based\n        * physics_based\n        * swarm_based\n        * evolutionary_based\n4. How to run?\n    * run files in script folder, your environment need 2 package: copy and numpy\n    * also change the parameters of models in scripts's file\n\n# Notes\n* This repository includes all optimization algorithms coded in python (Numpy) in my research time\n* If you want to know how to implement optimization with neural networks, take a look at this repos:\n    * https://github.com/chasebk/code_FLNN\n\n* If you see my code and data useful and use it, please cites us here\n\n    * Nguyen, T., Tran, N., Nguyen, B. M., \u0026 Nguyen, G. (2018, November). A Resource Usage Prediction System Using Functional-Link and Genetic Algorithm Neural Network for Multivariate Cloud Metrics. In 2018 IEEE 11th Conference on Service-Oriented Computing and Applications (SOCA) (pp. 49-56). IEEE.\n\n    * Nguyen, T., Nguyen, B. M., \u0026 Nguyen, G. (2019, April). Building Resource Auto-scaler with Functional-Link Neural Network and Adaptive Bacterial Foraging Optimization. In International Conference on Theory and Applications of Models of Computation (pp. 501-517). Springer, Cham.\n\n* If you want to know more about code, or want a pdf of both above paper, contact me: nguyenthieu2102@gmail.com\n\n\n# Meta-heuristics\n- Implement algorithms based on papers\n\n## Single Solution\n```code\nNone\n```\n\n## Multiple Solution\n\n\n### 1._. Physics-based\n\n* __Tug Of War Optimization__: Kaveh, A., \u0026 Zolghadr, A. (2016). A novel meta-heuristic algorithm: tug of war optimization. Iran University of Science \u0026 Technology, 6(4), 469-492.\n* __Nuclear Reaction Optimization__: Wei, Z., Huang, C., Wang, X., Han, T., \u0026 Li, Y. (2019). Nuclear Reaction Optimization: A novel and powerful physics-based algorithm for global optimization. IEEE Access. \n```code\n    + So many equations and loops - take time to run on larger dimension \n    + General O (g * n * d) \n    + Good convergence curse because the used of gaussian-distribution and levy-flight trajectory\n    + Use the variant of Differential Evolution\n```\n* __Henry Gas Solubility Optimization__: Hashim, F. A., Houssein, E. H., Mabrouk, M. S., Al-Atabany, W., \u0026 Mirjalili, S. (2019). Henry gas solubility optimization: A novel physics-based algorithm. Future Generation Computer Systems, 101, 646-667.\n```code \n    + Too much constants and variables\n    + Still have some unclear point in Eq. 9 and Algorithm. 1\n    + Can improve this algorithm by opposition-based and levy-flight\n    + A wrong logic code in line 91 \"j = id % self.n_elements\" =\u003e to \"j = id % self.n_clusters\" can make algorithm converge faster. I don't know why?\n    + Good results come from CEC 2014\n```\n\n\n### 2._. Evolutionary-based\n\n* __Genetic Algorithms__: Holland, J. H. (1992). Genetic algorithms. Scientific american, 267(1), 66-73.\n* __Differential Evolution__: Storn, R., \u0026 Price, K. (1997). Differential evolution–a simple and efficient heuristic for global optimization over continuous spaces. Journal of global optimization, 11(4), 341-359.\n* __Coral Reefs Optimization Algorithm__: Salcedo-Sanz, S., Del Ser, J., Landa-Torres, I., Gil-López, S., \u0026 Portilla-Figueras, J. A. (2014). The coral reefs optimization algorithm: a novel metaheuristic for efficiently solving optimization problems. The Scientific World Journal, 2014.\n\n\n\n### 3._. Swarm-based\n\n* __Particle Swarm Optimization__: Eberhart, R., \u0026 Kennedy, J. (1995, October). A new optimizer using particle swarm theory. In MHS'95. Proceedings of the Sixth International Symposium on Micro Machine and Human Science (pp. 39-43). Ieee.\n* __Cat Swarm Optimization__: Chu, S. C., Tsai, P. W., \u0026 Pan, J. S. (2006, August). Cat swarm optimization. In Pacific Rim international conference on artificial intelligence (pp. 854-858). Springer, Berlin, Heidelberg.\n* __Whale Optimization__: Mirjalili, S., \u0026 Lewis, A. (2016). The whale optimization algorithm. Advances in engineering software, 95, 51-67.\n* __Bacterial Foraging Optimization__: Passino, K. M. (2002). Biomimicry of bacterial foraging for distributed optimization and control. IEEE control systems magazine, 22(3), 52-67.\n* __Adaptive Bacterial Foraging Optimization__: Yan, X., Zhu, Y., Zhang, H., Chen, H., \u0026 Niu, B. (2012). An adaptive bacterial foraging optimization algorithm with lifecycle and social learning. Discrete Dynamics in Nature and Society, 2012.\n* __Artificial Bee Colony__: Karaboga, D., \u0026 Basturk, B. (2007, June). Artificial bee colony (ABC) optimization algorithm for solving constrained optimization problems. In International fuzzy systems association world congress (pp. 789-798). Springer, Berlin, Heidelberg.\n* __Pathfinder Algorithm__: Yapici, H., \u0026 Cetinkaya, N. (2019). A new meta-heuristic optimizer: Pathfinder algorithm. Applied Soft Computing, 78, 545-568.\n* __Harris Hawks Optimization__: Heidari, A. A., Mirjalili, S., Faris, H., Aljarah, I., Mafarja, M., \u0026 Chen, H. (2019). Harris hawks optimization: Algorithm and applications. Future Generation Computer Systems, 97, 849-872.\n* __Sailfish Optimizer__: Shadravan, S., Naji, H. R., \u0026 Bardsiri, V. K. (2019). The Sailfish Optimizer: A novel nature-inspired metaheuristic algorithm for solving constrained engineering optimization problems. Engineering Applications of Artificial Intelligence, 80, 20-34.\n\n\n\n### 4._. Human activity-based\n\n* __Queuing Search Algorithm__: Zhang, J., Xiao, M., Gao, L., \u0026 Pan, Q. (2018). Queuing search algorithm: A novel metaheuristic algorithm for solving engineering optimization problems. Applied Mathematical Modelling, 63, 464-490.\n\n\n\n# List of trash meta-heuristics (totally fake and unethical)\n\n1._. Physics-based\n\n2._. Evolutionary-based\n\n3._. Swarm-based\n\n* __Sandpiper Optimization Algorithm__: Kaur, A., Jain, S., \u0026 Goel, S. (2019). Sandpiper optimization algorithm: a novel approach for solving real-life engineering problems. Applied Intelligence, 1-38.\n* __Sooty Tern Optimization Algorithm__: Dhiman, G., \u0026 Kaur, A. (2019). STOA: A bio-inspired based optimization algorithm for industrial engineering problems. Engineering Applications of Artificial Intelligence, 82, 148-174.\n```code\n+ Cant even update the position itself\n+ So many unclear operators and unclear parameters\n+ Can't converge\n```\n\n* __Butterfly Optimization Algorithm__: Arora, S., \u0026 Singh, S. (2019). Butterfly optimization algorithm: a novel approach for global optimization. Soft Computing, 23(3), 715-734.\n```code \n+ Cant converge as the paper said\n+ The code public from the author different with the pseudo-code in the paper\n+ Totally trash and unethical, plagiarize from Flower Pollination Algorithm developed by Yang\n```\n\n* __Butterfly Optimization Algorithm__: Arora, S., \u0026 Singh, S. (2019). Butterfly optimization algorithm: a novel approach for global optimization. Soft Computing, 23(3), 715-734.\n```code \n+ Cant converge as the paper said\n+ The code public from the author different with the pseudo-code in the paper\n+ Totally trash and unethical, plagiarize from Flower Pollination Algorithm developed by Yang\n```\n\n* __Blue Monkey Optimization__: (2019) The Blue Monkey: A New Nature Inspired Metaheuristic Optimization Algorithm. DOI: http://dx.doi.org/10.21533/pen.v7i3.621\n```code \n+ Really? The idea look like \"Chicken Swarm Optimization\"\n+ The pseudo-code totally shit in my opinion, just read the paper you will understand.\n+ The unclear point here is the \"Rate equation\": really confuse because It's contain the position. As you know,\n    The position is the vector, but finally, the author conclude that Rate is random number in range [0, 1]\n    Luckily, using number we can plus/add number and vector or vector and vector.\n    So at first, Rate is random number then after the 1st loop, its become vector. \n+ Morever, both equtions movement of blue monkey and children is the same.\n+ In addition, they don't check the bound after update position.\n+ Keep going, they don't tell you the how to find the global best (I mean from blue monkey group or child group)\n+ The code I have done here is the version which I used my knowledge about meta-heuristics to do it. \n+ The results good for some CEC2014 functions, but can't even converge with the square function.\n+ Can't get the results same at the paper.\nAfter all, I think this is completely trash algorithm, need to remove from our comunity.\n```\n\n\n4._. Human activity-based\n\n# The list will continue update...\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthieu1995%2Fmetaheuristics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthieu1995%2Fmetaheuristics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthieu1995%2Fmetaheuristics/lists"}