Package: enoppy
ENOPPY (ENgineering Optimization Problems in PYthon) is the largest python library for real-world engineering
optimization problems. Contains all real-world engineering problems from CEC competitions and research papers.Free software:GNU General Public License (GPL) V3 licenseTotal problems: > 50 problemsDocumentation:https://enoppy.readthedocs.io/en/latest/Python versions:3.7.x, 3.8.x, 3.9.x, 3.10.x, 3.11.xDependencies:numpy, scipy, matplotlibInstallationInstall with pipInstall thecurrent PyPI release:$pipinstallenoppy==0.1.0Install directly from source code$gitclonehttps://github.com/thieu1995/enoppy.git
$cdenoppy
$pythonsetup.pyinstallLib's structuredocs
examples
enoppy
    paper_based
        pdo_2022.py
        rwco_2020.py
    problem_based
        chemical.py
        mechanism.py
    utils
        validator.py
        visualize.py
    __init__.py
    engineer.py
README.md
setup.pyUsageAfter installation, you can import ENOPPY as any other Python module:$python
>>>importenoppy
>>>enoppy.__version__Let's go through some examples.ExamplesHow to get the problem and use itfromenoppy.paper_based.moeosma_2023importSpeedReducerProblem# SRP = SpeedReducerProblem# SP = SpringProblem# HTBP = HydrostaticThrustBearingProblem# VPP = VibratingPlatformProblem# CSP = CarSideImpactProblem# WRMP = WaterResourceManagementProblem# BCP = BulkCarriersProblem# MPBPP = MultiProductBatchPlantProblemsrp_prob=SpeedReducerProblem()print("Lower bound for this problem: ",srp_prob.lb)print("Upper bound for this problem: ",srp_prob.ub)x0=srp_prob.create_solution()print("Get the objective values of x0: ",srp_prob.get_objs(x0))print("Get the constraint values of x0: ",srp_prob.get_cons(x0))print("Evaluate with default penalty function: ",srp_prob.evaluate(x0))Design my own penalty function:importnumpyasnpfromenoppy.paper_based.moeosma_2023importHTBP# HTBP = HydrostaticThrustBearingProblemdefpenalty_func(list_objectives,list_constraints):list_constraints[list_constraints<0]=0returnnp.sum(list_objectives)+1e5*np.sum(list_constraints**2)htbp_prob=HTBP(f_penalty=penalty_func)print("Lower bound for this problem: ",htbp_prob.lb)print("Upper bound for this problem: ",htbp_prob.ub)x0=htbp_prob.create_solution()print("Get the objective values of x0: ",htbp_prob.get_objs(x0))print("Get the constraint values of x0: ",htbp_prob.get_cons(x0))print("Evaluate with default penalty function: ",htbp_prob.evaluate(x0))For more usage examples please look atexamplesfolder.Get helps (questions, problems)Official source code repo:https://github.com/thieu1995/enoppyOfficial document:https://enoppy.readthedocs.io/Download releases:https://pypi.org/project/enoppy/Issue tracker:https://github.com/thieu1995/enoppy/issuesNotable changes log:https://github.com/thieu1995/enoppy/blob/master/ChangeLog.mdExamples with different meapy version:https://github.com/thieu1995/enoppy/blob/master/examples.mdThis project also related to our another projects which are "meta-heuristics", "neural-network", and "optimization"
check it herehttps://github.com/thieu1995/mealpyhttps://github.com/thieu1995/metaheuristicshttps://github.com/thieu1995/opfunuhttps://github.com/thieu1995/permetricshttps://github.com/aiir-teamWant to have an instant assistant? Join our telegram community atlinkWe share lots of information, questions, and answers there. You will get more support and knowledge there.Cite UsIf you are using enoppy in your project, we would appreciate citations:@software{nguyen_van_thieu_2023_7953207,
  author       = {Nguyen Van Thieu},
  title        = {ENOPPY: A Python Library for Engineering Optimization Problems},
  month        = may,
  year         = 2023,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.7953206},
  url          = {https://github.com/thieu1995/enoppy}
}Referencespaper_basedihaoavoa_2022: Xiao, Y., Guo, Y., Cui, H., Wang, Y., Li, J., & 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.moeosma_2023: Luo, Q., Yin, S., Zhou, G., Meng, W., Zhao, Y., & Zhou, Y. (2023). Multi-objective equilibrium optimizer slime mould algorithm and its application in solving engineering problems. Structural and Multidisciplinary Optimization, 66(5), 114.pdo_2022: Ezugwu, A. E., Agushaka, J. O., Abualigah, L., Mirjalili, S., & Gandomi, A. H. (2022). Prairie dog optimization algorithm. Neural Computing and Applications, 34(22), 20017-20065.rwco_2020: Kumar, A., Wu, G., Ali, M. Z., Mallipeddi, R., Suganthan, P. N., & 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.