Parcourir la source

Current initialization of solution updates

Jérôme BUISINE il y a 3 ans
Parent
commit
0ed780598c
67 fichiers modifiés avec 147 ajouts et 141 suppressions
  1. BIN
      docs/build/doctrees/environment.pickle
  2. 1 1
      docs/build/html/.buildinfo
  3. 2 2
      docs/build/html/_modules/index.html
  4. 5 3
      docs/build/html/_modules/macop/algorithms/Algorithm.html
  5. 4 5
      docs/build/html/_modules/macop/algorithms/mono/IteratedLocalSearch.html
  6. 10 8
      docs/build/html/_modules/macop/algorithms/mono/LocalSearch.html
  7. 2 2
      docs/build/html/_modules/macop/algorithms/multi/MOEAD.html
  8. 2 2
      docs/build/html/_modules/macop/algorithms/multi/MOSubProblem.html
  9. 2 2
      docs/build/html/_modules/macop/callbacks/BasicCheckpoint.html
  10. 2 2
      docs/build/html/_modules/macop/callbacks/Callback.html
  11. 2 2
      docs/build/html/_modules/macop/callbacks/MultiCheckpoint.html
  12. 2 2
      docs/build/html/_modules/macop/callbacks/ParetoCheckpoint.html
  13. 2 2
      docs/build/html/_modules/macop/callbacks/UCBCheckpoint.html
  14. 2 2
      docs/build/html/_modules/macop/evaluators/EvaluatorExample.html
  15. 2 2
      docs/build/html/_modules/macop/operators/Operator.html
  16. 2 2
      docs/build/html/_modules/macop/operators/crossovers/Crossover.html
  17. 2 2
      docs/build/html/_modules/macop/operators/crossovers/RandomSplitCrossover.html
  18. 2 2
      docs/build/html/_modules/macop/operators/crossovers/SimpleCrossover.html
  19. 2 2
      docs/build/html/_modules/macop/operators/mutators/Mutation.html
  20. 2 2
      docs/build/html/_modules/macop/operators/mutators/SimpleBinaryMutation.html
  21. 2 2
      docs/build/html/_modules/macop/operators/mutators/SimpleMutation.html
  22. 2 2
      docs/build/html/_modules/macop/operators/policies/Policy.html
  23. 2 2
      docs/build/html/_modules/macop/operators/policies/RandomPolicy.html
  24. 2 2
      docs/build/html/_modules/macop/operators/policies/UCBPolicy.html
  25. 2 2
      docs/build/html/_modules/macop/solutions/BinarySolution.html
  26. 2 2
      docs/build/html/_modules/macop/solutions/CombinatoryIntegerSolution.html
  27. 2 2
      docs/build/html/_modules/macop/solutions/IntegerSolution.html
  28. 1 1
      docs/build/html/_static/documentation_options.js
  29. 2 2
      docs/build/html/contributing.html
  30. 2 2
      docs/build/html/description.html
  31. 2 2
      docs/build/html/examples.html
  32. 2 2
      docs/build/html/genindex.html
  33. 2 2
      docs/build/html/index.html
  34. 2 2
      docs/build/html/macop.html
  35. 2 2
      docs/build/html/macop/macop.algorithms.Algorithm.html
  36. 2 2
      docs/build/html/macop/macop.algorithms.mono.IteratedLocalSearch.html
  37. 2 2
      docs/build/html/macop/macop.algorithms.mono.LocalSearch.html
  38. 2 2
      docs/build/html/macop/macop.algorithms.multi.MOEAD.html
  39. 2 2
      docs/build/html/macop/macop.algorithms.multi.MOSubProblem.html
  40. 2 2
      docs/build/html/macop/macop.callbacks.BasicCheckpoint.html
  41. 2 2
      docs/build/html/macop/macop.callbacks.Callback.html
  42. 2 2
      docs/build/html/macop/macop.callbacks.MultiCheckpoint.html
  43. 2 2
      docs/build/html/macop/macop.callbacks.ParetoCheckpoint.html
  44. 2 2
      docs/build/html/macop/macop.callbacks.UCBCheckpoint.html
  45. 2 2
      docs/build/html/macop/macop.evaluators.EvaluatorExample.html
  46. 2 2
      docs/build/html/macop/macop.operators.Operator.html
  47. 2 2
      docs/build/html/macop/macop.operators.crossovers.Crossover.html
  48. 2 2
      docs/build/html/macop/macop.operators.crossovers.RandomSplitCrossover.html
  49. 2 2
      docs/build/html/macop/macop.operators.crossovers.SimpleCrossover.html
  50. 2 2
      docs/build/html/macop/macop.operators.mutators.Mutation.html
  51. 2 2
      docs/build/html/macop/macop.operators.mutators.SimpleBinaryMutation.html
  52. 2 2
      docs/build/html/macop/macop.operators.mutators.SimpleMutation.html
  53. 2 2
      docs/build/html/macop/macop.operators.policies.Policy.html
  54. 2 2
      docs/build/html/macop/macop.operators.policies.RandomPolicy.html
  55. 2 2
      docs/build/html/macop/macop.operators.policies.UCBPolicy.html
  56. 2 2
      docs/build/html/macop/macop.solutions.BinarySolution.html
  57. 2 2
      docs/build/html/macop/macop.solutions.CombinatoryIntegerSolution.html
  58. 2 2
      docs/build/html/macop/macop.solutions.IntegerSolution.html
  59. 2 2
      docs/build/html/macop/macop.solutions.Solution.html
  60. BIN
      docs/build/html/objects.inv
  61. 2 2
      docs/build/html/py-modindex.html
  62. 2 2
      docs/build/html/search.html
  63. 2 2
      docs/source/conf.py
  64. 3 1
      macop/algorithms/Algorithm.py
  65. 2 3
      macop/algorithms/mono/IteratedLocalSearch.py
  66. 8 6
      macop/algorithms/mono/LocalSearch.py
  67. 1 1
      setup.py

BIN
docs/build/doctrees/environment.pickle


+ 1 - 1
docs/build/html/.buildinfo

@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 7678a64c62039a05d364f4f8ec254ed0
+config: fe834a91e85372c9d3991c924a0cb9f4
 tags: 645f666f9bcd5a90fca523b33c5a78b7

+ 2 - 2
docs/build/html/_modules/index.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Overview: module code &mdash; macop v0.3.4 documentation</title>
+  <title>Overview: module code &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 5 - 3
docs/build/html/_modules/macop/algorithms/Algorithm.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.algorithms.Algorithm &mdash; macop v0.3.4 documentation</title>
+  <title>macop.algorithms.Algorithm &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           
@@ -193,6 +193,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">validator</span> <span class="o">=</span> <span class="n">_validator</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">callbacks</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">bestSolution</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">currentSolution</span> <span class="o">=</span> <span class="kc">None</span>
 
         <span class="c1"># by default</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">numberOfEvaluations</span> <span class="o">=</span> <span class="mi">0</span>
@@ -242,7 +243,8 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">currentSolution</span><span class="o">.</span><span class="n">evaluate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">evaluator</span><span class="p">)</span>
 
         <span class="c1"># keep in memory best known solution (current solution)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">bestSolution</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">currentSolution</span></div>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bestSolution</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">bestSolution</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">currentSolution</span></div>
 
 <div class="viewcode-block" id="Algorithm.increaseEvaluation"><a class="viewcode-back" href="../../../macop/macop.algorithms.Algorithm.html#macop.algorithms.Algorithm.Algorithm.increaseEvaluation">[docs]</a>    <span class="k">def</span> <span class="nf">increaseEvaluation</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;</span>

+ 4 - 5
docs/build/html/_modules/macop/algorithms/mono/IteratedLocalSearch.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.algorithms.mono.IteratedLocalSearch &mdash; macop v0.3.4 documentation</title>
+  <title>macop.algorithms.mono.IteratedLocalSearch &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           
@@ -194,9 +194,8 @@
         <span class="c1"># enable resuming for ILS</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">resume</span><span class="p">()</span>
 
-        <span class="c1"># initialize solution if no backup</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bestSolution</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">initRun</span><span class="p">()</span>
+        <span class="c1"># initialize current solution</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">initRun</span><span class="p">()</span>
 
         <span class="c1"># passing global evaluation param from ILS</span>
         <span class="n">ls</span> <span class="o">=</span> <span class="n">LocalSearch</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">initializer</span><span class="p">,</span>

+ 10 - 8
docs/build/html/_modules/macop/algorithms/mono/LocalSearch.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.algorithms.mono.LocalSearch &mdash; macop v0.3.4 documentation</title>
+  <title>macop.algorithms.mono.LocalSearch &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           
@@ -189,19 +189,21 @@
         <span class="c1"># by default use of mother method to initialize variables</span>
         <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">_evaluations</span><span class="p">)</span>
 
-        <span class="c1"># initialize solution if no backup</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bestSolution</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">initRun</span><span class="p">()</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">bestSolution</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">bestSolution</span>
 
-        <span class="n">solutionSize</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">bestSolution</span><span class="o">.</span><span class="n">size</span>
+        <span class="c1"># initialize current solution</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">initRun</span><span class="p">()</span>
+
+        <span class="n">solutionSize</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">currentSolution</span><span class="o">.</span><span class="n">size</span>
 
         <span class="c1"># local search algorithm implementation</span>
         <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">stop</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="n">solutionSize</span><span class="p">):</span>
 
-                <span class="c1"># update solution using policy</span>
-                <span class="n">newSolution</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">bestSolution</span><span class="p">)</span>
+                <span class="c1"># update current solution using policy</span>
+                <span class="n">newSolution</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">currentSolution</span><span class="p">)</span>
 
                 <span class="c1"># if better solution than currently, replace it</span>
                 <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">isBetter</span><span class="p">(</span><span class="n">newSolution</span><span class="p">):</span>

+ 2 - 2
docs/build/html/_modules/macop/algorithms/multi/MOEAD.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.algorithms.multi.MOEAD &mdash; macop v0.3.4 documentation</title>
+  <title>macop.algorithms.multi.MOEAD &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/_modules/macop/algorithms/multi/MOSubProblem.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.algorithms.multi.MOSubProblem &mdash; macop v0.3.4 documentation</title>
+  <title>macop.algorithms.multi.MOSubProblem &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
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 v0.3.4 documentation</title>
+  <title>macop.callbacks.BasicCheckpoint &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
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 v0.3.4 documentation</title>
+  <title>macop.callbacks.Callback &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
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 v0.3.4 documentation</title>
+  <title>macop.callbacks.MultiCheckpoint &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/_modules/macop/callbacks/ParetoCheckpoint.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.callbacks.ParetoCheckpoint &mdash; macop v0.3.4 documentation</title>
+  <title>macop.callbacks.ParetoCheckpoint &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
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 v0.3.4 documentation</title>
+  <title>macop.callbacks.UCBCheckpoint &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/_modules/macop/evaluators/EvaluatorExample.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.evaluators.EvaluatorExample &mdash; macop v0.3.4 documentation</title>
+  <title>macop.evaluators.EvaluatorExample &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
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 v0.3.4 documentation</title>
+  <title>macop.operators.Operator &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

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

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.crossovers.Crossover &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.crossovers.Crossover &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

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

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.crossovers.RandomSplitCrossover &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.crossovers.RandomSplitCrossover &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
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 v0.3.4 documentation</title>
+  <title>macop.operators.crossovers.SimpleCrossover &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

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

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.mutators.Mutation &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.mutators.Mutation &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

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

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.mutators.SimpleBinaryMutation &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.mutators.SimpleBinaryMutation &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
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 v0.3.4 documentation</title>
+  <title>macop.operators.mutators.SimpleMutation &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

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

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.policies.Policy &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.policies.Policy &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

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

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.policies.RandomPolicy &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.policies.RandomPolicy &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/_modules/macop/operators/policies/UCBPolicy.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.policies.UCBPolicy &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.policies.UCBPolicy &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/_modules/macop/solutions/BinarySolution.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.solutions.BinarySolution &mdash; macop v0.3.4 documentation</title>
+  <title>macop.solutions.BinarySolution &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/_modules/macop/solutions/CombinatoryIntegerSolution.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.solutions.CombinatoryIntegerSolution &mdash; macop v0.3.4 documentation</title>
+  <title>macop.solutions.CombinatoryIntegerSolution &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/_modules/macop/solutions/IntegerSolution.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.solutions.IntegerSolution &mdash; macop v0.3.4 documentation</title>
+  <title>macop.solutions.IntegerSolution &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 1 - 1
docs/build/html/_static/documentation_options.js

@@ -1,6 +1,6 @@
 var DOCUMENTATION_OPTIONS = {
     URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
-    VERSION: 'v0.3.4',
+    VERSION: 'v0.3.5',
     LANGUAGE: 'None',
     COLLAPSE_INDEX: false,
     FILE_SUFFIX: '.html',

+ 2 - 2
docs/build/html/contributing.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Contributing &mdash; macop v0.3.4 documentation</title>
+  <title>Contributing &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -59,7 +59,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/description.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Description &mdash; macop v0.3.4 documentation</title>
+  <title>Description &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/examples.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Some examples &mdash; macop v0.3.4 documentation</title>
+  <title>Some examples &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/genindex.html

@@ -9,7 +9,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Index &mdash; macop v0.3.4 documentation</title>
+  <title>Index &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -59,7 +59,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/index.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Minimalist And Customizable Optimization Package &mdash; macop v0.3.4 documentation</title>
+  <title>Minimalist And Customizable Optimization Package &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -59,7 +59,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Documentation &mdash; macop v0.3.4 documentation</title>
+  <title>Documentation &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.algorithms.Algorithm.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.algorithms.Algorithm &mdash; macop v0.3.4 documentation</title>
+  <title>macop.algorithms.Algorithm &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.algorithms.mono.IteratedLocalSearch.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.algorithms.mono.IteratedLocalSearch &mdash; macop v0.3.4 documentation</title>
+  <title>macop.algorithms.mono.IteratedLocalSearch &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.algorithms.mono.LocalSearch.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.algorithms.mono.LocalSearch &mdash; macop v0.3.4 documentation</title>
+  <title>macop.algorithms.mono.LocalSearch &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.algorithms.multi.MOEAD.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.algorithms.multi.MOEAD &mdash; macop v0.3.4 documentation</title>
+  <title>macop.algorithms.multi.MOEAD &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.algorithms.multi.MOSubProblem.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.algorithms.multi.MOSubProblem &mdash; macop v0.3.4 documentation</title>
+  <title>macop.algorithms.multi.MOSubProblem &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/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 v0.3.4 documentation</title>
+  <title>macop.callbacks.BasicCheckpoint &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/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 v0.3.4 documentation</title>
+  <title>macop.callbacks.Callback &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/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 v0.3.4 documentation</title>
+  <title>macop.callbacks.MultiCheckpoint &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.callbacks.ParetoCheckpoint.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.callbacks.ParetoCheckpoint &mdash; macop v0.3.4 documentation</title>
+  <title>macop.callbacks.ParetoCheckpoint &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/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 v0.3.4 documentation</title>
+  <title>macop.callbacks.UCBCheckpoint &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.evaluators.EvaluatorExample.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.evaluators.EvaluatorExample &mdash; macop v0.3.4 documentation</title>
+  <title>macop.evaluators.EvaluatorExample &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/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 v0.3.4 documentation</title>
+  <title>macop.operators.Operator &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.operators.crossovers.Crossover.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.crossovers.Crossover &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.crossovers.Crossover &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.operators.crossovers.RandomSplitCrossover.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.crossovers.RandomSplitCrossover &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.crossovers.RandomSplitCrossover &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/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 v0.3.4 documentation</title>
+  <title>macop.operators.crossovers.SimpleCrossover &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.operators.mutators.Mutation.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.mutators.Mutation &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.mutators.Mutation &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.operators.mutators.SimpleBinaryMutation.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.mutators.SimpleBinaryMutation &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.mutators.SimpleBinaryMutation &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/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 v0.3.4 documentation</title>
+  <title>macop.operators.mutators.SimpleMutation &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.operators.policies.Policy.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.policies.Policy &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.policies.Policy &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.operators.policies.RandomPolicy.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.policies.RandomPolicy &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.policies.RandomPolicy &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.operators.policies.UCBPolicy.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.operators.policies.UCBPolicy &mdash; macop v0.3.4 documentation</title>
+  <title>macop.operators.policies.UCBPolicy &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.solutions.BinarySolution.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.solutions.BinarySolution &mdash; macop v0.3.4 documentation</title>
+  <title>macop.solutions.BinarySolution &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.solutions.CombinatoryIntegerSolution.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.solutions.CombinatoryIntegerSolution &mdash; macop v0.3.4 documentation</title>
+  <title>macop.solutions.CombinatoryIntegerSolution &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.solutions.IntegerSolution.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.solutions.IntegerSolution &mdash; macop v0.3.4 documentation</title>
+  <title>macop.solutions.IntegerSolution &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/macop/macop.solutions.Solution.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>macop.solutions.Solution &mdash; macop v0.3.4 documentation</title>
+  <title>macop.solutions.Solution &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

BIN
docs/build/html/objects.inv


+ 2 - 2
docs/build/html/py-modindex.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Python Module Index &mdash; macop v0.3.4 documentation</title>
+  <title>Python Module Index &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -61,7 +61,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/build/html/search.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Search &mdash; macop v0.3.4 documentation</title>
+  <title>Search &mdash; macop v0.3.5 documentation</title>
   
 
   
@@ -59,7 +59,7 @@
             
             
               <div class="version">
-                0.3.4
+                0.3.5
               </div>
             
           

+ 2 - 2
docs/source/conf.py

@@ -23,9 +23,9 @@ copyright = '2020, Jérôme BUISINE'
 author = 'Jérôme BUISINE'
 
 # The short X.Y version
-version = '0.3.4'
+version = '0.3.5'
 # The full version, including alpha/beta/rc tags
-release = 'v0.3.4'
+release = 'v0.3.5'
 
 
 # -- General configuration ---------------------------------------------------

+ 3 - 1
macop/algorithms/Algorithm.py

@@ -40,6 +40,7 @@ class Algorithm():
         self.validator = _validator
         self.callbacks = []
         self.bestSolution = None
+        self.currentSolution = None
 
         # by default
         self.numberOfEvaluations = 0
@@ -89,7 +90,8 @@ class Algorithm():
         self.currentSolution.evaluate(self.evaluator)
 
         # keep in memory best known solution (current solution)
-        self.bestSolution = self.currentSolution
+        if self.bestSolution is None:
+            self.bestSolution = self.currentSolution
 
     def increaseEvaluation(self):
         """

+ 2 - 3
macop/algorithms/mono/IteratedLocalSearch.py

@@ -41,9 +41,8 @@ class IteratedLocalSearch(Algorithm):
         # enable resuming for ILS
         self.resume()
 
-        # initialize solution if no backup
-        if self.bestSolution is None:
-            self.initRun()
+        # initialize current solution
+        self.initRun()
 
         # passing global evaluation param from ILS
         ls = LocalSearch(self.initializer,

+ 8 - 6
macop/algorithms/mono/LocalSearch.py

@@ -36,19 +36,21 @@ class LocalSearch(Algorithm):
         # by default use of mother method to initialize variables
         super().run(_evaluations)
 
-        # initialize solution if no backup
-        if self.bestSolution is None:
-            self.initRun()
+        if self.parent:
+            self.bestSolution = self.parent.bestSolution
 
-        solutionSize = self.bestSolution.size
+        # initialize current solution
+        self.initRun()
+
+        solutionSize = self.currentSolution.size
 
         # local search algorithm implementation
         while not self.stop():
 
             for _ in range(solutionSize):
 
-                # update solution using policy
-                newSolution = self.update(self.bestSolution)
+                # update current solution using policy
+                newSolution = self.update(self.currentSolution)
 
                 # if better solution than currently, replace it
                 if self.isBetter(newSolution):

+ 1 - 1
setup.py

@@ -23,7 +23,7 @@ class TestCommand(distutils.command.check.check):
 
 setup(
     name='macop',
-    version='0.3.4',
+    version='0.3.5',
     description='Minimalist And Customizable Optimization Package',
     long_description=open('README.md').read(),
     long_description_content_type='text/markdown',