choccy 0.0.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. choccy/__init__.py +20 -0
  2. choccy/algorithms/__init__.py +12 -0
  3. choccy/algorithms/algorithm.py +953 -0
  4. choccy/algorithms/comparator.py +389 -0
  5. choccy/algorithms/evaluator.py +636 -0
  6. choccy/algorithms/multi/CCMO/__init__.py +0 -0
  7. choccy/algorithms/multi/MOEAD/MOEAD.py +126 -0
  8. choccy/algorithms/multi/MOEAD/__init__.py +8 -0
  9. choccy/algorithms/multi/NNDREA/NNDREA.py +204 -0
  10. choccy/algorithms/multi/NNDREA/__init__.py +8 -0
  11. choccy/algorithms/multi/NSGA/NSGAII.py +52 -0
  12. choccy/algorithms/multi/NSGA/NSGAIII.py +0 -0
  13. choccy/algorithms/multi/NSGA/__init__.py +8 -0
  14. choccy/algorithms/multi/SPEA/SPEA2.py +124 -0
  15. choccy/algorithms/multi/SPEA/__init__.py +8 -0
  16. choccy/algorithms/multi/SparseEA/__init__.py +0 -0
  17. choccy/algorithms/multi/__init__.py +11 -0
  18. choccy/algorithms/single/ACO/ACO.py +165 -0
  19. choccy/algorithms/single/ACO/ACOR.py +0 -0
  20. choccy/algorithms/single/ACO/__init__.py +17 -0
  21. choccy/algorithms/single/DE/DE.py +195 -0
  22. choccy/algorithms/single/DE/JADE.py +0 -0
  23. choccy/algorithms/single/DE/SHADE.py +0 -0
  24. choccy/algorithms/single/DE/__init__.py +14 -0
  25. choccy/algorithms/single/DP/DP_KP.py +75 -0
  26. choccy/algorithms/single/DP/__init__.py +13 -0
  27. choccy/algorithms/single/ES/CMAES.py +0 -0
  28. choccy/algorithms/single/ES/__init__.py +7 -0
  29. choccy/algorithms/single/GA/GA.py +36 -0
  30. choccy/algorithms/single/GA/__init__.py +14 -0
  31. choccy/algorithms/single/GD/Adam.py +54 -0
  32. choccy/algorithms/single/GD/GD.py +32 -0
  33. choccy/algorithms/single/GD/__init__.py +15 -0
  34. choccy/algorithms/single/GH/FarthestInsertion.py +79 -0
  35. choccy/algorithms/single/GH/Greedy_KP.py +54 -0
  36. choccy/algorithms/single/GH/Greedy_TSP.py +0 -0
  37. choccy/algorithms/single/GH/__init__.py +10 -0
  38. choccy/algorithms/single/HGA/HGA_TSP.py +73 -0
  39. choccy/algorithms/single/HGA/__init__.py +9 -0
  40. choccy/algorithms/single/LS/GFLS_TSP.py +103 -0
  41. choccy/algorithms/single/LS/LS_TSP.py +58 -0
  42. choccy/algorithms/single/LS/__init__.py +20 -0
  43. choccy/algorithms/single/NS/LNS.py +0 -0
  44. choccy/algorithms/single/NS/__init__.py +0 -0
  45. choccy/algorithms/single/PSO/BPSO.py +126 -0
  46. choccy/algorithms/single/PSO/PSO.py +124 -0
  47. choccy/algorithms/single/PSO/__init__.py +15 -0
  48. choccy/algorithms/single/SA/SA.py +151 -0
  49. choccy/algorithms/single/SA/__init__.py +16 -0
  50. choccy/algorithms/single/__init__.py +17 -0
  51. choccy/core.py +160 -0
  52. choccy/problems/__init__.py +10 -0
  53. choccy/problems/multi/DTLZ/DTLZ1.py +43 -0
  54. choccy/problems/multi/DTLZ/DTLZ2.py +45 -0
  55. choccy/problems/multi/DTLZ/__init__.py +9 -0
  56. choccy/problems/multi/MOKP/MOKP.py +76 -0
  57. choccy/problems/multi/MOKP/__init__.py +8 -0
  58. choccy/problems/multi/MOP/MOP1.py +35 -0
  59. choccy/problems/multi/MOP/MOP2.py +25 -0
  60. choccy/problems/multi/MOP/__init__.py +9 -0
  61. choccy/problems/multi/ZDT/ZDT1.py +36 -0
  62. choccy/problems/multi/ZDT/ZDT2.py +36 -0
  63. choccy/problems/multi/ZDT/ZDT3.py +44 -0
  64. choccy/problems/multi/ZDT/__init__.py +10 -0
  65. choccy/problems/multi/__init__.py +11 -0
  66. choccy/problems/problem.py +650 -0
  67. choccy/problems/single/KP/BinaryKP.py +70 -0
  68. choccy/problems/single/KP/RepeatKP.py +0 -0
  69. choccy/problems/single/KP/__init__.py +8 -0
  70. choccy/problems/single/MIP/MIP_Ackley.py +29 -0
  71. choccy/problems/single/MIP/MIP_Rastrigin.py +28 -0
  72. choccy/problems/single/MIP/__init__.py +9 -0
  73. choccy/problems/single/ML/Classification.py +90 -0
  74. choccy/problems/single/ML/Clustering.py +115 -0
  75. choccy/problems/single/ML/FixedSizeCluster.py +59 -0
  76. choccy/problems/single/ML/Regression.py +94 -0
  77. choccy/problems/single/ML/__init__.py +11 -0
  78. choccy/problems/single/QP/ConvexQP.py +0 -0
  79. choccy/problems/single/QP/NonconvexQP.py +0 -0
  80. choccy/problems/single/QP/SphereQP.py +28 -0
  81. choccy/problems/single/QP/__init__.py +8 -0
  82. choccy/problems/single/SOP/Ackley.py +28 -0
  83. choccy/problems/single/SOP/SOP1.py +26 -0
  84. choccy/problems/single/SOP/SOP10.py +28 -0
  85. choccy/problems/single/SOP/SOP2.py +26 -0
  86. choccy/problems/single/SOP/SOP3.py +26 -0
  87. choccy/problems/single/SOP/SOP4.py +26 -0
  88. choccy/problems/single/SOP/SOP5.py +27 -0
  89. choccy/problems/single/SOP/SOP6.py +26 -0
  90. choccy/problems/single/SOP/SOP7.py +27 -0
  91. choccy/problems/single/SOP/SOP8.py +26 -0
  92. choccy/problems/single/SOP/SOP9.py +26 -0
  93. choccy/problems/single/SOP/Sphere.py +26 -0
  94. choccy/problems/single/SOP/__init__.py +38 -0
  95. choccy/problems/single/TSP/ATSP.py +0 -0
  96. choccy/problems/single/TSP/TSP.py +120 -0
  97. choccy/problems/single/TSP/__init__.py +8 -0
  98. choccy/problems/single/__init__.py +16 -0
  99. choccy/solutions/__init__.py +8 -0
  100. choccy/solutions/solutions.py +1188 -0
  101. choccy/types.py +204 -0
  102. choccy/utilities/__init__.py +6 -0
  103. choccy/utilities/commons/__init__.py +31 -0
  104. choccy/utilities/commons/activation.py +32 -0
  105. choccy/utilities/commons/aggregation.py +51 -0
  106. choccy/utilities/commons/constraints.py +51 -0
  107. choccy/utilities/commons/decomposition.py +25 -0
  108. choccy/utilities/commons/reference.py +6 -0
  109. choccy/utilities/commons/sampling.py +40 -0
  110. choccy/utilities/commons/sorting.py +259 -0
  111. choccy/utilities/handler/__init__.py +21 -0
  112. choccy/utilities/handler/converters.py +15 -0
  113. choccy/utilities/handler/formatter.py +139 -0
  114. choccy/utilities/handler/loaders.py +223 -0
  115. choccy/utilities/handler/savers.py +186 -0
  116. choccy/utilities/logging/__init__.py +12 -0
  117. choccy/utilities/logging/logger.py +132 -0
  118. choccy/utilities/metrics/__init__.py +17 -0
  119. choccy/utilities/metrics/convergence.py +106 -0
  120. choccy/utilities/metrics/diversity.py +6 -0
  121. choccy/utilities/metrics/hypervolume.py +449 -0
  122. choccy/utilities/strategies/__init__.py +29 -0
  123. choccy/utilities/strategies/crossovers.py +356 -0
  124. choccy/utilities/strategies/educations.py +26 -0
  125. choccy/utilities/strategies/mutations.py +158 -0
  126. choccy/utilities/strategies/operators.py +309 -0
  127. choccy/utilities/strategies/perturbers.py +169 -0
  128. choccy/utilities/strategies/searching.py +491 -0
  129. choccy/utilities/strategies/selections.py +61 -0
  130. choccy/utilities/visualization/__init__.py +26 -0
  131. choccy/utilities/visualization/animator.py +826 -0
  132. choccy/utilities/visualization/colormap.py +33 -0
  133. choccy/utilities/visualization/comparison.py +318 -0
  134. choccy/utilities/visualization/convergence.py +104 -0
  135. choccy/utilities/visualization/decisions.py +97 -0
  136. choccy/utilities/visualization/hybrids.py +265 -0
  137. choccy/utilities/visualization/objectives.py +148 -0
  138. choccy-0.0.9.dist-info/METADATA +452 -0
  139. choccy-0.0.9.dist-info/RECORD +142 -0
  140. choccy-0.0.9.dist-info/WHEEL +5 -0
  141. choccy-0.0.9.dist-info/licenses/LICENSE +127 -0
  142. choccy-0.0.9.dist-info/top_level.txt +1 -0
choccy/__init__.py ADDED
@@ -0,0 +1,20 @@
1
+ # Copyright (c) 2024 LuChen Wang
2
+ # SPDX-License-Identifier: MulanPSL-2.0
3
+
4
+ """
5
+ CHOCCY - Chen's Heuristic Optimizer Constructed with Core numpY
6
+
7
+ A comprehensive library of optimization algorithms for single and multi-objective problems,
8
+ built on top of NumPy & Numba for high performance.
9
+ """
10
+
11
+ __version__ = "0.0.9"
12
+ __author__ = "LuChen Wang"
13
+ __email__ = "wangluchen567@qq.com"
14
+ __description__ = ("Chen's Heuristic Optimizer Constructed with Core numpY: \n"
15
+ "A comprehensive library of optimization algorithms for single and multi-objective problems, "
16
+ "built on top of NumPy & Numba for high performance.")
17
+ __url__ = "https://gitee.com/wang567/CHOCCY"
18
+ __issues__ = "https://gitee.com/wang567/CHOCCY/issues"
19
+ __license__ = "Mulan PSL v2"
20
+ __copyright__ = f"Copyright (c) 2024 {__author__}"
@@ -0,0 +1,12 @@
1
+ # Copyright (c) 2024 LuChen Wang
2
+ # SPDX-License-Identifier: MulanPSL-2.0
3
+
4
+ """
5
+ 优化算法集
6
+ """
7
+
8
+ from .algorithm import Algorithm
9
+ from .comparator import Comparator
10
+ from .evaluator import Evaluator
11
+ from .multi import *
12
+ from .single import *