Optimisation modules built for optimization problem during thesis

Jérôme BUISINE 05ed7a18c3 update of macop documentation 4 anni fa
.github df8251b5ac new package name : macop; use of new policy for operators 4 anni fa
.vscode 4fbbbf39d3 documentation updates for algorithms 4 anni fa
docs 05ed7a18c3 update of macop documentation 4 anni fa
macop 05ed7a18c3 update of macop documentation 4 anni fa
.gitignore 4fbbbf39d3 documentation updates for algorithms 4 anni fa
CONTRIBUTING.md df8251b5ac new package name : macop; use of new policy for operators 4 anni fa
LICENSE 3589fb944b Initial commit 5 anni fa
README.md 05ed7a18c3 update of macop documentation 4 anni fa
__init__.py 0a1b108095 First version of OR framework 5 anni fa
build.sh df8251b5ac new package name : macop; use of new policy for operators 4 anni fa
checkpoints.csv df8251b5ac new package name : macop; use of new policy for operators 4 anni fa
logo_macop.png df8251b5ac new package name : macop; use of new policy for operators 4 anni fa
mainExample.py 05ed7a18c3 update of macop documentation 4 anni fa
requirements.txt 4fbbbf39d3 documentation updates for algorithms 4 anni fa
setup.py 05ed7a18c3 update of macop documentation 4 anni fa

README.md

Minimalist And Customizable Optimization Package

Description

macop is an optimization Python package which not implement the whole available algorithms in the literature but let you the possibility to quickly develop and test your own algorithm and strategies. The main objective of this package is to be the most flexible as possible and hence, to offer a maximum of implementation possibilities.

Modules

  • algorithms: generic and implemented OR algorithms
  • evaluator: example of an evaluation function to use (you have to implement your own evaluation function)
  • solutions: solutions used to represent problem data
  • operators: mutators, crossovers update of solution. This folder also has policies folder to manage the way of update and use solution.
  • checkpoints: checkpoints folder where Checkpoint class is available for making checkpoint every number of evaluations.

Note: you can pass a custom validator function to the algorithm in order to check is solution is always correct for your needs after an update.

How to use ?

You can see an example of use in the mainExample.py python file.

Fully documentation of package with examples is also available.

Add as dependency

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

License

The MIT License