description.rst 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. Description
  2. =====================================
  3. .. image:: _static/logo_macop.png
  4. :width: 350 px
  5. :align: center
  6. Context
  7. ------------
  8. Based on its generic behaviour, each **Macop** algorithm runs can be represented as an interactive loop where you can interact with and specify your needs at each step:
  9. .. image:: _static/documentation/macop_behaviour.png
  10. :width: 450 px
  11. :align: center
  12. The package is strongly oriented on combinatorial optimisation (hence discrete optimisation) but it remains possible to extend for continuous optimisation.
  13. Motivation
  14. ~~~~~~~~~~
  15. Flexible discrete optimisation package allowing a quick implementation of your problems. In particular it meets the following needs:
  16. - **Common basis:** the interaction loop during the solution finding process proposed within the package is common to all heuristics. This allows the user to modify only a part of this interaction loop if necessary without rendering the process non-functional.
  17. - **Hierarchy:** a hierarchical algorithm management system is available, especially when an algorithm needs to manage local searches. This hierarchy remains transparent to the user. The main algorithm will be able to manage and control the process of searching for solutions.
  18. - **Flexibility:** although the algorithms are dependent on each other, it is possible that their internal management is different. This means that the ways in which solutions are evaluated and updated, for example, may be different.
  19. - **Abstraction:** thanks to the modular separability of the package, it is quickly possible to implement new problems, solutions representation, way to evaluate, update solutions within the package.
  20. - **Extensible:** the package is open to extension, i.e. it does not partition the user in these developer choices. It can just as well implement continuous optimization problems if needed while making use of the main interaction loop proposed by the package.
  21. - **Easy Setup:** as a pure Python package distributed is ``pip`` installable and easy to use.
  22. Installation
  23. ------------
  24. Just install package using `pip` Python package manager:
  25. .. code:: bash
  26. pip install macop