Parcourir la source

update the whole package architecture

Jérôme BUISINE il y a 3 ans
Parent
commit
78a6a00efe
100 fichiers modifiés avec 1593 ajouts et 4484 suppressions
  1. BIN
      docs/build/doctrees/environment.pickle
  2. BIN
      docs/build/doctrees/examples.doctree
  3. BIN
      docs/build/doctrees/macop.doctree
  4. BIN
      docs/build/doctrees/macop/macop.algorithms.Algorithm.doctree
  5. BIN
      docs/build/doctrees/macop/macop.algorithms.base.doctree
  6. BIN
      docs/build/doctrees/macop/macop.algorithms.mono.HillClimberBestImprovment.doctree
  7. BIN
      docs/build/doctrees/macop/macop.algorithms.mono.HillClimberFirstImprovment.doctree
  8. BIN
      docs/build/doctrees/macop/macop.algorithms.mono.IteratedLocalSearch.doctree
  9. BIN
      docs/build/doctrees/macop/macop.algorithms.mono.doctree
  10. BIN
      docs/build/doctrees/macop/macop.algorithms.multi.MOEAD.doctree
  11. BIN
      docs/build/doctrees/macop/macop.algorithms.multi.MOSubProblem.doctree
  12. BIN
      docs/build/doctrees/macop/macop.algorithms.multi.doctree
  13. BIN
      docs/build/doctrees/macop/macop.callbacks.BasicCheckpoint.doctree
  14. BIN
      docs/build/doctrees/macop/macop.callbacks.Callback.doctree
  15. BIN
      docs/build/doctrees/macop/macop.callbacks.MultiCheckpoint.doctree
  16. BIN
      docs/build/doctrees/macop/macop.callbacks.ParetoCheckpoint.doctree
  17. BIN
      docs/build/doctrees/macop/macop.callbacks.UCBCheckpoint.doctree
  18. BIN
      docs/build/doctrees/macop/macop.callbacks.base.doctree
  19. BIN
      docs/build/doctrees/macop/macop.callbacks.classicals.doctree
  20. BIN
      docs/build/doctrees/macop/macop.callbacks.multi.doctree
  21. BIN
      docs/build/doctrees/macop/macop.callbacks.policies.doctree
  22. BIN
      docs/build/doctrees/macop/macop.evaluators.EvaluatorExample.doctree
  23. BIN
      docs/build/doctrees/macop/macop.evaluators.doctree
  24. BIN
      docs/build/doctrees/macop/macop.evaluators.knapsacks.doctree
  25. BIN
      docs/build/doctrees/macop/macop.operators.Operator.doctree
  26. BIN
      docs/build/doctrees/macop/macop.operators.base.doctree
  27. BIN
      docs/build/doctrees/macop/macop.operators.continuous.crossovers.doctree
  28. BIN
      docs/build/doctrees/macop/macop.operators.continuous.mutators.doctree
  29. BIN
      docs/build/doctrees/macop/macop.operators.crossovers.Crossover.doctree
  30. BIN
      docs/build/doctrees/macop/macop.operators.crossovers.RandomSplitCrossover.doctree
  31. BIN
      docs/build/doctrees/macop/macop.operators.crossovers.SimpleCrossover.doctree
  32. BIN
      docs/build/doctrees/macop/macop.operators.discrete.crossovers.doctree
  33. BIN
      docs/build/doctrees/macop/macop.operators.discrete.mutators.doctree
  34. BIN
      docs/build/doctrees/macop/macop.operators.mutators.Mutation.doctree
  35. BIN
      docs/build/doctrees/macop/macop.operators.mutators.SimpleBinaryMutation.doctree
  36. BIN
      docs/build/doctrees/macop/macop.operators.mutators.SimpleMutation.doctree
  37. BIN
      docs/build/doctrees/macop/macop.operators.policies.Policy.doctree
  38. BIN
      docs/build/doctrees/macop/macop.operators.policies.RandomPolicy.doctree
  39. BIN
      docs/build/doctrees/macop/macop.operators.policies.UCBPolicy.doctree
  40. BIN
      docs/build/doctrees/macop/macop.solutions.BinarySolution.doctree
  41. BIN
      docs/build/doctrees/macop/macop.solutions.CombinatoryIntegerSolution.doctree
  42. BIN
      docs/build/doctrees/macop/macop.solutions.IntegerSolution.doctree
  43. BIN
      docs/build/doctrees/macop/macop.solutions.Solution.doctree
  44. BIN
      docs/build/doctrees/macop/macop.solutions.base.doctree
  45. BIN
      docs/build/doctrees/macop/macop.solutions.continuous.doctree
  46. BIN
      docs/build/doctrees/macop/macop.solutions.discrete.doctree
  47. 12 25
      docs/build/html/_modules/index.html
  48. 53 29
      docs/build/html/_modules/macop/algorithms/Algorithm.html
  49. 408 0
      docs/build/html/_modules/macop/algorithms/mono.html
  50. 0 270
      docs/build/html/_modules/macop/algorithms/mono/HillClimberBestImprovment.html
  51. 0 271
      docs/build/html/_modules/macop/algorithms/mono/HillClimberFirstImprovment.html
  52. 0 276
      docs/build/html/_modules/macop/algorithms/mono/IteratedLocalSearch.html
  53. 124 36
      docs/build/html/_modules/macop/algorithms/multi/MOEAD.html
  54. 0 286
      docs/build/html/_modules/macop/algorithms/multi/MOSubProblem.html
  55. 0 299
      docs/build/html/_modules/macop/callbacks/ParetoCheckpoint.html
  56. 8 8
      docs/build/html/_modules/macop/callbacks/Callback.html
  57. 8 8
      docs/build/html/_modules/macop/callbacks/BasicCheckpoint.html
  58. 99 8
      docs/build/html/_modules/macop/callbacks/MultiCheckpoint.html
  59. 9 10
      docs/build/html/_modules/macop/callbacks/UCBCheckpoint.html
  60. 0 219
      docs/build/html/_modules/macop/evaluators/EvaluatorExample.html
  61. 251 0
      docs/build/html/_modules/macop/evaluators/knapsacks.html
  62. 35 9
      docs/build/html/_modules/macop/operators/Operator.html
  63. 0 213
      docs/build/html/_modules/macop/operators/crossovers/Crossover.html
  64. 0 248
      docs/build/html/_modules/macop/operators/crossovers/RandomSplitCrossover.html
  65. 42 31
      docs/build/html/_modules/macop/operators/crossovers/SimpleCrossover.html
  66. 42 20
      docs/build/html/_modules/macop/operators/mutators/SimpleMutation.html
  67. 0 213
      docs/build/html/_modules/macop/operators/mutators/Mutation.html
  68. 0 244
      docs/build/html/_modules/macop/operators/mutators/SimpleBinaryMutation.html
  69. 0 252
      docs/build/html/_modules/macop/operators/policies/Policy.html
  70. 0 219
      docs/build/html/_modules/macop/operators/policies/RandomPolicy.html
  71. 0 296
      docs/build/html/_modules/macop/operators/policies/UCBPolicy.html
  72. 0 243
      docs/build/html/_modules/macop/solutions/BinarySolution.html
  73. 0 244
      docs/build/html/_modules/macop/solutions/CombinatoryIntegerSolution.html
  74. 0 244
      docs/build/html/_modules/macop/solutions/IntegerSolution.html
  75. 325 0
      docs/build/html/_modules/macop/solutions/discrete.html
  76. 1 1
      docs/build/html/_sources/examples.rst.txt
  77. 18 27
      docs/build/html/_sources/macop.rst.txt
  78. 22 0
      docs/build/html/_sources/macop/macop.algorithms.base.rst.txt
  79. 0 22
      docs/build/html/_sources/macop/macop.algorithms.mono.HillClimberBestImprovment.rst.txt
  80. 0 22
      docs/build/html/_sources/macop/macop.algorithms.mono.HillClimberFirstImprovment.rst.txt
  81. 0 22
      docs/build/html/_sources/macop/macop.algorithms.mono.IteratedLocalSearch.rst.txt
  82. 24 0
      docs/build/html/_sources/macop/macop.algorithms.mono.rst.txt
  83. 0 22
      docs/build/html/_sources/macop/macop.algorithms.multi.MOSubProblem.rst.txt
  84. 4 3
      docs/build/html/_sources/macop/macop.algorithms.multi.MOEAD.rst.txt
  85. 0 22
      docs/build/html/_sources/macop/macop.callbacks.BasicCheckpoint.rst.txt
  86. 0 22
      docs/build/html/_sources/macop/macop.callbacks.MultiCheckpoint.rst.txt
  87. 0 22
      docs/build/html/_sources/macop/macop.callbacks.ParetoCheckpoint.rst.txt
  88. 0 22
      docs/build/html/_sources/macop/macop.callbacks.UCBCheckpoint.rst.txt
  89. 3 3
      docs/build/html/_sources/macop/macop.callbacks.Callback.rst.txt
  90. 3 3
      docs/build/html/_sources/macop/macop.algorithms.Algorithm.rst.txt
  91. 23 0
      docs/build/html/_sources/macop/macop.callbacks.multi.rst.txt
  92. 3 3
      docs/build/html/_sources/macop/macop.solutions.Solution.rst.txt
  93. 0 22
      docs/build/html/_sources/macop/macop.evaluators.EvaluatorExample.rst.txt
  94. 23 0
      docs/build/html/_sources/macop/macop.evaluators.knapsacks.rst.txt
  95. 16 0
      docs/build/html/_sources/macop/macop.evaluators.rst.txt
  96. 5 3
      docs/build/html/_sources/macop/macop.operators.Operator.rst.txt
  97. 16 0
      docs/build/html/_sources/macop/macop.operators.continuous.crossovers.rst.txt
  98. 16 0
      docs/build/html/_sources/macop/macop.operators.continuous.mutators.rst.txt
  99. 0 22
      docs/build/html/_sources/macop/macop.operators.crossovers.Crossover.rst.txt
  100. 0 0
      docs/build/html/_sources/macop/macop.operators.crossovers.RandomSplitCrossover.rst.txt

BIN
docs/build/doctrees/environment.pickle


BIN
docs/build/doctrees/examples.doctree


BIN
docs/build/doctrees/macop.doctree


BIN
docs/build/doctrees/macop/macop.algorithms.Algorithm.doctree


BIN
docs/build/doctrees/macop/macop.algorithms.base.doctree


BIN
docs/build/doctrees/macop/macop.algorithms.mono.HillClimberBestImprovment.doctree


BIN
docs/build/doctrees/macop/macop.algorithms.mono.HillClimberFirstImprovment.doctree


BIN
docs/build/doctrees/macop/macop.algorithms.mono.IteratedLocalSearch.doctree


BIN
docs/build/doctrees/macop/macop.algorithms.mono.doctree


BIN
docs/build/doctrees/macop/macop.algorithms.multi.MOEAD.doctree


BIN
docs/build/doctrees/macop/macop.algorithms.multi.MOSubProblem.doctree


BIN
docs/build/doctrees/macop/macop.algorithms.multi.doctree


BIN
docs/build/doctrees/macop/macop.callbacks.BasicCheckpoint.doctree


BIN
docs/build/doctrees/macop/macop.callbacks.Callback.doctree


BIN
docs/build/doctrees/macop/macop.callbacks.MultiCheckpoint.doctree


BIN
docs/build/doctrees/macop/macop.callbacks.ParetoCheckpoint.doctree


BIN
docs/build/doctrees/macop/macop.callbacks.UCBCheckpoint.doctree


BIN
docs/build/doctrees/macop/macop.callbacks.base.doctree


BIN
docs/build/doctrees/macop/macop.callbacks.classicals.doctree


BIN
docs/build/doctrees/macop/macop.callbacks.multi.doctree


BIN
docs/build/doctrees/macop/macop.callbacks.policies.doctree


BIN
docs/build/doctrees/macop/macop.evaluators.EvaluatorExample.doctree


BIN
docs/build/doctrees/macop/macop.evaluators.doctree


BIN
docs/build/doctrees/macop/macop.evaluators.knapsacks.doctree


BIN
docs/build/doctrees/macop/macop.operators.Operator.doctree


BIN
docs/build/doctrees/macop/macop.operators.base.doctree


BIN
docs/build/doctrees/macop/macop.operators.continuous.crossovers.doctree


BIN
docs/build/doctrees/macop/macop.operators.continuous.mutators.doctree


BIN
docs/build/doctrees/macop/macop.operators.crossovers.Crossover.doctree


BIN
docs/build/doctrees/macop/macop.operators.crossovers.RandomSplitCrossover.doctree


BIN
docs/build/doctrees/macop/macop.operators.crossovers.SimpleCrossover.doctree


BIN
docs/build/doctrees/macop/macop.operators.discrete.crossovers.doctree


BIN
docs/build/doctrees/macop/macop.operators.discrete.mutators.doctree


BIN
docs/build/doctrees/macop/macop.operators.mutators.Mutation.doctree


BIN
docs/build/doctrees/macop/macop.operators.mutators.SimpleBinaryMutation.doctree


BIN
docs/build/doctrees/macop/macop.operators.mutators.SimpleMutation.doctree


BIN
docs/build/doctrees/macop/macop.operators.policies.Policy.doctree


BIN
docs/build/doctrees/macop/macop.operators.policies.RandomPolicy.doctree


BIN
docs/build/doctrees/macop/macop.operators.policies.UCBPolicy.doctree


BIN
docs/build/doctrees/macop/macop.solutions.BinarySolution.doctree


BIN
docs/build/doctrees/macop/macop.solutions.CombinatoryIntegerSolution.doctree


BIN
docs/build/doctrees/macop/macop.solutions.IntegerSolution.doctree


BIN
docs/build/doctrees/macop/macop.solutions.Solution.doctree


BIN
docs/build/doctrees/macop/macop.solutions.base.doctree


BIN
docs/build/doctrees/macop/macop.solutions.continuous.doctree


BIN
docs/build/doctrees/macop/macop.solutions.discrete.doctree


+ 12 - 25
docs/build/html/_modules/index.html

@@ -149,31 +149,18 @@
            <div itemprop="articleBody">
             
   <h1>All modules for which code is available</h1>
-<ul><li><a href="macop/algorithms/Algorithm.html">macop.algorithms.Algorithm</a></li>
-<li><a href="macop/algorithms/mono/HillClimberBestImprovment.html">macop.algorithms.mono.HillClimberBestImprovment</a></li>
-<li><a href="macop/algorithms/mono/HillClimberFirstImprovment.html">macop.algorithms.mono.HillClimberFirstImprovment</a></li>
-<li><a href="macop/algorithms/mono/IteratedLocalSearch.html">macop.algorithms.mono.IteratedLocalSearch</a></li>
-<li><a href="macop/algorithms/multi/MOEAD.html">macop.algorithms.multi.MOEAD</a></li>
-<li><a href="macop/algorithms/multi/MOSubProblem.html">macop.algorithms.multi.MOSubProblem</a></li>
-<li><a href="macop/callbacks/BasicCheckpoint.html">macop.callbacks.BasicCheckpoint</a></li>
-<li><a href="macop/callbacks/Callback.html">macop.callbacks.Callback</a></li>
-<li><a href="macop/callbacks/MultiCheckpoint.html">macop.callbacks.MultiCheckpoint</a></li>
-<li><a href="macop/callbacks/ParetoCheckpoint.html">macop.callbacks.ParetoCheckpoint</a></li>
-<li><a href="macop/callbacks/UCBCheckpoint.html">macop.callbacks.UCBCheckpoint</a></li>
-<li><a href="macop/evaluators/EvaluatorExample.html">macop.evaluators.EvaluatorExample</a></li>
-<li><a href="macop/operators/Operator.html">macop.operators.Operator</a></li>
-<li><a href="macop/operators/crossovers/Crossover.html">macop.operators.crossovers.Crossover</a></li>
-<li><a href="macop/operators/crossovers/RandomSplitCrossover.html">macop.operators.crossovers.RandomSplitCrossover</a></li>
-<li><a href="macop/operators/crossovers/SimpleCrossover.html">macop.operators.crossovers.SimpleCrossover</a></li>
-<li><a href="macop/operators/mutators/Mutation.html">macop.operators.mutators.Mutation</a></li>
-<li><a href="macop/operators/mutators/SimpleBinaryMutation.html">macop.operators.mutators.SimpleBinaryMutation</a></li>
-<li><a href="macop/operators/mutators/SimpleMutation.html">macop.operators.mutators.SimpleMutation</a></li>
-<li><a href="macop/operators/policies/Policy.html">macop.operators.policies.Policy</a></li>
-<li><a href="macop/operators/policies/RandomPolicy.html">macop.operators.policies.RandomPolicy</a></li>
-<li><a href="macop/operators/policies/UCBPolicy.html">macop.operators.policies.UCBPolicy</a></li>
-<li><a href="macop/solutions/BinarySolution.html">macop.solutions.BinarySolution</a></li>
-<li><a href="macop/solutions/CombinatoryIntegerSolution.html">macop.solutions.CombinatoryIntegerSolution</a></li>
-<li><a href="macop/solutions/IntegerSolution.html">macop.solutions.IntegerSolution</a></li>
+<ul><li><a href="macop/algorithms/base.html">macop.algorithms.base</a></li>
+<li><a href="macop/algorithms/mono.html">macop.algorithms.mono</a></li>
+<li><a href="macop/algorithms/multi.html">macop.algorithms.multi</a></li>
+<li><a href="macop/callbacks/base.html">macop.callbacks.base</a></li>
+<li><a href="macop/callbacks/classicals.html">macop.callbacks.classicals</a></li>
+<li><a href="macop/callbacks/multi.html">macop.callbacks.multi</a></li>
+<li><a href="macop/callbacks/policies.html">macop.callbacks.policies</a></li>
+<li><a href="macop/evaluators/knapsacks.html">macop.evaluators.knapsacks</a></li>
+<li><a href="macop/operators/base.html">macop.operators.base</a></li>
+<li><a href="macop/operators/discrete/crossovers.html">macop.operators.discrete.crossovers</a></li>
+<li><a href="macop/operators/discrete/mutators.html">macop.operators.discrete.mutators</a></li>
+<li><a href="macop/solutions/discrete.html">macop.solutions.discrete</a></li>
 </ul>
 
            </div>

Fichier diff supprimé car celui-ci est trop grand
+ 53 - 29
docs/build/html/_modules/macop/algorithms/Algorithm.html


Fichier diff supprimé car celui-ci est trop grand
+ 408 - 0
docs/build/html/_modules/macop/algorithms/mono.html


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 270
docs/build/html/_modules/macop/algorithms/mono/HillClimberBestImprovment.html


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 271
docs/build/html/_modules/macop/algorithms/mono/HillClimberFirstImprovment.html


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 276
docs/build/html/_modules/macop/algorithms/mono/IteratedLocalSearch.html


Fichier diff supprimé car celui-ci est trop grand
+ 124 - 36
docs/build/html/_modules/macop/algorithms/multi/MOEAD.html


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 286
docs/build/html/_modules/macop/algorithms/multi/MOSubProblem.html


+ 0 - 299
docs/build/html/_modules/macop/callbacks/ParetoCheckpoint.html

@@ -1,299 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>macop.callbacks.ParetoCheckpoint &mdash; macop v1.0.5 documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-  <script type="text/javascript" src="../../../_static/js/modernizr.min.js"></script>
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../../_static/doctools.js"></script>
-        <script type="text/javascript" src="../../../_static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
-
-    
-
-  
-  <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
-    <link rel="index" title="Index" href="../../../genindex.html" />
-    <link rel="search" title="Search" href="../../../search.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../../index.html" class="icon icon-home"> macop
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0.5
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Contents:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../description.html">Description</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../macop.html">Documentation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../examples.html">Some examples</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../contributing.html">Contributing</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../../index.html">macop</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="../../index.html">Module code</a> &raquo;</li>
-        
-      <li>macop.callbacks.ParetoCheckpoint</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for macop.callbacks.ParetoCheckpoint</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Pareto front Checkpoint class implementation</span>
-<span class="sd">&quot;&quot;&quot;</span>
-
-<span class="c1"># main imports</span>
-<span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">import</span> <span class="nn">logging</span>
-<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
-<span class="kn">import</span> <span class="nn">sys</span>
-
-<span class="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">.Callback</span> <span class="kn">import</span> <span class="n">Callback</span>
-<span class="kn">from</span> <span class="nn">..utils.color</span> <span class="kn">import</span> <span class="n">macop_text</span><span class="p">,</span> <span class="n">macop_line</span>
-<span class="kn">from</span> <span class="nn">..utils.modules</span> <span class="kn">import</span> <span class="n">load_class</span>
-
-
-<div class="viewcode-block" id="ParetoCheckpoint"><a class="viewcode-back" href="../../../macop/macop.callbacks.ParetoCheckpoint.html#macop.callbacks.ParetoCheckpoint.ParetoCheckpoint">[docs]</a><span class="k">class</span> <span class="nc">ParetoCheckpoint</span><span class="p">(</span><span class="n">Callback</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Pareto checkpoint is used for loading previous computations and start again after loading checkpoint</span>
-
-<span class="sd">    Attributes:</span>
-<span class="sd">        algo: {Algorithm} -- main algorithm instance reference</span>
-<span class="sd">        every: {int} -- checkpoint frequency used (based on number of evaluations)</span>
-<span class="sd">        filepath: {str} -- file path where checkpoints will be saved</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-<div class="viewcode-block" id="ParetoCheckpoint.run"><a class="viewcode-back" href="../../../macop/macop.callbacks.ParetoCheckpoint.html#macop.callbacks.ParetoCheckpoint.ParetoCheckpoint.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Check if necessary to do backup based on `every` variable</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="c1"># get current population</span>
-        <span class="n">pfPop</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_pfPop</span>
-
-        <span class="n">currentEvaluation</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">getGlobalEvaluation</span><span class="p">()</span>
-
-        <span class="c1"># backup if necessary</span>
-        <span class="k">if</span> <span class="n">currentEvaluation</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_every</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
-
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Checkpoint is done into &quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="p">)</span>
-
-            <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-
-                <span class="k">for</span> <span class="n">solution</span> <span class="ow">in</span> <span class="n">pfPop</span><span class="p">:</span>
-                    <span class="n">solutionData</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-                    <span class="n">solutionSize</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="p">)</span>
-
-                    <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">val</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="p">):</span>
-                        <span class="n">solutionData</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
-
-                        <span class="k">if</span> <span class="n">index</span> <span class="o">&lt;</span> <span class="n">solutionSize</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>
-                            <span class="n">solutionData</span> <span class="o">+=</span> <span class="s1">&#39; &#39;</span>
-
-                    <span class="n">line</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-
-                    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_evaluator</span><span class="p">)):</span>
-                        <span class="n">line</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">_scores</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">+</span> <span class="s1">&#39;;&#39;</span>
-
-                    <span class="n">line</span> <span class="o">+=</span> <span class="n">solutionData</span> <span class="o">+</span> <span class="s1">&#39;;</span><span class="se">\n</span><span class="s1">&#39;</span>
-
-                    <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">line</span><span class="p">)</span></div>
-
-<div class="viewcode-block" id="ParetoCheckpoint.load"><a class="viewcode-back" href="../../../macop/macop.callbacks.ParetoCheckpoint.html#macop.callbacks.ParetoCheckpoint.ParetoCheckpoint.load">[docs]</a>    <span class="k">def</span> <span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Load backup lines as population and set algorithm state (population and pareto front) at this backup</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="p">):</span>
-
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Load best solution from last checkpoint&#39;</span><span class="p">)</span>
-            <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
-
-                <span class="c1"># reinit pf population</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_pfPop</span> <span class="o">=</span> <span class="p">[]</span>
-
-                <span class="c1"># retrieve class name from algo</span>
-                <span class="n">class_name</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_population</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">.</span><span class="vm">__name__</span>
-
-                <span class="c1"># dynamically load solution class if unknown</span>
-                <span class="k">if</span> <span class="n">class_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">:</span>
-                    <span class="n">load_class</span><span class="p">(</span><span class="n">class_name</span><span class="p">,</span> <span class="nb">globals</span><span class="p">())</span>
-
-                <span class="c1"># read data for each line</span>
-                <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">f</span><span class="o">.</span><span class="n">readlines</span><span class="p">():</span>
-
-                    <span class="n">data</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;;&#39;</span><span class="p">)</span>
-
-                    <span class="n">nObjectives</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_evaluator</span><span class="p">)</span>
-                    <span class="n">scores</span> <span class="o">=</span> <span class="p">[</span><span class="nb">float</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="n">nObjectives</span><span class="p">]]</span>
-
-                    <span class="c1"># get best solution data information</span>
-                    <span class="n">solutionData</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">int</span><span class="p">,</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">)))</span>
-
-                    <span class="n">newSolution</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span>
-                        <span class="nb">globals</span><span class="p">()[</span><span class="s1">&#39;macop.solutions.&#39;</span> <span class="o">+</span> <span class="n">class_name</span><span class="p">],</span>
-                        <span class="n">class_name</span><span class="p">)(</span><span class="n">solutionData</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">solutionData</span><span class="p">))</span>
-                    <span class="n">newSolution</span><span class="o">.</span><span class="n">_scores</span> <span class="o">=</span> <span class="n">scores</span>
-
-                    <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_pfPop</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">newSolution</span><span class="p">)</span>
-
-            <span class="nb">print</span><span class="p">(</span>
-                <span class="n">macop_text</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Load of available pareto front backup from `</span><span class="si">{</span> <span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="si">}</span><span class="s1">`&#39;</span><span class="p">))</span>
-
-        <span class="k">else</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span><span class="n">macop_text</span><span class="p">(</span><span class="s1">&#39;No pareto front found... Start running algorithm with new pareto front population.&#39;</span><span class="p">))</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;No pareto front backup used...&quot;</span><span class="p">)</span>
-
-        <span class="nb">print</span><span class="p">(</span><span class="n">macop_line</span><span class="p">())</span></div></div>
-</pre></div>
-
-           </div>
-           
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2020, Jérôme BUISINE
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>

+ 8 - 8
docs/build/html/_modules/macop/callbacks/Callback.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.callbacks.Callback &mdash; macop v1.0.5 documentation</title>
+  <title>macop.callbacks.base &mdash; macop v1.0.5 documentation</title>
   
 
   
@@ -135,7 +135,7 @@
         
           <li><a href="../../index.html">Module code</a> &raquo;</li>
         
-      <li>macop.callbacks.Callback</li>
+      <li>macop.callbacks.base</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -150,8 +150,8 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for macop.callbacks.Callback</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Abstract Checkpoint class</span>
+  <h1>Source code for macop.callbacks.base</h1><div class="highlight"><pre>
+<span></span><span class="sd">&quot;&quot;&quot;Abstract Checkpoint classes for callback process</span>
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="c1"># main imports</span>
 <span class="kn">import</span> <span class="nn">os</span>
@@ -159,7 +159,7 @@
 <span class="kn">from</span> <span class="nn">abc</span> <span class="kn">import</span> <span class="n">abstractmethod</span>
 
 
-<div class="viewcode-block" id="Callback"><a class="viewcode-back" href="../../../macop/macop.callbacks.Callback.html#macop.callbacks.Callback.Callback">[docs]</a><span class="k">class</span> <span class="nc">Callback</span><span class="p">():</span>
+<div class="viewcode-block" id="Callback"><a class="viewcode-back" href="../../../macop/macop.callbacks.base.html#macop.callbacks.base.Callback">[docs]</a><span class="k">class</span> <span class="nc">Callback</span><span class="p">():</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    Callback abstract class in order to compute some instruction every evaluation</span>
 
@@ -180,7 +180,7 @@
         <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">head</span><span class="p">):</span>
             <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">head</span><span class="p">)</span>
 
-<div class="viewcode-block" id="Callback.setAlgo"><a class="viewcode-back" href="../../../macop/macop.callbacks.Callback.html#macop.callbacks.Callback.Callback.setAlgo">[docs]</a>    <span class="k">def</span> <span class="nf">setAlgo</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">algo</span><span class="p">):</span>
+<div class="viewcode-block" id="Callback.setAlgo"><a class="viewcode-back" href="../../../macop/macop.callbacks.base.html#macop.callbacks.base.Callback.setAlgo">[docs]</a>    <span class="k">def</span> <span class="nf">setAlgo</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">algo</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Specify the main algorithm instance reference</span>
 
 <span class="sd">        Args:</span>
@@ -188,14 +188,14 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span> <span class="o">=</span> <span class="n">algo</span></div>
 
-<div class="viewcode-block" id="Callback.run"><a class="viewcode-back" href="../../../macop/macop.callbacks.Callback.html#macop.callbacks.Callback.Callback.run">[docs]</a>    <span class="nd">@abstractmethod</span>
+<div class="viewcode-block" id="Callback.run"><a class="viewcode-back" href="../../../macop/macop.callbacks.base.html#macop.callbacks.base.Callback.run">[docs]</a>    <span class="nd">@abstractmethod</span>
     <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Check if necessary to do backup based on `every` variable</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">pass</span></div>
 
-<div class="viewcode-block" id="Callback.load"><a class="viewcode-back" href="../../../macop/macop.callbacks.Callback.html#macop.callbacks.Callback.Callback.load">[docs]</a>    <span class="nd">@abstractmethod</span>
+<div class="viewcode-block" id="Callback.load"><a class="viewcode-back" href="../../../macop/macop.callbacks.base.html#macop.callbacks.base.Callback.load">[docs]</a>    <span class="nd">@abstractmethod</span>
     <span class="k">def</span> <span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Load last backup line of solution and set algorithm state at this backup</span>

+ 8 - 8
docs/build/html/_modules/macop/callbacks/BasicCheckpoint.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.callbacks.BasicCheckpoint &mdash; macop v1.0.5 documentation</title>
+  <title>macop.callbacks.classicals &mdash; macop v1.0.5 documentation</title>
   
 
   
@@ -135,7 +135,7 @@
         
           <li><a href="../../index.html">Module code</a> &raquo;</li>
         
-      <li>macop.callbacks.BasicCheckpoint</li>
+      <li>macop.callbacks.classicals</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -150,8 +150,8 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for macop.callbacks.BasicCheckpoint</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Basic Checkpoint class implementation</span>
+  <h1>Source code for macop.callbacks.classicals</h1><div class="highlight"><pre>
+<span></span><span class="sd">&quot;&quot;&quot;Classical Checkpoints classes implementations</span>
 <span class="sd">&quot;&quot;&quot;</span>
 
 <span class="c1"># main imports</span>
@@ -160,11 +160,11 @@
 <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
 
 <span class="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">.Callback</span> <span class="kn">import</span> <span class="n">Callback</span>
+<span class="kn">from</span> <span class="nn">.base</span> <span class="kn">import</span> <span class="n">Callback</span>
 <span class="kn">from</span> <span class="nn">..utils.color</span> <span class="kn">import</span> <span class="n">macop_text</span><span class="p">,</span> <span class="n">macop_line</span>
 
 
-<div class="viewcode-block" id="BasicCheckpoint"><a class="viewcode-back" href="../../../macop/macop.callbacks.BasicCheckpoint.html#macop.callbacks.BasicCheckpoint.BasicCheckpoint">[docs]</a><span class="k">class</span> <span class="nc">BasicCheckpoint</span><span class="p">(</span><span class="n">Callback</span><span class="p">):</span>
+<div class="viewcode-block" id="BasicCheckpoint"><a class="viewcode-back" href="../../../macop/macop.callbacks.classicals.html#macop.callbacks.classicals.BasicCheckpoint">[docs]</a><span class="k">class</span> <span class="nc">BasicCheckpoint</span><span class="p">(</span><span class="n">Callback</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    BasicCheckpoint is used for loading previous computations and start again after loading checkpoint</span>
 
@@ -173,7 +173,7 @@
 <span class="sd">        every: {int} -- checkpoint frequency used (based on number of evaluations)</span>
 <span class="sd">        filepath: {str} -- file path where checkpoints will be saved</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-<div class="viewcode-block" id="BasicCheckpoint.run"><a class="viewcode-back" href="../../../macop/macop.callbacks.BasicCheckpoint.html#macop.callbacks.BasicCheckpoint.BasicCheckpoint.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="BasicCheckpoint.run"><a class="viewcode-back" href="../../../macop/macop.callbacks.classicals.html#macop.callbacks.classicals.BasicCheckpoint.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Check if necessary to do backup based on `every` variable</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -207,7 +207,7 @@
                 <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="p">,</span> <span class="s1">&#39;a&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
                     <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">line</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="BasicCheckpoint.load"><a class="viewcode-back" href="../../../macop/macop.callbacks.BasicCheckpoint.html#macop.callbacks.BasicCheckpoint.BasicCheckpoint.load">[docs]</a>    <span class="k">def</span> <span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="BasicCheckpoint.load"><a class="viewcode-back" href="../../../macop/macop.callbacks.classicals.html#macop.callbacks.classicals.BasicCheckpoint.load">[docs]</a>    <span class="k">def</span> <span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Load last backup line of solution and set algorithm state (best solution and evaluations) at this backup</span>
 <span class="sd">        &quot;&quot;&quot;</span>

+ 99 - 8
docs/build/html/_modules/macop/callbacks/MultiCheckpoint.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.callbacks.MultiCheckpoint &mdash; macop v1.0.5 documentation</title>
+  <title>macop.callbacks.multi &mdash; macop v1.0.5 documentation</title>
   
 
   
@@ -135,7 +135,7 @@
         
           <li><a href="../../index.html">Module code</a> &raquo;</li>
         
-      <li>macop.callbacks.MultiCheckpoint</li>
+      <li>macop.callbacks.multi</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -150,8 +150,8 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for macop.callbacks.MultiCheckpoint</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Multi Checkpoint class implementation</span>
+  <h1>Source code for macop.callbacks.multi</h1><div class="highlight"><pre>
+<span></span><span class="sd">&quot;&quot;&quot;Multi-objective Checkpoints classes implementations</span>
 <span class="sd">&quot;&quot;&quot;</span>
 
 <span class="c1"># main imports</span>
@@ -160,11 +160,11 @@
 <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
 
 <span class="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">.Callback</span> <span class="kn">import</span> <span class="n">Callback</span>
+<span class="kn">from</span> <span class="nn">.base</span> <span class="kn">import</span> <span class="n">Callback</span>
 <span class="kn">from</span> <span class="nn">..utils.color</span> <span class="kn">import</span> <span class="n">macop_text</span><span class="p">,</span> <span class="n">macop_line</span>
 
 
-<div class="viewcode-block" id="MultiCheckpoint"><a class="viewcode-back" href="../../../macop/macop.callbacks.MultiCheckpoint.html#macop.callbacks.MultiCheckpoint.MultiCheckpoint">[docs]</a><span class="k">class</span> <span class="nc">MultiCheckpoint</span><span class="p">(</span><span class="n">Callback</span><span class="p">):</span>
+<div class="viewcode-block" id="MultiCheckpoint"><a class="viewcode-back" href="../../../macop/macop.callbacks.multi.html#macop.callbacks.multi.MultiCheckpoint">[docs]</a><span class="k">class</span> <span class="nc">MultiCheckpoint</span><span class="p">(</span><span class="n">Callback</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">    MultiCheckpoint is used for loading previous computations and start again after loading checkpoint</span>
 
@@ -173,7 +173,7 @@
 <span class="sd">        every: {int} -- checkpoint frequency used (based on number of evaluations)</span>
 <span class="sd">        filepath: {str} -- file path where checkpoints will be saved</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-<div class="viewcode-block" id="MultiCheckpoint.run"><a class="viewcode-back" href="../../../macop/macop.callbacks.MultiCheckpoint.html#macop.callbacks.MultiCheckpoint.MultiCheckpoint.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="MultiCheckpoint.run"><a class="viewcode-back" href="../../../macop/macop.callbacks.multi.html#macop.callbacks.multi.MultiCheckpoint.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Check if necessary to do backup based on `every` variable</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -208,7 +208,7 @@
 
                     <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">line</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="MultiCheckpoint.load"><a class="viewcode-back" href="../../../macop/macop.callbacks.MultiCheckpoint.html#macop.callbacks.MultiCheckpoint.MultiCheckpoint.load">[docs]</a>    <span class="k">def</span> <span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="MultiCheckpoint.load"><a class="viewcode-back" href="../../../macop/macop.callbacks.multi.html#macop.callbacks.multi.MultiCheckpoint.load">[docs]</a>    <span class="k">def</span> <span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Load backup lines as population and set algorithm state (population and pareto front) at this backup</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -254,6 +254,97 @@
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Can&#39;t load backup... Backup filepath not valid in Checkpoint&quot;</span><span class="p">)</span>
 
         <span class="nb">print</span><span class="p">(</span><span class="n">macop_line</span><span class="p">())</span></div></div>
+
+
+<div class="viewcode-block" id="ParetoCheckpoint"><a class="viewcode-back" href="../../../macop/macop.callbacks.multi.html#macop.callbacks.multi.ParetoCheckpoint">[docs]</a><span class="k">class</span> <span class="nc">ParetoCheckpoint</span><span class="p">(</span><span class="n">Callback</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Pareto checkpoint is used for loading previous computations and start again after loading checkpoint</span>
+
+<span class="sd">    Attributes:</span>
+<span class="sd">        algo: {Algorithm} -- main algorithm instance reference</span>
+<span class="sd">        every: {int} -- checkpoint frequency used (based on number of evaluations)</span>
+<span class="sd">        filepath: {str} -- file path where checkpoints will be saved</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+<div class="viewcode-block" id="ParetoCheckpoint.run"><a class="viewcode-back" href="../../../macop/macop.callbacks.multi.html#macop.callbacks.multi.ParetoCheckpoint.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Check if necessary to do backup based on `every` variable</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># get current population</span>
+        <span class="n">pfPop</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_pfPop</span>
+
+        <span class="n">currentEvaluation</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">getGlobalEvaluation</span><span class="p">()</span>
+
+        <span class="c1"># backup if necessary</span>
+        <span class="k">if</span> <span class="n">currentEvaluation</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_every</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Checkpoint is done into &quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="p">)</span>
+
+            <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+
+                <span class="k">for</span> <span class="n">solution</span> <span class="ow">in</span> <span class="n">pfPop</span><span class="p">:</span>
+                    <span class="n">solutionData</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+                    <span class="n">solutionSize</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="p">)</span>
+
+                    <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">val</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="p">):</span>
+                        <span class="n">solutionData</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
+
+                        <span class="k">if</span> <span class="n">index</span> <span class="o">&lt;</span> <span class="n">solutionSize</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>
+                            <span class="n">solutionData</span> <span class="o">+=</span> <span class="s1">&#39; &#39;</span>
+
+                    <span class="n">line</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+
+                    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_evaluator</span><span class="p">)):</span>
+                        <span class="n">line</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">_scores</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">+</span> <span class="s1">&#39;;&#39;</span>
+
+                    <span class="n">line</span> <span class="o">+=</span> <span class="n">solutionData</span> <span class="o">+</span> <span class="s1">&#39;;</span><span class="se">\n</span><span class="s1">&#39;</span>
+
+                    <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">line</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="ParetoCheckpoint.load"><a class="viewcode-back" href="../../../macop/macop.callbacks.multi.html#macop.callbacks.multi.ParetoCheckpoint.load">[docs]</a>    <span class="k">def</span> <span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Load backup lines as population and set algorithm state (population and pareto front) at this backup</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="p">):</span>
+
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">&#39;Load best solution from last checkpoint&#39;</span><span class="p">)</span>
+            <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
+
+                <span class="c1"># reinit pf population</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_pfPop</span> <span class="o">=</span> <span class="p">[]</span>
+
+                <span class="c1"># retrieve class name from algo</span>
+                <span class="n">class_name</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_population</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">.</span><span class="vm">__name__</span>
+
+                <span class="c1"># dynamically load solution class if unknown</span>
+                <span class="k">if</span> <span class="n">class_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">:</span>
+                    <span class="n">load_class</span><span class="p">(</span><span class="n">class_name</span><span class="p">,</span> <span class="nb">globals</span><span class="p">())</span>
+
+                <span class="c1"># read data for each line</span>
+                <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">f</span><span class="o">.</span><span class="n">readlines</span><span class="p">():</span>
+
+                    <span class="n">data</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;;&#39;</span><span class="p">)</span>
+
+                    <span class="n">nObjectives</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_evaluator</span><span class="p">)</span>
+                    <span class="n">scores</span> <span class="o">=</span> <span class="p">[</span><span class="nb">float</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="n">nObjectives</span><span class="p">]]</span>
+
+                    <span class="c1"># get best solution data information</span>
+                    <span class="n">solutionData</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">int</span><span class="p">,</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">)))</span>
+
+                    <span class="n">newSolution</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span>
+                        <span class="nb">globals</span><span class="p">()[</span><span class="s1">&#39;macop.solutions.&#39;</span> <span class="o">+</span> <span class="n">class_name</span><span class="p">],</span>
+                        <span class="n">class_name</span><span class="p">)(</span><span class="n">solutionData</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">solutionData</span><span class="p">))</span>
+                    <span class="n">newSolution</span><span class="o">.</span><span class="n">_scores</span> <span class="o">=</span> <span class="n">scores</span>
+
+                    <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_pfPop</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">newSolution</span><span class="p">)</span>
+
+            <span class="nb">print</span><span class="p">(</span>
+                <span class="n">macop_text</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Load of available pareto front backup from `</span><span class="si">{</span> <span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="si">}</span><span class="s1">`&#39;</span><span class="p">))</span>
+
+        <span class="k">else</span><span class="p">:</span>
+            <span class="nb">print</span><span class="p">(</span><span class="n">macop_text</span><span class="p">(</span><span class="s1">&#39;No pareto front found... Start running algorithm with new pareto front population.&#39;</span><span class="p">))</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;No pareto front backup used...&quot;</span><span class="p">)</span>
+
+        <span class="nb">print</span><span class="p">(</span><span class="n">macop_line</span><span class="p">())</span></div></div>
 </pre></div>
 
            </div>

+ 9 - 10
docs/build/html/_modules/macop/callbacks/UCBCheckpoint.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.callbacks.UCBCheckpoint &mdash; macop v1.0.5 documentation</title>
+  <title>macop.callbacks.policies &mdash; macop v1.0.5 documentation</title>
   
 
   
@@ -135,7 +135,7 @@
         
           <li><a href="../../index.html">Module code</a> &raquo;</li>
         
-      <li>macop.callbacks.UCBCheckpoint</li>
+      <li>macop.callbacks.policies</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -150,7 +150,7 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for macop.callbacks.UCBCheckpoint</h1><div class="highlight"><pre>
+  <h1>Source code for macop.callbacks.policies</h1><div class="highlight"><pre>
 <span></span><span class="sd">&quot;&quot;&quot;UCB policy Checkpoint class implementation</span>
 <span class="sd">&quot;&quot;&quot;</span>
 
@@ -158,24 +158,23 @@
 <span class="kn">import</span> <span class="nn">os</span>
 <span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
-<span class="kn">import</span> <span class="nn">pkgutil</span>
 
 <span class="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">.Callback</span> <span class="kn">import</span> <span class="n">Callback</span>
+<span class="kn">from</span> <span class="nn">.base</span> <span class="kn">import</span> <span class="n">Callback</span>
 <span class="kn">from</span> <span class="nn">..utils.color</span> <span class="kn">import</span> <span class="n">macop_text</span><span class="p">,</span> <span class="n">macop_line</span>
 
 
-<div class="viewcode-block" id="UCBCheckpoint"><a class="viewcode-back" href="../../../macop/macop.callbacks.UCBCheckpoint.html#macop.callbacks.UCBCheckpoint.UCBCheckpoint">[docs]</a><span class="k">class</span> <span class="nc">UCBCheckpoint</span><span class="p">(</span><span class="n">Callback</span><span class="p">):</span>
+<div class="viewcode-block" id="UCBCheckpoint"><a class="viewcode-back" href="../../../macop/macop.callbacks.policies.html#macop.callbacks.policies.UCBCheckpoint">[docs]</a><span class="k">class</span> <span class="nc">UCBCheckpoint</span><span class="p">(</span><span class="n">Callback</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    UCB checkpoint is used for loading previous UCB data and start again after loading checkpoint</span>
-<span class="sd">    Need to be the same operators used during previous run</span>
+<span class="sd">    UCB checkpoint is used for loading previous Upper Confidence Bound data and start again after loading checkpoint</span>
+<span class="sd">    Need to be the same operators used during previous run (see `macop.policies.reinforcement.UCBPolicy` for more details)</span>
 
 <span class="sd">    Attributes:</span>
 <span class="sd">        algo: {Algorithm} -- main algorithm instance reference</span>
 <span class="sd">        every: {int} -- checkpoint frequency used (based on number of evaluations)</span>
 <span class="sd">        filepath: {str} -- file path where checkpoints will be saved</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-<div class="viewcode-block" id="UCBCheckpoint.run"><a class="viewcode-back" href="../../../macop/macop.callbacks.UCBCheckpoint.html#macop.callbacks.UCBCheckpoint.UCBCheckpoint.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="UCBCheckpoint.run"><a class="viewcode-back" href="../../../macop/macop.callbacks.policies.html#macop.callbacks.policies.UCBCheckpoint.run">[docs]</a>    <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Check if necessary to do backup based on `every` variable</span>
 <span class="sd">        &quot;&quot;&quot;</span>
@@ -209,7 +208,7 @@
 
                 <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">occurrencesLine</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span></div>
 
-<div class="viewcode-block" id="UCBCheckpoint.load"><a class="viewcode-back" href="../../../macop/macop.callbacks.UCBCheckpoint.html#macop.callbacks.UCBCheckpoint.UCBCheckpoint.load">[docs]</a>    <span class="k">def</span> <span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<div class="viewcode-block" id="UCBCheckpoint.load"><a class="viewcode-back" href="../../../macop/macop.callbacks.policies.html#macop.callbacks.policies.UCBCheckpoint.load">[docs]</a>    <span class="k">def</span> <span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">        Load backup lines as rewards and occurrences for UCB</span>
 <span class="sd">        &quot;&quot;&quot;</span>

+ 0 - 219
docs/build/html/_modules/macop/evaluators/EvaluatorExample.html

@@ -1,219 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>macop.evaluators.EvaluatorExample &mdash; macop v1.0.5 documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-  <script type="text/javascript" src="../../../_static/js/modernizr.min.js"></script>
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../../_static/doctools.js"></script>
-        <script type="text/javascript" src="../../../_static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
-
-    
-
-  
-  <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
-    <link rel="index" title="Index" href="../../../genindex.html" />
-    <link rel="search" title="Search" href="../../../search.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../../index.html" class="icon icon-home"> macop
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0.5
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Contents:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../description.html">Description</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../macop.html">Documentation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../examples.html">Some examples</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../contributing.html">Contributing</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../../index.html">macop</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="../../index.html">Module code</a> &raquo;</li>
-        
-      <li>macop.evaluators.EvaluatorExample</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for macop.evaluators.EvaluatorExample</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Python evaluator function example</span>
-<span class="sd">&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">random</span>
-
-<span class="n">elements_score</span> <span class="o">=</span> <span class="p">[</span><span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">20</span><span class="p">)</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">30</span><span class="p">)]</span>
-
-
-<span class="c1"># evaluator example</span>
-<div class="viewcode-block" id="evaluatorExample"><a class="viewcode-back" href="../../../macop/macop.evaluators.EvaluatorExample.html#macop.evaluators.EvaluatorExample.evaluatorExample">[docs]</a><span class="k">def</span> <span class="nf">evaluatorExample</span><span class="p">(</span><span class="n">solution</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Evaluator&#39;s example of solution to compute fitness</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">        solution: {Solution} -- solution to evaluate</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">        {float} -- fitness score of solution</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">fitness</span> <span class="o">=</span> <span class="mi">0</span>
-    <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">elem</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">data</span><span class="p">):</span>
-        <span class="n">fitness</span> <span class="o">+=</span> <span class="n">elements_score</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">*</span> <span class="n">elem</span>
-
-    <span class="k">return</span> <span class="n">fitness</span></div>
-</pre></div>
-
-           </div>
-           
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2020, Jérôme BUISINE
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>

+ 251 - 0
docs/build/html/_modules/macop/evaluators/knapsacks.html

@@ -0,0 +1,251 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>macop.evaluators.knapsacks &mdash; macop v1.0.5 documentation</title>
+  
+
+  
+  
+  
+  
+
+  
+  <script type="text/javascript" src="../../../_static/js/modernizr.min.js"></script>
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
+        <script type="text/javascript" src="../../../_static/jquery.js"></script>
+        <script type="text/javascript" src="../../../_static/underscore.js"></script>
+        <script type="text/javascript" src="../../../_static/doctools.js"></script>
+        <script type="text/javascript" src="../../../_static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
+
+    
+
+  
+  <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../../../index.html" class="icon icon-home"> macop
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                1.0.5
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <p class="caption"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../description.html">Description</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../macop.html">Documentation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../examples.html">Some examples</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../contributing.html">Contributing</a></li>
+</ul>
+
+            
+          
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">macop</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../../../index.html">Docs</a> &raquo;</li>
+        
+          <li><a href="../../index.html">Module code</a> &raquo;</li>
+        
+      <li>macop.evaluators.knapsacks</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <h1>Source code for macop.evaluators.knapsacks</h1><div class="highlight"><pre>
+<span></span><span class="sd">&quot;&quot;&quot;Knapsack evaluators classes</span>
+<span class="sd">&quot;&quot;&quot;</span>
+<span class="c1"># main imports</span>
+<span class="kn">from</span> <span class="nn">abc</span> <span class="kn">import</span> <span class="n">abstractmethod</span>
+<span class="kn">from</span> <span class="nn">.base</span> <span class="kn">import</span> <span class="n">Evaluator</span>
+
+
+<div class="viewcode-block" id="KnapsackEvaluator"><a class="viewcode-back" href="../../../macop/macop.evaluators.knapsacks.html#macop.evaluators.knapsacks.KnapsackEvaluator">[docs]</a><span class="k">class</span> <span class="nc">KnapsackEvaluator</span><span class="p">(</span><span class="n">Evaluator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Knapsack evaluator class which enables to compute solution using specific `_data`</span>
+
+<span class="sd">    - stores into its `_data` dictionary attritute required measures when computing a knapsack solution</span>
+<span class="sd">    - `_data[&#39;worths&#39;]` stores knapsack objects worths information</span>
+<span class="sd">    - `_data[&#39;weights&#39;]` stores knapsack objects weights information</span>
+<span class="sd">    - `compute` method enables to compute and associate a score to a given knapsack solution</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+<div class="viewcode-block" id="KnapsackEvaluator.compute"><a class="viewcode-back" href="../../../macop/macop.evaluators.knapsacks.html#macop.evaluators.knapsacks.KnapsackEvaluator.compute">[docs]</a>    <span class="k">def</span> <span class="nf">compute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Apply the computation of fitness from solution</span>
+
+<span class="sd">        Args:</span>
+<span class="sd">            solution: {Solution} -- Solution instance</span>
+<span class="sd">    </span>
+<span class="sd">        Returns:</span>
+<span class="sd">            {float} -- fitness score of solution</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">fitness</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">elem</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="p">):</span>
+            <span class="n">fitness</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="s1">&#39;worths&#39;</span><span class="p">][</span><span class="n">index</span><span class="p">]</span> <span class="o">*</span> <span class="n">elem</span>
+
+        <span class="k">return</span> <span class="n">fitness</span></div></div>
+
+
+<div class="viewcode-block" id="KnapsackMultiEvaluator"><a class="viewcode-back" href="../../../macop/macop.evaluators.knapsacks.html#macop.evaluators.knapsacks.KnapsackMultiEvaluator">[docs]</a><span class="k">class</span> <span class="nc">KnapsackMultiEvaluator</span><span class="p">(</span><span class="n">Evaluator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Knapsack multi-objective evaluator class which enables to compute solution using specific `_data` </span>
+
+<span class="sd">    - stores into its `_data` dictionary attritute required measures when computing a knapsack solution</span>
+<span class="sd">    - `_data[&#39;worths1&#39;]` stores knapsack objects worths information</span>
+<span class="sd">    - `_data[&#39;worths2&#39;]` stores knapsack objects worths information</span>
+<span class="sd">    - `_data[&#39;weights&#39;]` stores knapsack objects weights information</span>
+<span class="sd">    - `compute` method enables to compute and associate a score to a given knapsack solution</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+<div class="viewcode-block" id="KnapsackMultiEvaluator.compute"><a class="viewcode-back" href="../../../macop/macop.evaluators.knapsacks.html#macop.evaluators.knapsacks.KnapsackMultiEvaluator.compute">[docs]</a>    <span class="k">def</span> <span class="nf">compute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Apply the computation of fitness from solution</span>
+
+<span class="sd">        Args:</span>
+<span class="sd">            solution: {Solution} -- Solution instance</span>
+<span class="sd">    </span>
+<span class="sd">        Returns:</span>
+<span class="sd">            {float} -- fitness score of solution</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">fitness</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">elem</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="p">):</span>
+            <span class="n">fitness</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="s1">&#39;worths1&#39;</span><span class="p">][</span><span class="n">index</span><span class="p">]</span> <span class="o">*</span> <span class="n">elem</span>
+
+        <span class="k">return</span> <span class="n">fitness</span></div></div>
+</pre></div>
+
+           </div>
+           
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2020, Jérôme BUISINE
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>

+ 35 - 9
docs/build/html/_modules/macop/operators/Operator.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.Operator &mdash; macop v1.0.5 documentation</title>
+  <title>macop.operators.base &mdash; macop v1.0.5 documentation</title>
   
 
   
@@ -135,7 +135,7 @@
         
           <li><a href="../../index.html">Module code</a> &raquo;</li>
         
-      <li>macop.operators.Operator</li>
+      <li>macop.operators.base</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -150,30 +150,29 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for macop.operators.Operator</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Abstract Operator class</span>
+  <h1>Source code for macop.operators.base</h1><div class="highlight"><pre>
+<span></span><span class="sd">&quot;&quot;&quot;Abstract Operator classes</span>
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="c1"># main imports</span>
 <span class="kn">from</span> <span class="nn">enum</span> <span class="kn">import</span> <span class="n">Enum</span>
 <span class="kn">from</span> <span class="nn">abc</span> <span class="kn">import</span> <span class="n">abstractmethod</span>
 
 
-<span class="c1"># enumeration which stores kind of operator</span>
-<div class="viewcode-block" id="KindOperator"><a class="viewcode-back" href="../../../macop/macop.operators.Operator.html#macop.operators.Operator.KindOperator">[docs]</a><span class="k">class</span> <span class="nc">KindOperator</span><span class="p">(</span><span class="n">Enum</span><span class="p">):</span>
+<div class="viewcode-block" id="KindOperator"><a class="viewcode-back" href="../../../macop/macop.operators.base.html#macop.operators.base.KindOperator">[docs]</a><span class="k">class</span> <span class="nc">KindOperator</span><span class="p">(</span><span class="n">Enum</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;Enum in order to recognize kind of operators</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">MUTATOR</span> <span class="o">=</span> <span class="mi">1</span>
     <span class="n">CROSSOVER</span> <span class="o">=</span> <span class="mi">2</span></div>
 
 
-<div class="viewcode-block" id="Operator"><a class="viewcode-back" href="../../../macop/macop.operators.Operator.html#macop.operators.Operator.Operator">[docs]</a><span class="k">class</span> <span class="nc">Operator</span><span class="p">():</span>
+<div class="viewcode-block" id="Operator"><a class="viewcode-back" href="../../../macop/macop.operators.base.html#macop.operators.base.Operator">[docs]</a><span class="k">class</span> <span class="nc">Operator</span><span class="p">():</span>
     <span class="sd">&quot;&quot;&quot;Abstract Operator class which enables to update solution applying operator (computation)</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="nd">@abstractmethod</span>
     <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="k">pass</span>
 
-<div class="viewcode-block" id="Operator.apply"><a class="viewcode-back" href="../../../macop/macop.operators.Operator.html#macop.operators.Operator.Operator.apply">[docs]</a>    <span class="nd">@abstractmethod</span>
+<div class="viewcode-block" id="Operator.apply"><a class="viewcode-back" href="../../../macop/macop.operators.base.html#macop.operators.base.Operator.apply">[docs]</a>    <span class="nd">@abstractmethod</span>
     <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Apply the current operator transformation</span>
 
@@ -182,7 +181,7 @@
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">pass</span></div>
 
-<div class="viewcode-block" id="Operator.setAlgo"><a class="viewcode-back" href="../../../macop/macop.operators.Operator.html#macop.operators.Operator.Operator.setAlgo">[docs]</a>    <span class="k">def</span> <span class="nf">setAlgo</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">algo</span><span class="p">):</span>
+<div class="viewcode-block" id="Operator.setAlgo"><a class="viewcode-back" href="../../../macop/macop.operators.base.html#macop.operators.base.Operator.setAlgo">[docs]</a>    <span class="k">def</span> <span class="nf">setAlgo</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">algo</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Keep into operator reference of the whole algorithm</span>
 <span class="sd">           The reason is to better manage operator instance</span>
 
@@ -190,6 +189,33 @@
 <span class="sd">            algo: {Algorithm} -- the algorithm reference runned</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span> <span class="o">=</span> <span class="n">algo</span></div></div>
+
+
+<div class="viewcode-block" id="Mutation"><a class="viewcode-back" href="../../../macop/macop.operators.base.html#macop.operators.base.Mutation">[docs]</a><span class="k">class</span> <span class="nc">Mutation</span><span class="p">(</span><span class="n">Operator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Abstract Mutation extend from Operator</span>
+
+<span class="sd">    Attributes:</span>
+<span class="sd">        kind: {KindOperator} -- specify the kind of operator</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_kind</span> <span class="o">=</span> <span class="n">KindOperator</span><span class="o">.</span><span class="n">MUTATOR</span>
+
+<div class="viewcode-block" id="Mutation.apply"><a class="viewcode-back" href="../../../macop/macop.operators.base.html#macop.operators.base.Mutation.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span></div></div>
+
+
+
+<div class="viewcode-block" id="Crossover"><a class="viewcode-back" href="../../../macop/macop.operators.base.html#macop.operators.base.Crossover">[docs]</a><span class="k">class</span> <span class="nc">Crossover</span><span class="p">(</span><span class="n">Operator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Abstract crossover extend from Operator</span>
+
+<span class="sd">    Attributes:</span>
+<span class="sd">        kind: {KindOperator} -- specify the kind of operator</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_kind</span> <span class="o">=</span> <span class="n">KindOperator</span><span class="o">.</span><span class="n">CROSSOVER</span>
+
+<div class="viewcode-block" id="Crossover.apply"><a class="viewcode-back" href="../../../macop/macop.operators.base.html#macop.operators.base.Crossover.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span></div></div>
 </pre></div>
 
            </div>

+ 0 - 213
docs/build/html/_modules/macop/operators/crossovers/Crossover.html

@@ -1,213 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>macop.operators.crossovers.Crossover &mdash; macop v1.0.5 documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-  <script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-
-    
-
-  
-  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
-    <link rel="index" title="Index" href="../../../../genindex.html" />
-    <link rel="search" title="Search" href="../../../../search.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../../../index.html" class="icon icon-home"> macop
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0.5
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Contents:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../description.html">Description</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../macop.html">Documentation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../examples.html">Some examples</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../contributing.html">Contributing</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../../../index.html">macop</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-        
-      <li>macop.operators.crossovers.Crossover</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for macop.operators.crossovers.Crossover</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Abstract Crossover class</span>
-<span class="sd">&quot;&quot;&quot;</span>
-<span class="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">..Operator</span> <span class="kn">import</span> <span class="n">KindOperator</span><span class="p">,</span> <span class="n">Operator</span>
-
-
-<span class="c1"># main mutation class</span>
-<div class="viewcode-block" id="Crossover"><a class="viewcode-back" href="../../../../macop/macop.operators.crossovers.Crossover.html#macop.operators.crossovers.Crossover.Crossover">[docs]</a><span class="k">class</span> <span class="nc">Crossover</span><span class="p">(</span><span class="n">Operator</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Abstract crossover extend from Operator</span>
-
-<span class="sd">    Attributes:</span>
-<span class="sd">        kind: {KindOperator} -- specify the kind of operator</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_kind</span> <span class="o">=</span> <span class="n">KindOperator</span><span class="o">.</span><span class="n">CROSSOVER</span>
-
-<div class="viewcode-block" id="Crossover.apply"><a class="viewcode-back" href="../../../../macop/macop.operators.crossovers.Crossover.html#macop.operators.crossovers.Crossover.Crossover.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
-        <span class="k">raise</span> <span class="ne">NotImplementedError</span></div></div>
-</pre></div>
-
-           </div>
-           
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2020, Jérôme BUISINE
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>

+ 0 - 248
docs/build/html/_modules/macop/operators/crossovers/RandomSplitCrossover.html

@@ -1,248 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>macop.operators.crossovers.RandomSplitCrossover &mdash; macop v1.0.5 documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-  <script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-
-    
-
-  
-  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
-    <link rel="index" title="Index" href="../../../../genindex.html" />
-    <link rel="search" title="Search" href="../../../../search.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../../../index.html" class="icon icon-home"> macop
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0.5
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Contents:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../description.html">Description</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../macop.html">Documentation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../examples.html">Some examples</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../contributing.html">Contributing</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../../../index.html">macop</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-        
-      <li>macop.operators.crossovers.RandomSplitCrossover</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for macop.operators.crossovers.RandomSplitCrossover</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Crossover implementation which generated new solution by randomly splitting best solution and current solution</span>
-<span class="sd">&quot;&quot;&quot;</span>
-<span class="c1"># main imports</span>
-<span class="kn">import</span> <span class="nn">random</span>
-<span class="kn">import</span> <span class="nn">sys</span>
-<span class="kn">import</span> <span class="nn">pkgutil</span>
-
-<span class="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">.Crossover</span> <span class="kn">import</span> <span class="n">Crossover</span>
-<span class="kn">from</span> <span class="nn">...utils.modules</span> <span class="kn">import</span> <span class="n">load_class</span>
-
-
-<div class="viewcode-block" id="RandomSplitCrossover"><a class="viewcode-back" href="../../../../macop/macop.operators.crossovers.RandomSplitCrossover.html#macop.operators.crossovers.RandomSplitCrossover.RandomSplitCrossover">[docs]</a><span class="k">class</span> <span class="nc">RandomSplitCrossover</span><span class="p">(</span><span class="n">Crossover</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Crossover implementation which generated new solution by randomly splitting best solution and current solution</span>
-
-<span class="sd">    Attributes:</span>
-<span class="sd">        kind: {KindOperator} -- specify the kind of operator</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-<div class="viewcode-block" id="RandomSplitCrossover.apply"><a class="viewcode-back" href="../../../../macop/macop.operators.crossovers.RandomSplitCrossover.html#macop.operators.crossovers.RandomSplitCrossover.RandomSplitCrossover.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;Create new solution based on best solution found and solution passed as parameter</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            solution: {Solution} -- the solution to use for generating new solution</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {Solution} -- new generated solution</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">size</span> <span class="o">=</span> <span class="n">solution</span><span class="o">.</span><span class="n">_size</span>
-
-        <span class="c1"># copy data of solution</span>
-        <span class="n">firstData</span> <span class="o">=</span> <span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
-        <span class="c1"># get best solution from current algorithm</span>
-        <span class="n">secondData</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_bestSolution</span><span class="o">.</span><span class="n">_data</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
-
-        <span class="n">splitIndex</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">secondData</span><span class="p">))</span>
-
-        <span class="k">if</span> <span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mf">0.5</span><span class="p">:</span>
-            <span class="n">firstData</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:(</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)]</span> <span class="o">=</span> <span class="n">firstData</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:(</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)]</span>
-            <span class="n">currentData</span> <span class="o">=</span> <span class="n">firstData</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">secondData</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:(</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)]</span> <span class="o">=</span> <span class="n">firstData</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:(</span><span class="n">size</span> <span class="o">-</span>
-                                                                      <span class="mi">1</span><span class="p">)]</span>
-            <span class="n">currentData</span> <span class="o">=</span> <span class="n">secondData</span>
-
-        <span class="c1"># create solution of same kind with new data</span>
-        <span class="n">class_name</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">solution</span><span class="p">)</span><span class="o">.</span><span class="vm">__name__</span>
-
-        <span class="c1"># dynamically load solution class if unknown</span>
-        <span class="k">if</span> <span class="n">class_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">:</span>
-            <span class="n">load_class</span><span class="p">(</span><span class="n">class_name</span><span class="p">,</span> <span class="nb">globals</span><span class="p">())</span>
-
-        <span class="k">return</span> <span class="nb">getattr</span><span class="p">(</span><span class="nb">globals</span><span class="p">()[</span><span class="s1">&#39;macop.solutions.&#39;</span> <span class="o">+</span> <span class="n">class_name</span><span class="p">],</span>
-                       <span class="n">class_name</span><span class="p">)(</span><span class="n">currentData</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span></div></div>
-</pre></div>
-
-           </div>
-           
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2020, Jérôme BUISINE
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>

+ 42 - 31
docs/build/html/_modules/macop/operators/crossovers/SimpleCrossover.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.crossovers.SimpleCrossover &mdash; macop v1.0.5 documentation</title>
+  <title>macop.operators.discrete.crossovers &mdash; macop v1.0.5 documentation</title>
   
 
   
@@ -135,7 +135,7 @@
         
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
         
-      <li>macop.operators.crossovers.SimpleCrossover</li>
+      <li>macop.operators.discrete.crossovers</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -150,35 +150,24 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for macop.operators.crossovers.SimpleCrossover</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Crossover implementation which generated new solution by splitting at mean size best solution and current solution</span>
+  <h1>Source code for macop.operators.discrete.crossovers</h1><div class="highlight"><pre>
+<span></span><span class="sd">&quot;&quot;&quot;Crossover implementations for discrete solutions kind</span>
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="c1"># main imports</span>
 <span class="kn">import</span> <span class="nn">random</span>
 <span class="kn">import</span> <span class="nn">sys</span>
-<span class="kn">import</span> <span class="nn">pkgutil</span>
 
 <span class="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">.Crossover</span> <span class="kn">import</span> <span class="n">Crossover</span>
-<span class="kn">from</span> <span class="nn">...utils.modules</span> <span class="kn">import</span> <span class="n">load_class</span>
+<span class="kn">from</span> <span class="nn">..base</span> <span class="kn">import</span> <span class="n">Crossover</span>
 
-<span class="c1"># import all available solutions</span>
-<span class="c1"># for loader, module_name, is_pkg in pkgutil.walk_packages(</span>
-<span class="c1">#         path=[</span>
-<span class="c1">#             str(pathlib.Path(__file__).parent.absolute()) + &#39;/../../solutions&#39;</span>
-<span class="c1">#         ],</span>
-<span class="c1">#         prefix=&#39;macop.solutions.&#39;):</span>
-<span class="c1">#     _module = loader.find_module(module_name).load_module(module_name)</span>
-<span class="c1">#     globals()[module_name] = _module</span>
 
-
-<div class="viewcode-block" id="SimpleCrossover"><a class="viewcode-back" href="../../../../macop/macop.operators.crossovers.SimpleCrossover.html#macop.operators.crossovers.SimpleCrossover.SimpleCrossover">[docs]</a><span class="k">class</span> <span class="nc">SimpleCrossover</span><span class="p">(</span><span class="n">Crossover</span><span class="p">):</span>
+<div class="viewcode-block" id="SimpleCrossover"><a class="viewcode-back" href="../../../../macop/macop.operators.discrete.crossovers.html#macop.operators.discrete.crossovers.SimpleCrossover">[docs]</a><span class="k">class</span> <span class="nc">SimpleCrossover</span><span class="p">(</span><span class="n">Crossover</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;Crossover implementation which generated new solution by splitting at mean size best solution and current solution</span>
 
 <span class="sd">    Attributes:</span>
 <span class="sd">        kind: {Algorithm} -- specify the kind of operator</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-<div class="viewcode-block" id="SimpleCrossover.apply"><a class="viewcode-back" href="../../../../macop/macop.operators.crossovers.SimpleCrossover.html#macop.operators.crossovers.SimpleCrossover.SimpleCrossover.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
+<div class="viewcode-block" id="SimpleCrossover.apply"><a class="viewcode-back" href="../../../../macop/macop.operators.discrete.crossovers.html#macop.operators.discrete.crossovers.SimpleCrossover.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Create new solution based on best solution found and solution passed as parameter</span>
 
 <span class="sd">        Args:</span>
@@ -194,27 +183,49 @@
         <span class="n">firstData</span> <span class="o">=</span> <span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
 
         <span class="c1"># get best solution from current algorithm</span>
-        <span class="n">secondData</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_bestSolution</span><span class="o">.</span><span class="n">_data</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
+        <span class="n">copy_solution</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_bestSolution</span><span class="o">.</span><span class="n">clone</span><span class="p">()</span>
 
         <span class="n">splitIndex</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">size</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)</span>
 
         <span class="k">if</span> <span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mf">0.5</span><span class="p">:</span>
-            <span class="n">firstData</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:(</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)]</span> <span class="o">=</span> <span class="n">firstData</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:(</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)]</span>
-            <span class="n">currentData</span> <span class="o">=</span> <span class="n">firstData</span>
+            <span class="n">copy_solution</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:]</span> <span class="o">=</span> <span class="n">firstData</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:]</span>
         <span class="k">else</span><span class="p">:</span>
-            <span class="n">secondData</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:(</span><span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)]</span> <span class="o">=</span> <span class="n">firstData</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:(</span><span class="n">size</span> <span class="o">-</span>
-                                                                      <span class="mi">1</span><span class="p">)]</span>
-            <span class="n">currentData</span> <span class="o">=</span> <span class="n">secondData</span>
+            <span class="n">copy_solution</span><span class="o">.</span><span class="n">_data</span><span class="p">[:</span><span class="n">splitIndex</span><span class="p">]</span> <span class="o">=</span> <span class="n">firstData</span><span class="p">[:</span><span class="n">splitIndex</span><span class="p">]</span>
+
+        <span class="k">return</span> <span class="n">copy_solution</span></div></div>
+
+
+<div class="viewcode-block" id="RandomSplitCrossover"><a class="viewcode-back" href="../../../../macop/macop.operators.discrete.crossovers.html#macop.operators.discrete.crossovers.RandomSplitCrossover">[docs]</a><span class="k">class</span> <span class="nc">RandomSplitCrossover</span><span class="p">(</span><span class="n">Crossover</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Crossover implementation which generated new solution by randomly splitting best solution and current solution</span>
+
+<span class="sd">    Attributes:</span>
+<span class="sd">        kind: {KindOperator} -- specify the kind of operator</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+<div class="viewcode-block" id="RandomSplitCrossover.apply"><a class="viewcode-back" href="../../../../macop/macop.operators.discrete.crossovers.html#macop.operators.discrete.crossovers.RandomSplitCrossover.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Create new solution based on best solution found and solution passed as parameter</span>
 
-        <span class="c1"># create solution of same kind with new data</span>
-        <span class="n">class_name</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">solution</span><span class="p">)</span><span class="o">.</span><span class="vm">__name__</span>
+<span class="sd">        Args:</span>
+<span class="sd">            solution: {Solution} -- the solution to use for generating new solution</span>
 
-        <span class="c1"># dynamically load solution class if unknown</span>
-        <span class="k">if</span> <span class="n">class_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">:</span>
-            <span class="n">load_class</span><span class="p">(</span><span class="n">class_name</span><span class="p">,</span> <span class="nb">globals</span><span class="p">())</span>
+<span class="sd">        Returns:</span>
+<span class="sd">            {Solution} -- new generated solution</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">size</span> <span class="o">=</span> <span class="n">solution</span><span class="o">.</span><span class="n">_size</span>
+
+        <span class="c1"># copy data of solution</span>
+        <span class="n">firstData</span> <span class="o">=</span> <span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
+
+        <span class="c1"># get best solution from current algorithm</span>
+        <span class="n">copy_solution</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_bestSolution</span><span class="o">.</span><span class="n">clone</span><span class="p">()</span>
+
+        <span class="n">splitIndex</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mf">0.5</span><span class="p">:</span>
+            <span class="n">copy_solution</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:]</span> <span class="o">=</span> <span class="n">firstData</span><span class="p">[</span><span class="n">splitIndex</span><span class="p">:]</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">copy_solution</span><span class="o">.</span><span class="n">_data</span><span class="p">[:</span><span class="n">splitIndex</span><span class="p">]</span> <span class="o">=</span> <span class="n">firstData</span><span class="p">[:</span><span class="n">splitIndex</span><span class="p">]</span>
 
-        <span class="k">return</span> <span class="nb">getattr</span><span class="p">(</span><span class="nb">globals</span><span class="p">()[</span><span class="s1">&#39;macop.solutions.&#39;</span> <span class="o">+</span> <span class="n">class_name</span><span class="p">],</span>
-                       <span class="n">class_name</span><span class="p">)(</span><span class="n">currentData</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span></div></div>
+        <span class="k">return</span> <span class="n">copy_solution</span></div></div>
 </pre></div>
 
            </div>

+ 42 - 20
docs/build/html/_modules/macop/operators/mutators/SimpleMutation.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.mutators.SimpleMutation &mdash; macop v1.0.5 documentation</title>
+  <title>macop.operators.discrete.mutators &mdash; macop v1.0.5 documentation</title>
   
 
   
@@ -135,7 +135,7 @@
         
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
         
-      <li>macop.operators.mutators.SimpleMutation</li>
+      <li>macop.operators.discrete.mutators</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -150,25 +150,24 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <h1>Source code for macop.operators.mutators.SimpleMutation</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Mutation implementation for binary solution, swap two bits randomly from solution</span>
+  <h1>Source code for macop.operators.discrete.mutators</h1><div class="highlight"><pre>
+<span></span><span class="sd">&quot;&quot;&quot;Mutation implementations for discrete solution</span>
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="c1"># main imports</span>
 <span class="kn">import</span> <span class="nn">random</span>
 <span class="kn">import</span> <span class="nn">sys</span>
 
 <span class="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">.Mutation</span> <span class="kn">import</span> <span class="n">Mutation</span>
-<span class="kn">from</span> <span class="nn">...utils.modules</span> <span class="kn">import</span> <span class="n">load_class</span>
+<span class="kn">from</span> <span class="nn">..base</span> <span class="kn">import</span> <span class="n">Mutation</span>
 
 
-<div class="viewcode-block" id="SimpleMutation"><a class="viewcode-back" href="../../../../macop/macop.operators.mutators.SimpleMutation.html#macop.operators.mutators.SimpleMutation.SimpleMutation">[docs]</a><span class="k">class</span> <span class="nc">SimpleMutation</span><span class="p">(</span><span class="n">Mutation</span><span class="p">):</span>
+<div class="viewcode-block" id="SimpleMutation"><a class="viewcode-back" href="../../../../macop/macop.operators.discrete.mutators.html#macop.operators.discrete.mutators.SimpleMutation">[docs]</a><span class="k">class</span> <span class="nc">SimpleMutation</span><span class="p">(</span><span class="n">Mutation</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;Mutation implementation for binary solution, swap two bits randomly from solution</span>
 
 <span class="sd">    Attributes:</span>
 <span class="sd">        kind: {KindOperator} -- specify the kind of operator</span>
 <span class="sd">    &quot;&quot;&quot;</span>
-<div class="viewcode-block" id="SimpleMutation.apply"><a class="viewcode-back" href="../../../../macop/macop.operators.mutators.SimpleMutation.html#macop.operators.mutators.SimpleMutation.SimpleMutation.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
+<div class="viewcode-block" id="SimpleMutation.apply"><a class="viewcode-back" href="../../../../macop/macop.operators.discrete.mutators.html#macop.operators.discrete.mutators.SimpleMutation.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Create new solution based on solution passed as parameter</span>
 
 <span class="sd">        Args:</span>
@@ -183,28 +182,51 @@
         <span class="n">firstCell</span> <span class="o">=</span> <span class="mi">0</span>
         <span class="n">secondCell</span> <span class="o">=</span> <span class="mi">0</span>
 
-        <span class="c1"># copy data of solution</span>
-        <span class="n">currentData</span> <span class="o">=</span> <span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
+        <span class="c1"># copy of solution</span>
+        <span class="n">copy_solution</span> <span class="o">=</span> <span class="n">solution</span><span class="o">.</span><span class="n">clone</span><span class="p">()</span>
 
         <span class="k">while</span> <span class="n">firstCell</span> <span class="o">==</span> <span class="n">secondCell</span><span class="p">:</span>
             <span class="n">firstCell</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
             <span class="n">secondCell</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
 
-        <span class="n">temp</span> <span class="o">=</span> <span class="n">currentData</span><span class="p">[</span><span class="n">firstCell</span><span class="p">]</span>
+        <span class="n">temp</span> <span class="o">=</span> <span class="n">copy_solution</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="n">firstCell</span><span class="p">]</span>
 
         <span class="c1"># swicth values</span>
-        <span class="n">currentData</span><span class="p">[</span><span class="n">firstCell</span><span class="p">]</span> <span class="o">=</span> <span class="n">currentData</span><span class="p">[</span><span class="n">secondCell</span><span class="p">]</span>
-        <span class="n">currentData</span><span class="p">[</span><span class="n">secondCell</span><span class="p">]</span> <span class="o">=</span> <span class="n">temp</span>
+        <span class="n">copy_solution</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="n">firstCell</span><span class="p">]</span> <span class="o">=</span> <span class="n">copy_solution</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="n">secondCell</span><span class="p">]</span>
+        <span class="n">copy_solution</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="n">secondCell</span><span class="p">]</span> <span class="o">=</span> <span class="n">temp</span>
 
-        <span class="c1"># create solution of same kind with new data</span>
-        <span class="n">class_name</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">solution</span><span class="p">)</span><span class="o">.</span><span class="vm">__name__</span>
+        <span class="k">return</span> <span class="n">copy_solution</span></div></div>
 
-        <span class="c1"># dynamically load solution class if unknown</span>
-        <span class="k">if</span> <span class="n">class_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">:</span>
-            <span class="n">load_class</span><span class="p">(</span><span class="n">class_name</span><span class="p">,</span> <span class="nb">globals</span><span class="p">())</span>
 
-        <span class="k">return</span> <span class="nb">getattr</span><span class="p">(</span><span class="nb">globals</span><span class="p">()[</span><span class="s1">&#39;macop.solutions.&#39;</span> <span class="o">+</span> <span class="n">class_name</span><span class="p">],</span>
-                       <span class="n">class_name</span><span class="p">)(</span><span class="n">currentData</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span></div></div>
+<div class="viewcode-block" id="SimpleBinaryMutation"><a class="viewcode-back" href="../../../../macop/macop.operators.discrete.mutators.html#macop.operators.discrete.mutators.SimpleBinaryMutation">[docs]</a><span class="k">class</span> <span class="nc">SimpleBinaryMutation</span><span class="p">(</span><span class="n">Mutation</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Mutation implementation for binary solution, swap bit randomly from solution</span>
+
+<span class="sd">    Attributes:</span>
+<span class="sd">        kind: {KindOperator} -- specify the kind of operator</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+<div class="viewcode-block" id="SimpleBinaryMutation.apply"><a class="viewcode-back" href="../../../../macop/macop.operators.discrete.mutators.html#macop.operators.discrete.mutators.SimpleBinaryMutation.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Create new solution based on solution passed as parameter</span>
+
+<span class="sd">        Args:</span>
+<span class="sd">            solution: {Solution} -- the solution to use for generating new solution</span>
+
+<span class="sd">        Returns:</span>
+<span class="sd">            {Solution} -- new generated solution</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+        <span class="n">size</span> <span class="o">=</span> <span class="n">solution</span><span class="o">.</span><span class="n">_size</span>
+        <span class="n">cell</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
+
+        <span class="c1"># copy of solution</span>
+        <span class="n">copy_solution</span> <span class="o">=</span> <span class="n">solution</span><span class="o">.</span><span class="n">clone</span><span class="p">()</span>
+
+        <span class="c1"># swicth values</span>
+        <span class="k">if</span> <span class="n">copy_solution</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="n">cell</span><span class="p">]:</span>
+            <span class="n">copy_solution</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="n">cell</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="n">copy_solution</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="n">cell</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span>
+
+        <span class="k">return</span> <span class="n">copy_solution</span></div></div>
 </pre></div>
 
            </div>

+ 0 - 213
docs/build/html/_modules/macop/operators/mutators/Mutation.html

@@ -1,213 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>macop.operators.mutators.Mutation &mdash; macop v1.0.5 documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-  <script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-
-    
-
-  
-  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
-    <link rel="index" title="Index" href="../../../../genindex.html" />
-    <link rel="search" title="Search" href="../../../../search.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../../../index.html" class="icon icon-home"> macop
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0.5
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Contents:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../description.html">Description</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../macop.html">Documentation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../examples.html">Some examples</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../contributing.html">Contributing</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../../../index.html">macop</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-        
-      <li>macop.operators.mutators.Mutation</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for macop.operators.mutators.Mutation</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Abstract Mutation class</span>
-<span class="sd">&quot;&quot;&quot;</span>
-<span class="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">..Operator</span> <span class="kn">import</span> <span class="n">KindOperator</span><span class="p">,</span> <span class="n">Operator</span>
-
-
-<span class="c1"># main mutation class</span>
-<div class="viewcode-block" id="Mutation"><a class="viewcode-back" href="../../../../macop/macop.operators.mutators.Mutation.html#macop.operators.mutators.Mutation.Mutation">[docs]</a><span class="k">class</span> <span class="nc">Mutation</span><span class="p">(</span><span class="n">Operator</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Abstract Mutation extend from Operator</span>
-
-<span class="sd">    Attributes:</span>
-<span class="sd">        kind: {KindOperator} -- specify the kind of operator</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_kind</span> <span class="o">=</span> <span class="n">KindOperator</span><span class="o">.</span><span class="n">MUTATOR</span>
-
-<div class="viewcode-block" id="Mutation.apply"><a class="viewcode-back" href="../../../../macop/macop.operators.mutators.Mutation.html#macop.operators.mutators.Mutation.Mutation.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
-        <span class="k">raise</span> <span class="ne">NotImplementedError</span></div></div>
-</pre></div>
-
-           </div>
-           
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2020, Jérôme BUISINE
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>

+ 0 - 244
docs/build/html/_modules/macop/operators/mutators/SimpleBinaryMutation.html

@@ -1,244 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>macop.operators.mutators.SimpleBinaryMutation &mdash; macop v1.0.5 documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-  <script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-
-    
-
-  
-  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
-    <link rel="index" title="Index" href="../../../../genindex.html" />
-    <link rel="search" title="Search" href="../../../../search.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../../../index.html" class="icon icon-home"> macop
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0.5
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Contents:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../description.html">Description</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../macop.html">Documentation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../examples.html">Some examples</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../contributing.html">Contributing</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../../../index.html">macop</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-        
-      <li>macop.operators.mutators.SimpleBinaryMutation</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for macop.operators.mutators.SimpleBinaryMutation</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Mutation implementation for binary solution, swap bit randomly from solution</span>
-<span class="sd">&quot;&quot;&quot;</span>
-<span class="c1"># main imports</span>
-<span class="kn">import</span> <span class="nn">random</span>
-<span class="kn">import</span> <span class="nn">sys</span>
-
-<span class="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">.Mutation</span> <span class="kn">import</span> <span class="n">Mutation</span>
-<span class="kn">from</span> <span class="nn">...utils.modules</span> <span class="kn">import</span> <span class="n">load_class</span>
-
-
-<div class="viewcode-block" id="SimpleBinaryMutation"><a class="viewcode-back" href="../../../../macop/macop.operators.mutators.SimpleBinaryMutation.html#macop.operators.mutators.SimpleBinaryMutation.SimpleBinaryMutation">[docs]</a><span class="k">class</span> <span class="nc">SimpleBinaryMutation</span><span class="p">(</span><span class="n">Mutation</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Mutation implementation for binary solution, swap bit randomly from solution</span>
-
-<span class="sd">    Attributes:</span>
-<span class="sd">        kind: {KindOperator} -- specify the kind of operator</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-<div class="viewcode-block" id="SimpleBinaryMutation.apply"><a class="viewcode-back" href="../../../../macop/macop.operators.mutators.SimpleBinaryMutation.html#macop.operators.mutators.SimpleBinaryMutation.SimpleBinaryMutation.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;Create new solution based on solution passed as parameter</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            solution: {Solution} -- the solution to use for generating new solution</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {Solution} -- new generated solution</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-
-        <span class="n">size</span> <span class="o">=</span> <span class="n">solution</span><span class="o">.</span><span class="n">_size</span>
-
-        <span class="n">cell</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
-
-        <span class="c1"># copy data of solution</span>
-        <span class="n">currentData</span> <span class="o">=</span> <span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
-
-        <span class="c1"># swicth values</span>
-        <span class="k">if</span> <span class="n">currentData</span><span class="p">[</span><span class="n">cell</span><span class="p">]:</span>
-            <span class="n">currentData</span><span class="p">[</span><span class="n">cell</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">currentData</span><span class="p">[</span><span class="n">cell</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span>
-
-        <span class="c1"># create solution of same kind with new data</span>
-        <span class="n">class_name</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">solution</span><span class="p">)</span><span class="o">.</span><span class="vm">__name__</span>
-
-        <span class="c1"># dynamically load solution class if unknown</span>
-        <span class="k">if</span> <span class="n">class_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">:</span>
-            <span class="n">load_class</span><span class="p">(</span><span class="n">class_name</span><span class="p">,</span> <span class="nb">globals</span><span class="p">())</span>
-
-        <span class="k">return</span> <span class="nb">getattr</span><span class="p">(</span><span class="nb">globals</span><span class="p">()[</span><span class="s1">&#39;macop.solutions.&#39;</span> <span class="o">+</span> <span class="n">class_name</span><span class="p">],</span>
-                       <span class="n">class_name</span><span class="p">)(</span><span class="n">currentData</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span></div></div>
-</pre></div>
-
-           </div>
-           
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2020, Jérôme BUISINE
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>

+ 0 - 252
docs/build/html/_modules/macop/operators/policies/Policy.html

@@ -1,252 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>macop.operators.policies.Policy &mdash; macop v1.0.5 documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-  <script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-
-    
-
-  
-  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
-    <link rel="index" title="Index" href="../../../../genindex.html" />
-    <link rel="search" title="Search" href="../../../../search.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../../../index.html" class="icon icon-home"> macop
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0.5
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Contents:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../description.html">Description</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../macop.html">Documentation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../examples.html">Some examples</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../contributing.html">Contributing</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../../../index.html">macop</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-        
-      <li>macop.operators.policies.Policy</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for macop.operators.policies.Policy</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Abstract class which is used for applying strategy when selecting and applying operator </span>
-<span class="sd">&quot;&quot;&quot;</span>
-<span class="kn">import</span> <span class="nn">logging</span>
-<span class="kn">from</span> <span class="nn">abc</span> <span class="kn">import</span> <span class="n">abstractmethod</span>
-
-
-<span class="c1"># define policy to choose `operator` function at current iteration</span>
-<div class="viewcode-block" id="Policy"><a class="viewcode-back" href="../../../../macop/macop.operators.policies.Policy.html#macop.operators.policies.Policy.Policy">[docs]</a><span class="k">class</span> <span class="nc">Policy</span><span class="p">():</span>
-    <span class="sd">&quot;&quot;&quot;Abstract class which is used for applying strategy when selecting and applying operator </span>
-
-<span class="sd">    Attributes:</span>
-<span class="sd">        operators: {[Operator]} -- list of selected operators for the algorithm</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operators</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_operators</span> <span class="o">=</span> <span class="n">operators</span>
-
-<div class="viewcode-block" id="Policy.select"><a class="viewcode-back" href="../../../../macop/macop.operators.policies.Policy.html#macop.operators.policies.Policy.Policy.select">[docs]</a>    <span class="nd">@abstractmethod</span>
-    <span class="k">def</span> <span class="nf">select</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Select specific operator</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {Operator} -- selected operator</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">pass</span></div>
-
-<div class="viewcode-block" id="Policy.apply"><a class="viewcode-back" href="../../../../macop/macop.operators.policies.Policy.html#macop.operators.policies.Policy.Policy.apply">[docs]</a>    <span class="k">def</span> <span class="nf">apply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Apply specific operator chosen to create new solution, computes its fitness and returns solution</span>
-<span class="sd">        </span>
-<span class="sd">        Args:</span>
-<span class="sd">            _solution: {Solution} -- the solution to use for generating new solution</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {Solution} -- new generated solution</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-
-        <span class="n">operator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">select</span><span class="p">()</span>
-
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;---- Applying </span><span class="si">%s</span><span class="s2"> on </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span>
-                     <span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">operator</span><span class="p">)</span><span class="o">.</span><span class="vm">__name__</span><span class="p">,</span> <span class="n">solution</span><span class="p">))</span>
-
-        <span class="c1"># apply operator on solution</span>
-        <span class="n">newSolution</span> <span class="o">=</span> <span class="n">operator</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="n">solution</span><span class="p">)</span>
-
-        <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;---- Obtaining </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">solution</span><span class="p">))</span>
-
-        <span class="k">return</span> <span class="n">newSolution</span></div>
-
-<div class="viewcode-block" id="Policy.setAlgo"><a class="viewcode-back" href="../../../../macop/macop.operators.policies.Policy.html#macop.operators.policies.Policy.Policy.setAlgo">[docs]</a>    <span class="k">def</span> <span class="nf">setAlgo</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">algo</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;Keep into policy reference of the whole algorithm</span>
-<span class="sd">           The reason is to better manage the operator choices (use of rewards as example)</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            algo: {Algorithm} -- the algorithm reference runned</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span> <span class="o">=</span> <span class="n">algo</span></div></div>
-</pre></div>
-
-           </div>
-           
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2020, Jérôme BUISINE
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>

+ 0 - 219
docs/build/html/_modules/macop/operators/policies/RandomPolicy.html

@@ -1,219 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>macop.operators.policies.RandomPolicy &mdash; macop v1.0.5 documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-  <script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-        <script type="text/javascript" src="../../../../_static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-
-    
-
-  
-  <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
-    <link rel="index" title="Index" href="../../../../genindex.html" />
-    <link rel="search" title="Search" href="../../../../search.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../../../index.html" class="icon icon-home"> macop
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0.5
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Contents:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../description.html">Description</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../macop.html">Documentation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../examples.html">Some examples</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../contributing.html">Contributing</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../../../index.html">macop</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-        
-      <li>macop.operators.policies.RandomPolicy</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for macop.operators.policies.RandomPolicy</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Policy class implementation which is used for selecting operator randomly</span>
-<span class="sd">&quot;&quot;&quot;</span>
-<span class="c1"># main imports</span>
-<span class="kn">import</span> <span class="nn">random</span>
-
-<span class="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">.Policy</span> <span class="kn">import</span> <span class="n">Policy</span>
-
-
-<div class="viewcode-block" id="RandomPolicy"><a class="viewcode-back" href="../../../../macop/macop.operators.policies.RandomPolicy.html#macop.operators.policies.RandomPolicy.RandomPolicy">[docs]</a><span class="k">class</span> <span class="nc">RandomPolicy</span><span class="p">(</span><span class="n">Policy</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Policy class implementation which is used for select operator randomly</span>
-
-<span class="sd">    Attributes:</span>
-<span class="sd">        operators: {[Operator]} -- list of selected operators for the algorithm</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-<div class="viewcode-block" id="RandomPolicy.select"><a class="viewcode-back" href="../../../../macop/macop.operators.policies.RandomPolicy.html#macop.operators.policies.RandomPolicy.RandomPolicy.select">[docs]</a>    <span class="k">def</span> <span class="nf">select</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;Select randomly the next operator to use</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {Operator}: the selected operator</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="c1"># choose operator randomly</span>
-        <span class="n">index</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_operators</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_operators</span><span class="p">[</span><span class="n">index</span><span class="p">]</span></div></div>
-</pre></div>
-
-           </div>
-           
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2020, Jérôme BUISINE
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 296
docs/build/html/_modules/macop/operators/policies/UCBPolicy.html


+ 0 - 243
docs/build/html/_modules/macop/solutions/BinarySolution.html

@@ -1,243 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>macop.solutions.BinarySolution &mdash; macop v1.0.5 documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-  <script type="text/javascript" src="../../../_static/js/modernizr.min.js"></script>
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../../_static/doctools.js"></script>
-        <script type="text/javascript" src="../../../_static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
-
-    
-
-  
-  <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
-    <link rel="index" title="Index" href="../../../genindex.html" />
-    <link rel="search" title="Search" href="../../../search.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../../index.html" class="icon icon-home"> macop
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0.5
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Contents:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../description.html">Description</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../macop.html">Documentation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../examples.html">Some examples</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../contributing.html">Contributing</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../../index.html">macop</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="../../index.html">Module code</a> &raquo;</li>
-        
-      <li>macop.solutions.BinarySolution</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for macop.solutions.BinarySolution</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Binary solution class implementation</span>
-<span class="sd">&quot;&quot;&quot;</span>
-<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
-
-<span class="c1"># modules imports</span>
-<span class="kn">from</span> <span class="nn">.Solution</span> <span class="kn">import</span> <span class="n">Solution</span>
-
-
-<span class="c1"># Solution which stores solution data as binary array</span>
-<div class="viewcode-block" id="BinarySolution"><a class="viewcode-back" href="../../../macop/macop.solutions.BinarySolution.html#macop.solutions.BinarySolution.BinarySolution">[docs]</a><span class="k">class</span> <span class="nc">BinarySolution</span><span class="p">(</span><span class="n">Solution</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Binary integer solution class</span>
-
-<span class="sd">    Attributes:</span>
-<span class="sd">        data: {ndarray} --  array of binary values</span>
-<span class="sd">        size: {int} -- size of binary array values</span>
-<span class="sd">        score: {float} -- fitness score value</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">size</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Initialize binary solution using specific data</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            data: {ndarray} --  array of binary values</span>
-<span class="sd">            size: {int} -- size of binary array values</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span>
-
-<div class="viewcode-block" id="BinarySolution.random"><a class="viewcode-back" href="../../../macop/macop.solutions.BinarySolution.html#macop.solutions.BinarySolution.BinarySolution.random">[docs]</a>    <span class="k">def</span> <span class="nf">random</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">validator</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Intialize binary array with use of validator to generate valid random solution</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            validator: {function} -- specific function which validates or not a solution</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {BinarySolution} -- new generated binary solution</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_size</span><span class="p">)</span>
-
-        <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">isValid</span><span class="p">(</span><span class="n">validator</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_size</span><span class="p">)</span>
-
-        <span class="k">return</span> <span class="bp">self</span></div>
-
-    <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="s2">&quot;Binary solution </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">)</span></div>
-</pre></div>
-
-           </div>
-           
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2020, Jérôme BUISINE
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>

+ 0 - 244
docs/build/html/_modules/macop/solutions/CombinatoryIntegerSolution.html

@@ -1,244 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>macop.solutions.CombinatoryIntegerSolution &mdash; macop v1.0.5 documentation</title>
-  
-
-  
-  
-  
-  
-
-  
-  <script type="text/javascript" src="../../../_static/js/modernizr.min.js"></script>
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
-        <script type="text/javascript" src="../../../_static/jquery.js"></script>
-        <script type="text/javascript" src="../../../_static/underscore.js"></script>
-        <script type="text/javascript" src="../../../_static/doctools.js"></script>
-        <script type="text/javascript" src="../../../_static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
-
-    
-
-  
-  <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
-    <link rel="index" title="Index" href="../../../genindex.html" />
-    <link rel="search" title="Search" href="../../../search.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../../index.html" class="icon icon-home"> macop
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0.5
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Contents:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../description.html">Description</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../macop.html">Documentation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../examples.html">Some examples</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../contributing.html">Contributing</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../../index.html">macop</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../../index.html">Docs</a> &raquo;</li>
-        
-          <li><a href="../../index.html">Module code</a> &raquo;</li>
-        
-      <li>macop.solutions.CombinatoryIntegerSolution</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for macop.solutions.CombinatoryIntegerSolution</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Combinatory integer solution class implementation</span>
-<span class="sd">&quot;&quot;&quot;</span>
-<span class="c1"># main imports</span>
-<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
-
-<span class="c1"># modules imports</span>
-<span class="kn">from</span> <span class="nn">.Solution</span> <span class="kn">import</span> <span class="n">Solution</span>
-
-
-<span class="c1"># Solution which stores solution data as combinatory integer array</span>
-<div class="viewcode-block" id="CombinatoryIntegerSolution"><a class="viewcode-back" href="../../../macop/macop.solutions.CombinatoryIntegerSolution.html#macop.solutions.CombinatoryIntegerSolution.CombinatoryIntegerSolution">[docs]</a><span class="k">class</span> <span class="nc">CombinatoryIntegerSolution</span><span class="p">(</span><span class="n">Solution</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Combinatory integer solution class</span>
-
-<span class="sd">    Attributes:</span>
-<span class="sd">        data: {ndarray} --  array of binary values</span>
-<span class="sd">        size: {int} -- size of binary array values</span>
-<span class="sd">        score: {float} -- fitness score value</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">size</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Initialize binary solution using specific data</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            data: {ndarray} --  array of binary values</span>
-<span class="sd">            size: {int} -- size of binary array values</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span>
-
-<div class="viewcode-block" id="CombinatoryIntegerSolution.random"><a class="viewcode-back" href="../../../macop/macop.solutions.CombinatoryIntegerSolution.html#macop.solutions.CombinatoryIntegerSolution.CombinatoryIntegerSolution.random">[docs]</a>    <span class="k">def</span> <span class="nf">random</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">validator</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Intialize combinatory integer array with use of validator to generate valid random solution</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            validator: {function} -- specific function which validates or not a solution</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {CombinatoryIntegerSolution} -- new generated combinatory integer solution</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">shuffle</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_size</span><span class="p">))</span>
-
-        <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">isValid</span><span class="p">(</span><span class="n">validator</span><span class="p">):</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">shuffle</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_size</span><span class="p">))</span>
-
-        <span class="k">return</span> <span class="bp">self</span></div>
-
-    <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="s2">&quot;Combinatory integer solution </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">)</span></div>
-</pre></div>
-
-           </div>
-           
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2020, Jérôme BUISINE
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 244
docs/build/html/_modules/macop/solutions/IntegerSolution.html


Fichier diff supprimé car celui-ci est trop grand
+ 325 - 0
docs/build/html/_modules/macop/solutions/discrete.html


+ 1 - 1
docs/build/html/_sources/examples.rst.txt

@@ -318,7 +318,7 @@ In this way, now we can run and obtained the best solution found in `n` evaluati
 .. code:: python
 
     bestSol = algo.run(10000)
-    print('Solution score is {}'.format(evaluator(bestSol)))
+    print('Solution score is {}'.format(evaluator.compute(bestSol)))
 
 3. Multi-objective
 -------------------

+ 18 - 27
docs/build/html/_sources/macop.rst.txt

@@ -10,12 +10,9 @@ macop.algorithms
 .. autosummary::
    :toctree: macop
    
-   macop.algorithms.Algorithm
-   macop.algorithms.mono.IteratedLocalSearch
-   macop.algorithms.mono.HillClimberFirstImprovment
-   macop.algorithms.mono.HillClimberBestImprovment
-   macop.algorithms.multi.MOEAD
-   macop.algorithms.multi.MOSubProblem
+   macop.algorithms.base
+   macop.algorithms.mono
+   macop.algorithms.multi
 
 macop.callbacks
 -------------------
@@ -23,11 +20,10 @@ macop.callbacks
 .. autosummary::
    :toctree: macop
    
-   macop.callbacks.BasicCheckpoint
-   macop.callbacks.MultiCheckpoint
-   macop.callbacks.ParetoCheckpoint
-   macop.callbacks.UCBCheckpoint
-   macop.callbacks.Callback
+   macop.callbacks.base
+   macop.callbacks.classicals
+   macop.callbacks.multi
+   macop.callbacks.policies
 
 macop.evaluators
 -------------------
@@ -35,7 +31,8 @@ macop.evaluators
 .. autosummary::
    :toctree: macop
    
-   macop.evaluators.EvaluatorExample
+   macop.evaluators
+   macop.evaluators.knapsacks
 
 macop.operators
 -------------------
@@ -43,19 +40,14 @@ macop.operators
 .. autosummary::
    :toctree: macop
    
-   macop.operators.crossovers.Crossover
-   macop.operators.crossovers.RandomSplitCrossover
-   macop.operators.crossovers.SimpleCrossover
+   macop.operators.base
+   
+   macop.operators.discrete.mutators
+   macop.operators.discrete.crossovers
 
-   macop.operators.mutators.Mutation
-   macop.operators.mutators.SimpleBinaryMutation
-   macop.operators.mutators.SimpleMutation
+   macop.operators.continuous.mutators
+   macop.operators.continuous.crossovers
 
-   macop.operators.policies.Policy
-   macop.operators.policies.RandomPolicy
-   macop.operators.policies.UCBPolicy
-   
-   macop.operators.Operator
 
 macop.solution
 -------------------
@@ -63,7 +55,6 @@ macop.solution
 .. autosummary::
    :toctree: macop
 
-   macop.solutions.BinarySolution
-   macop.solutions.CombinatoryIntegerSolution
-   macop.solutions.IntegerSolution
-   macop.solutions.Solution
+   macop.solutions.base
+   macop.solutions.discrete
+   macop.solutions.continuous

+ 22 - 0
docs/build/html/_sources/macop/macop.algorithms.base.rst.txt

@@ -0,0 +1,22 @@
+macop.algorithms.base
+=====================
+
+.. automodule:: macop.algorithms.base
+
+   
+   
+   
+
+   
+   
+   .. rubric:: Classes
+
+   .. autosummary::
+   
+      Algorithm
+   
+   
+
+   
+   
+   

+ 0 - 22
docs/build/html/_sources/macop/macop.algorithms.mono.HillClimberBestImprovment.rst.txt

@@ -1,22 +0,0 @@
-macop.algorithms.mono.HillClimberBestImprovment
-===============================================
-
-.. automodule:: macop.algorithms.mono.HillClimberBestImprovment
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      HillClimberBestImprovment
-   
-   
-
-   
-   
-   

+ 0 - 22
docs/build/html/_sources/macop/macop.algorithms.mono.HillClimberFirstImprovment.rst.txt

@@ -1,22 +0,0 @@
-macop.algorithms.mono.HillClimberFirstImprovment
-================================================
-
-.. automodule:: macop.algorithms.mono.HillClimberFirstImprovment
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      HillClimberFirstImprovment
-   
-   
-
-   
-   
-   

+ 0 - 22
docs/build/html/_sources/macop/macop.algorithms.mono.IteratedLocalSearch.rst.txt

@@ -1,22 +0,0 @@
-macop.algorithms.mono.IteratedLocalSearch
-=========================================
-
-.. automodule:: macop.algorithms.mono.IteratedLocalSearch
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      IteratedLocalSearch
-   
-   
-
-   
-   
-   

+ 24 - 0
docs/build/html/_sources/macop/macop.algorithms.mono.rst.txt

@@ -0,0 +1,24 @@
+macop.algorithms.mono
+=====================
+
+.. automodule:: macop.algorithms.mono
+
+   
+   
+   
+
+   
+   
+   .. rubric:: Classes
+
+   .. autosummary::
+   
+      HillClimberBestImprovment
+      HillClimberFirstImprovment
+      IteratedLocalSearch
+   
+   
+
+   
+   
+   

+ 0 - 22
docs/build/html/_sources/macop/macop.algorithms.multi.MOSubProblem.rst.txt

@@ -1,22 +0,0 @@
-macop.algorithms.multi.MOSubProblem
-===================================
-
-.. automodule:: macop.algorithms.multi.MOSubProblem
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      MOSubProblem
-   
-   
-
-   
-   
-   

+ 4 - 3
docs/build/html/_sources/macop/macop.algorithms.multi.MOEAD.rst.txt

@@ -1,7 +1,7 @@
-macop.algorithms.multi.MOEAD
-============================
+macop.algorithms.multi
+======================
 
-.. automodule:: macop.algorithms.multi.MOEAD
+.. automodule:: macop.algorithms.multi
 
    
    
@@ -20,6 +20,7 @@ macop.algorithms.multi.MOEAD
    .. autosummary::
    
       MOEAD
+      MOSubProblem
    
    
 

+ 0 - 22
docs/build/html/_sources/macop/macop.callbacks.BasicCheckpoint.rst.txt

@@ -1,22 +0,0 @@
-macop.callbacks.BasicCheckpoint
-===============================
-
-.. automodule:: macop.callbacks.BasicCheckpoint
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      BasicCheckpoint
-   
-   
-
-   
-   
-   

+ 0 - 22
docs/build/html/_sources/macop/macop.callbacks.MultiCheckpoint.rst.txt

@@ -1,22 +0,0 @@
-macop.callbacks.MultiCheckpoint
-===============================
-
-.. automodule:: macop.callbacks.MultiCheckpoint
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      MultiCheckpoint
-   
-   
-
-   
-   
-   

+ 0 - 22
docs/build/html/_sources/macop/macop.callbacks.ParetoCheckpoint.rst.txt

@@ -1,22 +0,0 @@
-macop.callbacks.ParetoCheckpoint
-================================
-
-.. automodule:: macop.callbacks.ParetoCheckpoint
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      ParetoCheckpoint
-   
-   
-
-   
-   
-   

+ 0 - 22
docs/build/html/_sources/macop/macop.callbacks.UCBCheckpoint.rst.txt

@@ -1,22 +0,0 @@
-macop.callbacks.UCBCheckpoint
-=============================
-
-.. automodule:: macop.callbacks.UCBCheckpoint
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      UCBCheckpoint
-   
-   
-
-   
-   
-   

+ 3 - 3
docs/build/html/_sources/macop/macop.callbacks.Callback.rst.txt

@@ -1,7 +1,7 @@
-macop.callbacks.Callback
-========================
+macop.callbacks.base
+====================
 
-.. automodule:: macop.callbacks.Callback
+.. automodule:: macop.callbacks.base
 
    
    

+ 3 - 3
docs/build/html/_sources/macop/macop.algorithms.Algorithm.rst.txt

@@ -1,7 +1,7 @@
-macop.algorithms.Algorithm
+macop.callbacks.classicals
 ==========================
 
-.. automodule:: macop.algorithms.Algorithm
+.. automodule:: macop.callbacks.classicals
 
    
    
@@ -13,7 +13,7 @@ macop.algorithms.Algorithm
 
    .. autosummary::
    
-      Algorithm
+      BasicCheckpoint
    
    
 

+ 23 - 0
docs/build/html/_sources/macop/macop.callbacks.multi.rst.txt

@@ -0,0 +1,23 @@
+macop.callbacks.multi
+=====================
+
+.. automodule:: macop.callbacks.multi
+
+   
+   
+   
+
+   
+   
+   .. rubric:: Classes
+
+   .. autosummary::
+   
+      MultiCheckpoint
+      ParetoCheckpoint
+   
+   
+
+   
+   
+   

+ 3 - 3
docs/build/html/_sources/macop/macop.solutions.Solution.rst.txt

@@ -1,7 +1,7 @@
-macop.solutions.Solution
+macop.callbacks.policies
 ========================
 
-.. automodule:: macop.solutions.Solution
+.. automodule:: macop.callbacks.policies
 
    
    
@@ -13,7 +13,7 @@ macop.solutions.Solution
 
    .. autosummary::
    
-      Solution
+      UCBCheckpoint
    
    
 

+ 0 - 22
docs/build/html/_sources/macop/macop.evaluators.EvaluatorExample.rst.txt

@@ -1,22 +0,0 @@
-macop.evaluators.EvaluatorExample
-=================================
-
-.. automodule:: macop.evaluators.EvaluatorExample
-
-   
-   
-   .. rubric:: Functions
-
-   .. autosummary::
-   
-      evaluatorExample
-   
-   
-
-   
-   
-   
-
-   
-   
-   

+ 23 - 0
docs/build/html/_sources/macop/macop.evaluators.knapsacks.rst.txt

@@ -0,0 +1,23 @@
+macop.evaluators.knapsacks
+==========================
+
+.. automodule:: macop.evaluators.knapsacks
+
+   
+   
+   
+
+   
+   
+   .. rubric:: Classes
+
+   .. autosummary::
+   
+      KnapsackEvaluator
+      KnapsackMultiEvaluator
+   
+   
+
+   
+   
+   

+ 16 - 0
docs/build/html/_sources/macop/macop.evaluators.rst.txt

@@ -0,0 +1,16 @@
+macop.evaluators
+================
+
+.. automodule:: macop.evaluators
+
+   
+   
+   
+
+   
+   
+   
+
+   
+   
+   

+ 5 - 3
docs/build/html/_sources/macop/macop.operators.Operator.rst.txt

@@ -1,7 +1,7 @@
-macop.operators.Operator
-========================
+macop.operators.base
+====================
 
-.. automodule:: macop.operators.Operator
+.. automodule:: macop.operators.base
 
    
    
@@ -13,7 +13,9 @@ macop.operators.Operator
 
    .. autosummary::
    
+      Crossover
       KindOperator
+      Mutation
       Operator
    
    

+ 16 - 0
docs/build/html/_sources/macop/macop.operators.continuous.crossovers.rst.txt

@@ -0,0 +1,16 @@
+macop.operators.continuous.crossovers
+=====================================
+
+.. automodule:: macop.operators.continuous.crossovers
+
+   
+   
+   
+
+   
+   
+   
+
+   
+   
+   

+ 16 - 0
docs/build/html/_sources/macop/macop.operators.continuous.mutators.rst.txt

@@ -0,0 +1,16 @@
+macop.operators.continuous.mutators
+===================================
+
+.. automodule:: macop.operators.continuous.mutators
+
+   
+   
+   
+
+   
+   
+   
+
+   
+   
+   

+ 0 - 22
docs/build/html/_sources/macop/macop.operators.crossovers.Crossover.rst.txt

@@ -1,22 +0,0 @@
-macop.operators.crossovers.Crossover
-====================================
-
-.. automodule:: macop.operators.crossovers.Crossover
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      Crossover
-   
-   
-
-   
-   
-   

+ 0 - 0
docs/build/html/_sources/macop/macop.operators.crossovers.RandomSplitCrossover.rst.txt


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff