api.rst 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. API
  2. =============
  3. Modules description
  4. ~~~~~~~~~~~~~~~~~~~
  5. **Macop** offers the following main and basic features:
  6. - **algorithms:** generic and implemented optimisation research algorithms;
  7. - **callbacks:** callbacks to automatically keep track of the search space advancement and restart from previous state if nedded;
  8. - **evaluator:** stores problem instance data and implements a `compute` method in order to evaluate a solution;
  9. - **operators:** mutators, crossovers operators to update and obtain new solution;
  10. - **policies:** the way you choose the available operators (might be using reinforcement learning);
  11. - **solutions:** representation of the solution;
  12. - **validator:** such as constraint programming, a `validator` is a function which is used to validate or not a solution data state;
  13. Common and base modules
  14. ~~~~~~~~~~~~~~~~~~~~~~~
  15. The modules presented in this section are common to all types of optimisation problems. The abstract classes proposed here form the basis of the package's structure.
  16. macop.algorithms
  17. -------------------
  18. .. autosummary::
  19. :toctree: macop
  20. macop.algorithms.base
  21. macop.algorithms.mono
  22. macop.algorithms.multi
  23. macop.callbacks
  24. -------------------
  25. .. autosummary::
  26. :toctree: macop
  27. macop.callbacks.base
  28. macop.callbacks.classicals
  29. macop.callbacks.multi
  30. macop.callbacks.policies
  31. macop.evaluators
  32. -------------------
  33. .. autosummary::
  34. :toctree: macop
  35. macop.evaluators.base
  36. macop.operators
  37. -------------------
  38. .. autosummary::
  39. :toctree: macop
  40. macop.operators.base
  41. macop.policies
  42. -------------------
  43. .. autosummary::
  44. :toctree: macop
  45. macop.policies.base
  46. macop.policies.classicals
  47. macop.policies.reinforcement
  48. macop.solutions
  49. -------------------
  50. .. autosummary::
  51. :toctree: macop
  52. macop.solutions.base
  53. macop.utils
  54. -------------------
  55. .. autosummary::
  56. :toctree: macop
  57. macop.utils.progress
  58. Discrete Optimisation
  59. ~~~~~~~~~~~~~~~~~~~~~
  60. Some implementations of discrete optimisation problem functionalities are available. They can be used as example implementations or can simply be used by the user.
  61. macop.evaluators
  62. -------------------
  63. .. autosummary::
  64. :toctree: macop
  65. macop.evaluators.discrete.mono
  66. macop.evaluators.discrete.multi
  67. macop.operators
  68. -------------------
  69. .. autosummary::
  70. :toctree: macop
  71. macop.operators.discrete.mutators
  72. macop.operators.discrete.crossovers
  73. macop.solutions
  74. -------------------
  75. .. autosummary::
  76. :toctree: macop
  77. macop.solutions.discrete
  78. Continuous Optimisation
  79. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  80. Although continuous optimization is not the priority of this package, the idea is to leave the possibility to any user to implement or even propose implementations related to this kind of problem. The modules are here for the moment nearly empty (only with Zdt functions example) but present to establish the structure relative to these types of implementations.
  81. If a user wishes to propose these developments so that they can be added in a future version of the package, he can refer to the guidelines_ for contributions of the package.
  82. .. _guidelines: https://github.com/prise-3d/macop/blob/master/CONTRIBUTING.md
  83. macop.evaluators
  84. -------------------
  85. .. autosummary::
  86. :toctree: macop
  87. macop.evaluators.continuous.mono
  88. macop.evaluators.continuous.multi
  89. macop.operators
  90. -------------------
  91. .. autosummary::
  92. :toctree: macop
  93. macop.operators.continuous.mutators
  94. macop.operators.continuous.crossovers
  95. macop.solutions
  96. -------------------
  97. .. autosummary::
  98. :toctree: macop
  99. macop.solutions.continuous