macop.algorithms.Algorithm¶
Abstract Algorithm class used as basic algorithm implementation with some specific initialization
Classes
|
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 optimization problem
-
currentSolution
¶ {Solution} – current solution managed for current evaluation
-
bestSolution
¶ {Solution} – best solution found so far during running algorithm
-
checkpoint
¶ {Checkpoint} – Checkpoint class implementation to keep track of algorithm and restart
-
parent
¶ {Algorithm} – parent algorithm reference in case of inner Algorithm instance (optional)
-
addCheckpoint
(_class, _every, _filepath)[source]¶ Add checkpoint to algorithm specifying usefull parameters
- Parameters
_class – {class} – Checkpoint class type
_every – {int} – checkpoint frequency based on evaluations
_filepath – {str} – file path where checkpoints will be saved
-
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
-
initRun
()[source]¶ Method which initialiazes or re-initializes the whole algorithm context: operators, current solution, best solution (by default current 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
-
resume
()[source]¶ Resume algorithm using checkpoint instance
- Raises
ValueError – No checkpoint initialize (use addCheckpoint or setCheckpoint is you want to use this process)
-
run
(_evaluations)[source]¶ Run the specific algorithm following number of evaluations to find optima
-