Optimisation modules built for optimization problem during thesis

Jérôme BUISINE 2b1151e24b update of references into paper and figure il y a 3 ans
.github f0203a9d3f check build content il y a 3 ans
docs 2b1151e24b update of references into paper and figure il y a 3 ans
examples 52e603abe9 documentation updates for evaluator / opetators il y a 3 ans
macop 26ccf57175 paper file updated il y a 3 ans
.gitignore 52e603abe9 documentation updates for evaluator / opetators il y a 3 ans
CONTRIBUTING.md 26ccf57175 paper file updated il y a 3 ans
LICENSE 1bb5cb9f48 start of new documentation explanation il y a 3 ans
README.md 26ccf57175 paper file updated il y a 3 ans
__init__.py 0a1b108095 First version of OR framework il y a 4 ans
build.sh 899ec8e7d3 rename all paramaters as protected il y a 3 ans
paper.bib 26ccf57175 paper file updated il y a 3 ans
paper.md 2b1151e24b update of references into paper and figure il y a 3 ans
requirements.txt 4fbbbf39d3 documentation updates for algorithms il y a 3 ans
setup.py 2b1151e24b update of references into paper and figure il y a 3 ans

README.md

Minimalist And Customisable Optimisation Package

Description

Macop is a python package for solving discrete optimisation problems in nature. Continuous optimisation can also applicable if needed. The objective is to allow a user to exploit the basic structure proposed by this package to solve a problem specific to him. The interest is that he can quickly abstract himself from the complications related to the way of evaluating, comparing, saving the progress of the search for good solutions but rather concentrate if necessary on his own algorithm. Indeed, Macop offers the following main and basic features:

  • solutions: representation of the solution ;
  • validator: such as constraint programmig, a validator is function which is used for validate or not a solution data state ;
  • evaluator: stores problem instance data and implement a compute method in order to evaluate a solution ;
  • operators: mutators, crossovers update of solution ;
  • policies: the way you choose the available operators (might be using reinforcement learning) ;
  • algorithms: generic and implemented optimisation research algorithms ;
  • callbacks: callbacks to automatically keep track of the search space advancement.

Based on all of these generic and/or implemented functionalities, the user will be able to quickly develop a solution to his problem while retaining the possibility of remaining in control of his development by overloading existing functionalities if necessary.

Main idea about this Python package is that it does not which doesn't implement every algorithm in the literature but let the possibility to the user to quickly develop and test its own algorithms and strategies. The main objective of this package is to provide maximum flexibility, which allows for easy experimentation in implementation..

Documentation

Fully documentation of package with examples is available.

You can also see examples of use:

Add as dependency

git submodule add https://github.com/jbuisine/macop.git

License

The MIT License