Software Open Access

Minimalist And Customisable Optimisation Package

Jérôme Buisine; Samuel Delepoulle; Christophe Renaud

Thesis supervisor(s)

Christophe Renaud; Samuel Delepoulle

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 programming, a validator is a function which is used to validate or not a solution data state;
  • evaluator: stores problem instance data and implements a compute method in order to evaluate a solution;
  • operators: mutators, crossovers operators to update and obtain new 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 and restart from previous state if nedded.


Funding: This research was funded by ANR support: project ANR-17-CE38-0009.

Files (7.0 MB)
Name Size
7.0 MB Download
All versions This version
Views 7272
Downloads 1818
Data volume 125.1 MB125.1 MB
Unique views 6262
Unique downloads 1717


Cite as