macop.algorithms.Algorithm

Abstract Algorithm class used as basic algorithm implementation with some specific initialization

Classes

Algorithm(_initalizer, _evaluator, …[, …])

Algorithm class used as basic algorithm

class macop.algorithms.Algorithm.Algorithm(_initalizer, _evaluator, _operators, _policy, _validator, _maximise=True, _parent=None)[source]

Algorithm class used as basic algorithm

initalizer

{function} – basic function strategy to initialize solution

evaluator

{function} – basic function in order to obtained fitness (mono or multiple objectives)

operators

{[Operator]} – list of operator to use when launching algorithm

policy

{Policy} – Policy class implementation strategy to select operators

validator

{function} – basic function to check if solution is valid or not under some constraints

maximise

{bool} – specify kind of optimisation problem

currentSolution

{Solution} – current solution managed for current evaluation

bestSolution

{Solution} – best solution found so far during running algorithm

callbacks

{[Callback]} – list of Callback class implementation to do some instructions every number of evaluations and load when initializing algorithm

parent

{Algorithm} – parent algorithm reference in case of inner Algorithm instance (optional)

addCallback(_callback)[source]

Add new callback to algorithm specifying usefull parameters

Parameters

_callback – {Callback} – specific Callback instance

end()[source]

Display end message into run method

evaluate(_solution)[source]

Evaluate a solution using evaluator passed when intialize algorithm

Parameters

solution – {Solution} – solution to evaluate

Returns

fitness score of solution which is not already evaluated or changed

Note

if multi-objective problem this method can be updated using array of evaluator

getGlobalEvaluation()[source]

Get the global number of evaluation (if inner algorithm)

Returns

{int} – current global number of evaluation

getGlobalMaxEvaluation()[source]

Get the global max number of evaluation (if inner algorithm)

Returns

{int} – current global max number of evaluation

increaseEvaluation()[source]

Increase number of evaluation once a solution is evaluated

initRun()[source]

Initialize the current solution and best solution

isBetter(_solution)[source]

Check if solution is better than best found

Parameters

solution – {Solution} – solution to compare with best one

Returns

{bool} – True if better

progress()[source]

Log progress and apply callbacks if necessary

resume()[source]

Resume algorithm using Callback instances

run(_evaluations)[source]

Run the specific algorithm following number of evaluations to find optima

stop()[source]

Global stopping criteria (check for inner algorithm too)

update(_solution)[source]

Apply update function to solution using specific policy Check if solution is valid after modification and returns it

Parameters

solution – {Solution} – solution to update using current policy

Returns

{Solution} – updated solution obtained by the selected operator