{"id":21186469,"url":"https://github.com/thieu1995/enoppy","last_synced_at":"2025-07-10T01:31:15.979Z","repository":{"id":167450072,"uuid":"643084456","full_name":"thieu1995/enoppy","owner":"thieu1995","description":"ENOPPY: A Python Library for Engineering Optimization Problems","archived":false,"fork":false,"pushed_at":"2023-12-18T22:14:02.000Z","size":158,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-27T04:49:58.469Z","etag":null,"topics":["benchmark-problems","chemical-process-problems","constrained-problems","engineering-optimization","engineering-problems","livestock-feed-ration-optimization","mathematical-optimization","mechanical-design-problems","multi-objectives-optimization-problems","power-system-problems","process-design-and-synthesis-problems","real-world-optimization","rolling-element-bearing-design-problems"],"latest_commit_sha":null,"homepage":"https://enoppy.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thieu1995.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-05-20T04:03:21.000Z","updated_at":"2024-09-24T23:23:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"b55d161b-6ee6-4b8f-bd64-715cd5555b57","html_url":"https://github.com/thieu1995/enoppy","commit_stats":null,"previous_names":["thieu1995/enoppy"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieu1995%2Fenoppy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieu1995%2Fenoppy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieu1995%2Fenoppy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieu1995%2Fenoppy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thieu1995","download_url":"https://codeload.github.com/thieu1995/enoppy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225013976,"owners_count":17407156,"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":["benchmark-problems","chemical-process-problems","constrained-problems","engineering-optimization","engineering-problems","livestock-feed-ration-optimization","mathematical-optimization","mechanical-design-problems","multi-objectives-optimization-problems","power-system-problems","process-design-and-synthesis-problems","real-world-optimization","rolling-element-bearing-design-problems"],"created_at":"2024-11-20T18:23:51.002Z","updated_at":"2024-11-20T18:23:51.608Z","avatar_url":"https://github.com/thieu1995.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cp align=\"center\"\u003e\u003cimg src=\".github/img/logo.png\" alt=\"ENOPPY\" title=\"ENOPPY\"/\u003e\u003c/p\u003e\n\n---\n\n\n[![GitHub release](https://img.shields.io/badge/release-0.1.1-yellow.svg)](https://github.com/thieu1995/enoppy/releases)\n[![Wheel](https://img.shields.io/pypi/wheel/gensim.svg)](https://pypi.python.org/pypi/enoppy) \n[![PyPI version](https://badge.fury.io/py/enoppy.svg)](https://badge.fury.io/py/enoppy)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/enoppy.svg)\n![PyPI - Status](https://img.shields.io/pypi/status/enoppy.svg)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/enoppy.svg)\n[![Downloads](https://pepy.tech/badge/enoppy)](https://pepy.tech/project/enoppy)\n[![Tests \u0026 Publishes to PyPI](https://github.com/thieu1995/enoppy/actions/workflows/publish-package.yaml/badge.svg)](https://github.com/thieu1995/enoppy/actions/workflows/publish-package.yaml)\n![GitHub Release Date](https://img.shields.io/github/release-date/thieu1995/enoppy.svg)\n[![Documentation Status](https://readthedocs.org/projects/enoppy/badge/?version=latest)](https://enoppy.readthedocs.io/en/latest/?badge=latest)\n[![Chat](https://img.shields.io/badge/Chat-on%20Telegram-blue)](https://t.me/+fRVCJGuGJg1mNDg1)\n[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/thieu1995/enoppy.svg)](http://isitmaintained.com/project/thieu1995/enoppy \"Average time to resolve an issue\")\n[![Percentage of issues still open](http://isitmaintained.com/badge/open/thieu1995/enoppy.svg)](http://isitmaintained.com/project/thieu1995/enoppy \"Percentage of issues still open\")\n![GitHub contributors](https://img.shields.io/github/contributors/thieu1995/enoppy.svg)\n[![GitTutorial](https://img.shields.io/badge/PR-Welcome-%23FF8300.svg?)](https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7953206.svg)](https://doi.org/10.5281/zenodo.7953206)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n\nENOPPY (ENgineering Optimization Problems in PYthon) is the largest python library for real-world engineering \noptimization problems. Contains all real-world engineering problems from CEC competitions and research papers.\n\n* **Free software:** GNU General Public License (GPL) V3 license\n* **Total problems**: \u003e 50 problems\n* **Documentation:** https://enoppy.readthedocs.io/en/latest/\n* **Python versions:** 3.7.x, 3.8.x, 3.9.x, 3.10.x, 3.11.x\n* **Dependencies:** numpy, scipy\n\n\n\n\n# Installation\n\nInstall the [current PyPI release](https://pypi.python.org/pypi/enoppy):\n```sh \n$ pip install enoppy\n```\n\nAfter installation, you can import ENOPPY as any other Python module:\n\n```sh\n$ python\n\u003e\u003e\u003e import enoppy\n\u003e\u003e\u003e enoppy.__version__\n```\n\n\n# Usage\n\nThis is a minimal usage example of the enoppy library.\n\n1) How to get the problem and use it\n\n```python\nfrom enoppy.paper_based.moeosma_2023 import SpeedReducerProblem\n# SRP = SpeedReducerProblem\n# SP = SpringProblem\n# HTBP = HydrostaticThrustBearingProblem\n# VPP = VibratingPlatformProblem\n# CSP = CarSideImpactProblem\n# WRMP = WaterResourceManagementProblem\n# BCP = BulkCarriersProblem\n# MPBPP = MultiProductBatchPlantProblem\n\nsrp_prob = SpeedReducerProblem()\nprint(\"Lower bound for this problem: \", srp_prob.lb)\nprint(\"Upper bound for this problem: \", srp_prob.ub)\nx0 = srp_prob.create_solution()\nprint(\"Get the objective values of x0: \", srp_prob.get_objs(x0))\nprint(\"Get the constraint values of x0: \", srp_prob.get_cons(x0))\nprint(\"Evaluate with default penalty function: \", srp_prob.evaluate(x0))\n\n```\n\n2) Design my own penalty function:\n\n```python\nimport numpy as np\nfrom enoppy.paper_based.moeosma_2023 import HTBP\n# HTBP = HydrostaticThrustBearingProblem\n\ndef penalty_func(list_objectives, list_constraints):\n    list_constraints[list_constraints \u003c 0] = 0\n    return np.sum(list_objectives) + 1e5 * np.sum(list_constraints**2) \n\nhtbp_prob = HTBP(f_penalty=penalty_func)\nprint(\"Lower bound for this problem: \", htbp_prob.lb)\nprint(\"Upper bound for this problem: \", htbp_prob.ub)\nx0 = htbp_prob.create_solution()\nprint(\"Get the objective values of x0: \", htbp_prob.get_objs(x0))\nprint(\"Get the constraint values of x0: \", htbp_prob.get_cons(x0))\nprint(\"Evaluate with default penalty function: \", htbp_prob.evaluate(x0))\n```\n\nFor more examples, check out [examples](/examples) folder and the [enoppy](https://enoppy.readthedocs.io/) documentation\n\n\n# Get helps (questions, problems)\n\n* Official source code repo: https://github.com/thieu1995/enoppy\n* Official document: https://enoppy.readthedocs.io/\n* Download releases: https://pypi.org/project/enoppy/\n* Issue tracker: https://github.com/thieu1995/enoppy/issues\n* Notable changes log: https://github.com/thieu1995/enoppy/blob/master/ChangeLog.md\n* Examples with different meapy version: https://github.com/thieu1995/enoppy/blob/master/examples.md\n* Join our telegram community: [link](https://t.me/+fRVCJGuGJg1mNDg1)\n\n* This project also related to our another projects which are \"meta-heuristics\", \"neural-network\", and \"optimization\" \n  check it here\n\t* https://github.com/thieu1995/mealpy\n\t* https://github.com/thieu1995/permetrics\n    * https://github.com/thieu1995/opfunu\n    * https://github.com/thieu1995/metaheuristics\n    * https://github.com/thieu1995/MetaCluster\n    * https://github.com/thieu1995/pfevaluator\n    * https://github.com/thieu1995/IntelELM\n    * https://github.com/thieu1995/MetaPerceptron\n    * https://github.com/thieu1995/GrafoRVFL\n    * https://github.com/thieu1995/reflame\n    * https://github.com/aiir-team\n\n# Acknowledgments\n\nIf you are using enoppy in your project, we would appreciate citations:\n\n```code \n@software{nguyen_van_thieu_2023_7953207,\n  author       = {Nguyen Van Thieu},\n  title        = {ENOPPY: A Python Library for Engineering Optimization Problems},\n  year         = 2023,\n  publisher    = {Zenodo},\n  doi          = {10.5281/zenodo.7953206},\n  url          = {https://github.com/thieu1995/enoppy}\n}\n\n@article{van2023mealpy,\n  title={MEALPY: An open-source library for latest meta-heuristic algorithms in Python},\n  author={Van Thieu, Nguyen and Mirjalili, Seyedali},\n  journal={Journal of Systems Architecture},\n  year={2023},\n  publisher={Elsevier},\n  doi={10.1016/j.sysarc.2023.102871}\n}\n```\n\n\n## References \n\n\n#### paper_based\n\n\n* **ihaoavoa_2022**: Xiao, Y., Guo, Y., Cui, H., Wang, Y., Li, J., \u0026 Zhang, Y. (2022). IHAOAVOA: An improved hybrid aquila optimizer and African vultures optimization algorithm for global optimization problems. Mathematical Biosciences and Engineering, 19(11), 10963-11017.\n\n* **moeosma_2023**: Luo, Q., Yin, S., Zhou, G., Meng, W., Zhao, Y., \u0026 Zhou, Y. (2023). Multi-objective equilibrium optimizer slime mould algorithm and its application in solving engineering problems. Structural and Multidisciplinary Optimization, 66(5), 114.\n\n* **pdo_2022**: Ezugwu, A. E., Agushaka, J. O., Abualigah, L., Mirjalili, S., \u0026 Gandomi, A. H. (2022). Prairie dog optimization algorithm. Neural Computing and Applications, 34(22), 20017-20065.\n\n* **rwco_2020**: Kumar, A., Wu, G., Ali, M. Z., Mallipeddi, R., Suganthan, P. N., \u0026 Das, S. (2020). A test-suite of non-convex constrained optimization problems from the real-world and some baseline results. Swarm and Evolutionary Computation, 56, 100693.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthieu1995%2Fenoppy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthieu1995%2Fenoppy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthieu1995%2Fenoppy/lists"}