Parcourir la source

add of workflow docs process

Jérôme BUISINE il y a 3 ans
Parent
commit
630c65ef12
100 fichiers modifiés avec 21 ajouts et 9008 suppressions
  1. 19 0
      .github/workflows/docs.yml
  2. 2 2
      .gitignore
  3. BIN
      docs/build/doctrees/api.doctree
  4. BIN
      docs/build/doctrees/contributing.doctree
  5. BIN
      docs/build/doctrees/description.doctree
  6. BIN
      docs/build/doctrees/documentations/index.doctree
  7. BIN
      docs/build/doctrees/documentations/introduction.doctree
  8. BIN
      docs/build/doctrees/documentations/problem.doctree
  9. BIN
      docs/build/doctrees/documentations/solutions.doctree
  10. BIN
      docs/build/doctrees/environment.pickle
  11. BIN
      docs/build/doctrees/examples.doctree
  12. BIN
      docs/build/doctrees/index.doctree
  13. BIN
      docs/build/doctrees/macop/macop.algorithms.base.doctree
  14. BIN
      docs/build/doctrees/macop/macop.algorithms.mono.doctree
  15. BIN
      docs/build/doctrees/macop/macop.algorithms.multi.doctree
  16. BIN
      docs/build/doctrees/macop/macop.callbacks.base.doctree
  17. BIN
      docs/build/doctrees/macop/macop.callbacks.classicals.doctree
  18. BIN
      docs/build/doctrees/macop/macop.callbacks.multi.doctree
  19. BIN
      docs/build/doctrees/macop/macop.callbacks.policies.doctree
  20. BIN
      docs/build/doctrees/macop/macop.evaluators.base.doctree
  21. BIN
      docs/build/doctrees/macop/macop.evaluators.discrete.mono.doctree
  22. BIN
      docs/build/doctrees/macop/macop.evaluators.discrete.multi.doctree
  23. BIN
      docs/build/doctrees/macop/macop.operators.base.doctree
  24. BIN
      docs/build/doctrees/macop/macop.operators.continuous.crossovers.doctree
  25. BIN
      docs/build/doctrees/macop/macop.operators.continuous.mutators.doctree
  26. BIN
      docs/build/doctrees/macop/macop.operators.discrete.crossovers.doctree
  27. BIN
      docs/build/doctrees/macop/macop.operators.discrete.mutators.doctree
  28. BIN
      docs/build/doctrees/macop/macop.policies.base.doctree
  29. BIN
      docs/build/doctrees/macop/macop.policies.classicals.doctree
  30. BIN
      docs/build/doctrees/macop/macop.policies.reinforcement.doctree
  31. BIN
      docs/build/doctrees/macop/macop.solutions.base.doctree
  32. BIN
      docs/build/doctrees/macop/macop.solutions.continuous.doctree
  33. BIN
      docs/build/doctrees/macop/macop.solutions.discrete.doctree
  34. BIN
      docs/build/doctrees/macop/macop.utils.progress.doctree
  35. 0 4
      docs/build/html/.buildinfo
  36. BIN
      docs/build/html/_images/knapsack_problem.png
  37. BIN
      docs/build/html/_images/logo_macop.png
  38. BIN
      docs/build/html/_images/logo_macop1.png
  39. 0 214
      docs/build/html/_modules/index.html
  40. 0 514
      docs/build/html/_modules/macop/algorithms/base.html
  41. 0 511
      docs/build/html/_modules/macop/algorithms/mono.html
  42. 0 681
      docs/build/html/_modules/macop/algorithms/multi.html
  43. 0 247
      docs/build/html/_modules/macop/callbacks/base.html
  44. 0 291
      docs/build/html/_modules/macop/callbacks/classicals.html
  45. 0 374
      docs/build/html/_modules/macop/callbacks/multi.html
  46. 0 281
      docs/build/html/_modules/macop/callbacks/policies.html
  47. 0 234
      docs/build/html/_modules/macop/evaluators/base.html
  48. 0 242
      docs/build/html/_modules/macop/evaluators/discrete/mono.html
  49. 0 253
      docs/build/html/_modules/macop/evaluators/discrete/multi.html
  50. 0 262
      docs/build/html/_modules/macop/operators/base.html
  51. 0 342
      docs/build/html/_modules/macop/operators/discrete/crossovers.html
  52. 0 299
      docs/build/html/_modules/macop/operators/discrete/mutators.html
  53. 0 254
      docs/build/html/_modules/macop/policies/base.html
  54. 0 234
      docs/build/html/_modules/macop/policies/classicals.html
  55. 0 341
      docs/build/html/_modules/macop/policies/reinforcement.html
  56. 0 285
      docs/build/html/_modules/macop/solutions/base.html
  57. 0 421
      docs/build/html/_modules/macop/solutions/discrete.html
  58. 0 279
      docs/build/html/_modules/macop/utils/progress.html
  59. 0 79
      docs/build/html/_sources/api.rst.txt
  60. 0 17
      docs/build/html/_sources/contributing.rst.txt
  61. 0 21
      docs/build/html/_sources/description.rst.txt
  62. 0 18
      docs/build/html/_sources/documentations/index.rst.txt
  63. 0 14
      docs/build/html/_sources/documentations/introduction.rst.txt
  64. 0 42
      docs/build/html/_sources/documentations/problem.rst.txt
  65. 0 3
      docs/build/html/_sources/documentations/solutions.rst.txt
  66. 0 626
      docs/build/html/_sources/examples.rst.txt
  67. 0 28
      docs/build/html/_sources/index.rst.txt
  68. 0 22
      docs/build/html/_sources/macop/macop.algorithms.base.rst.txt
  69. 0 24
      docs/build/html/_sources/macop/macop.algorithms.mono.rst.txt
  70. 0 23
      docs/build/html/_sources/macop/macop.algorithms.multi.rst.txt
  71. 0 22
      docs/build/html/_sources/macop/macop.callbacks.base.rst.txt
  72. 0 22
      docs/build/html/_sources/macop/macop.callbacks.classicals.rst.txt
  73. 0 23
      docs/build/html/_sources/macop/macop.callbacks.multi.rst.txt
  74. 0 22
      docs/build/html/_sources/macop/macop.callbacks.policies.rst.txt
  75. 0 22
      docs/build/html/_sources/macop/macop.evaluators.base.rst.txt
  76. 0 22
      docs/build/html/_sources/macop/macop.evaluators.discrete.mono.rst.txt
  77. 0 22
      docs/build/html/_sources/macop/macop.evaluators.discrete.multi.rst.txt
  78. 0 25
      docs/build/html/_sources/macop/macop.operators.base.rst.txt
  79. 0 16
      docs/build/html/_sources/macop/macop.operators.continuous.crossovers.rst.txt
  80. 0 16
      docs/build/html/_sources/macop/macop.operators.continuous.mutators.rst.txt
  81. 0 23
      docs/build/html/_sources/macop/macop.operators.discrete.crossovers.rst.txt
  82. 0 23
      docs/build/html/_sources/macop/macop.operators.discrete.mutators.rst.txt
  83. 0 22
      docs/build/html/_sources/macop/macop.policies.base.rst.txt
  84. 0 22
      docs/build/html/_sources/macop/macop.policies.classicals.rst.txt
  85. 0 22
      docs/build/html/_sources/macop/macop.policies.reinforcement.rst.txt
  86. 0 22
      docs/build/html/_sources/macop/macop.solutions.base.rst.txt
  87. 0 16
      docs/build/html/_sources/macop/macop.solutions.continuous.rst.txt
  88. 0 24
      docs/build/html/_sources/macop/macop.solutions.discrete.rst.txt
  89. 0 30
      docs/build/html/_sources/macop/macop.utils.progress.rst.txt
  90. 0 764
      docs/build/html/_static/basic.css
  91. 0 1
      docs/build/html/_static/css/badge_only.css
  92. 0 15
      docs/build/html/_static/css/custom.css
  93. 0 6
      docs/build/html/_static/css/theme.css
  94. 0 314
      docs/build/html/_static/doctools.js
  95. BIN
      docs/build/html/_static/documentation/knapsack_problem.png
  96. 0 10
      docs/build/html/_static/documentation_options.js
  97. BIN
      docs/build/html/_static/file.png
  98. BIN
      docs/build/html/_static/fonts/Inconsolata-Bold.ttf
  99. BIN
      docs/build/html/_static/fonts/Inconsolata-Regular.ttf
  100. 0 0
      docs/build/html/_static/fonts/Inconsolata.ttf

+ 19 - 0
.github/workflows/docs.yml

@@ -0,0 +1,19 @@
+name: Packages Docs
+on:
+  push:
+    branches:
+      - master
+      - develop
+
+jobs:
+  build-test-deploy:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+      - run: bash build.sh
+      - name: Deploy
+        uses: crazy-max/ghaction-github-pages@v1
+        with:
+          target_branch: gh-pages
+          build_dir: docs/build

+ 2 - 2
.gitignore

@@ -60,6 +60,6 @@ target/
 
 data
 examples/data
-!docs/build
+docs/build
 .vscode
-.python-version
+.python-version

BIN
docs/build/doctrees/api.doctree


BIN
docs/build/doctrees/contributing.doctree


BIN
docs/build/doctrees/description.doctree


BIN
docs/build/doctrees/documentations/index.doctree


BIN
docs/build/doctrees/documentations/introduction.doctree


BIN
docs/build/doctrees/documentations/problem.doctree


BIN
docs/build/doctrees/documentations/solutions.doctree


BIN
docs/build/doctrees/environment.pickle


BIN
docs/build/doctrees/examples.doctree


BIN
docs/build/doctrees/index.doctree


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


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


BIN
docs/build/doctrees/macop/macop.algorithms.multi.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.base.doctree


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


BIN
docs/build/doctrees/macop/macop.evaluators.discrete.multi.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.discrete.crossovers.doctree


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


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


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


BIN
docs/build/doctrees/macop/macop.policies.reinforcement.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


BIN
docs/build/doctrees/macop/macop.utils.progress.doctree


+ 0 - 4
docs/build/html/.buildinfo

@@ -1,4 +0,0 @@
-# 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: b85766781a01c8416448700b5c178919
-tags: 645f666f9bcd5a90fca523b33c5a78b7

BIN
docs/build/html/_images/knapsack_problem.png


BIN
docs/build/html/_images/logo_macop.png


BIN
docs/build/html/_images/logo_macop1.png


+ 0 - 214
docs/build/html/_modules/index.html

@@ -1,214 +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>Overview: module code &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="stylesheet" href="../_static/css/custom.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="../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../documentations/index.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>Overview: module code</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>All modules for which code is available</h1>
-<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/base.html">macop.evaluators.base</a></li>
-<li><a href="macop/evaluators/discrete/mono.html">macop.evaluators.discrete.mono</a></li>
-<li><a href="macop/evaluators/discrete/multi.html">macop.evaluators.discrete.multi</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/policies/base.html">macop.policies.base</a></li>
-<li><a href="macop/policies/classicals.html">macop.policies.classicals</a></li>
-<li><a href="macop/policies/reinforcement.html">macop.policies.reinforcement</a></li>
-<li><a href="macop/solutions/base.html">macop.solutions.base</a></li>
-<li><a href="macop/solutions/discrete.html">macop.solutions.discrete</a></li>
-<li><a href="macop/utils/progress.html">macop.utils.progress</a></li>
-</ul>
-
-           </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 - 514
docs/build/html/_modules/macop/algorithms/base.html


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


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


+ 0 - 247
docs/build/html/_modules/macop/callbacks/base.html

@@ -1,247 +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.base &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="stylesheet" href="../../../_static/css/custom.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="../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../documentations/index.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.base</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.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>
-<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>
-
-
-<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>
-
-<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>
-    <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">every</span><span class="p">,</span> <span class="n">filepath</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="kc">None</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_every</span> <span class="o">=</span> <span class="n">every</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span> <span class="o">=</span> <span class="n">filepath</span>
-
-        <span class="c1"># build path if not already exists</span>
-        <span class="n">head</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</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">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.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>
-<span class="sd">            algo: {Algorithm} -- main algorithm instance reference</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 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.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>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">pass</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 - 291
docs/build/html/_modules/macop/callbacks/classicals.html


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


+ 0 - 281
docs/build/html/_modules/macop/callbacks/policies.html

@@ -1,281 +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.policies &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="stylesheet" href="../../../_static/css/custom.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="../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../documentations/index.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.policies</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.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>
-
-<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="c1"># module imports</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.progress</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.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 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.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>
-        <span class="c1"># get current population</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;UCB 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="n">rewardsLine</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-
-                <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">r</span> <span class="ow">in</span> <span class="nb">enumerate</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">_policy</span><span class="o">.</span><span class="n">_rewards</span><span class="p">):</span>
-                    <span class="n">rewardsLine</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="p">)</span>
-
-                    <span class="k">if</span> <span class="n">i</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">_policy</span><span class="o">.</span><span class="n">_rewards</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>
-                        <span class="n">rewardsLine</span> <span class="o">+=</span> <span class="s1">&#39;;&#39;</span>
-
-                <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">rewardsLine</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
-
-                <span class="n">occurrencesLine</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-
-                <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">o</span> <span class="ow">in</span> <span class="nb">enumerate</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">_policy</span><span class="o">.</span><span class="n">_occurences</span><span class="p">):</span>
-                    <span class="n">occurrencesLine</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">o</span><span class="p">)</span>
-
-                    <span class="k">if</span> <span class="n">i</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">_policy</span><span class="o">.</span><span class="n">_occurences</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>
-                        <span class="n">occurrencesLine</span> <span class="o">+=</span> <span class="s1">&#39;;&#39;</span>
-
-                <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.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>
-        <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 UCB data&#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="n">lines</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span>
-                <span class="c1"># read data for each line</span>
-                <span class="n">rewardsLine</span> <span class="o">=</span> <span class="n">lines</span><span class="p">[</span><span class="mi">0</span><span class="p">]</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="n">occurrencesLine</span> <span class="o">=</span> <span class="n">lines</span><span class="p">[</span><span class="mi">1</span><span class="p">]</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="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_policy</span><span class="o">.</span><span class="n">_rewards</span> <span class="o">=</span> <span class="p">[</span>
-                    <span class="nb">float</span><span class="p">(</span><span class="n">f</span><span class="p">)</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">rewardsLine</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="p">]</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_policy</span><span class="o">.</span><span class="n">_occurences</span> <span class="o">=</span> <span class="p">[</span>
-                    <span class="nb">float</span><span class="p">(</span><span class="n">f</span><span class="p">)</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">occurrencesLine</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="p">]</span>
-            
-            <span class="n">macop_text</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="p">,</span> <span class="sa">f</span><span class="s1">&#39;Load of available UCB policy data 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="n">macop_text</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="p">,</span> <span class="s1">&#39;No UCB data found, use default UCB policy&#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 UCB data found...&quot;</span><span class="p">)</span>
-
-        <span class="n">macop_line</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_algo</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 - 234
docs/build/html/_modules/macop/evaluators/base.html

@@ -1,234 +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.base &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="stylesheet" href="../../../_static/css/custom.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="../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../documentations/index.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.base</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.base</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Abstract Evaluator class for computing fitness score associated to a solution</span>
-
-<span class="sd">- stores into its `_data` dictionary attritute required measures when computing a solution</span>
-<span class="sd">- `compute` abstract method enable to compute and associate a score to a given solution</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>
-
-
-<div class="viewcode-block" id="Evaluator"><a class="viewcode-back" href="../../../macop/macop.evaluators.base.html#macop.evaluators.base.Evaluator">[docs]</a><span class="k">class</span> <span class="nc">Evaluator</span><span class="p">():</span>
-    <span class="sd">&quot;&quot;&quot;Abstract Evaluator class which enables to compute solution using specific `_data` </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="bp">self</span><span class="o">.</span><span class="n">_data</span> <span class="o">=</span> <span class="n">data</span>
-
-<div class="viewcode-block" id="Evaluator.compute"><a class="viewcode-back" href="../../../macop/macop.evaluators.base.html#macop.evaluators.base.Evaluator.compute">[docs]</a>    <span class="nd">@abstractmethod</span>
-    <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">        Fitness is a float value for mono-objective or set of float values if multi-objective evaluation</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            solution: {Solution} -- Solution instance</span>
-
-<span class="sd">        Return:</span>
-<span class="sd">            {float} -- computed solution score (float or set of float if multi-objective evaluation)</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">pass</span></div>
-
-<div class="viewcode-block" id="Evaluator.setAlgo"><a class="viewcode-back" href="../../../macop/macop.evaluators.base.html#macop.evaluators.base.Evaluator.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 evaluator reference of the whole algorithm</span>
-<span class="sd">           The reason is to better manage evaluator instance if necessary</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 - 242
docs/build/html/_modules/macop/evaluators/discrete/mono.html

@@ -1,242 +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.discrete.mono &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="stylesheet" href="../../../../_static/css/custom.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="../../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../documentations/index.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.discrete.mono</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.discrete.mono</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">..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.discrete.mono.html#macop.evaluators.discrete.mono.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">    - `compute` method enables to compute and associate a score to a given knapsack solution</span>
-
-<span class="sd">    Example:</span>
-
-<span class="sd">    &gt;&gt;&gt; import random</span>
-<span class="sd">    &gt;&gt;&gt; # binary solution import</span>
-<span class="sd">    &gt;&gt;&gt; from macop.solutions.discrete import BinarySolution</span>
-<span class="sd">    &gt;&gt;&gt; # evaluator import</span>
-<span class="sd">    &gt;&gt;&gt; from macop.evaluators.discrete.mono import KnapsackEvaluator</span>
-<span class="sd">    &gt;&gt;&gt; solution_data = [1, 0, 0, 1, 1, 0, 1, 0]</span>
-<span class="sd">    &gt;&gt;&gt; size = len(solution_data)</span>
-<span class="sd">    &gt;&gt;&gt; solution = BinarySolution(solution_data, size)</span>
-<span class="sd">    &gt;&gt;&gt; # evaluator initialization (worths objects passed into data)</span>
-<span class="sd">    &gt;&gt;&gt; worths = [ random.randint(5, 20) for i in range(size) ]</span>
-<span class="sd">    &gt;&gt;&gt; evaluator = KnapsackEvaluator(data={&#39;worths&#39;: worths})</span>
-<span class="sd">    &gt;&gt;&gt; # compute solution score</span>
-<span class="sd">    &gt;&gt;&gt; evaluator.compute(solution)</span>
-<span class="sd">    40</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-
-<div class="viewcode-block" id="KnapsackEvaluator.compute"><a class="viewcode-back" href="../../../../macop/macop.evaluators.discrete.mono.html#macop.evaluators.discrete.mono.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>
-</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 - 253
docs/build/html/_modules/macop/evaluators/discrete/multi.html


+ 0 - 262
docs/build/html/_modules/macop/operators/base.html

@@ -1,262 +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.base &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="stylesheet" href="../../../_static/css/custom.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="../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../documentations/index.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.base</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.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>
-
-
-<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.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.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>
-
-<span class="sd">        Args:</span>
-<span class="sd">            solution: {Solution} -- Solution instance</span>
-<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.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>
-
-<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>
-
-
-<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>
-           
-          </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 - 342
docs/build/html/_modules/macop/operators/discrete/crossovers.html

@@ -1,342 +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.discrete.crossovers &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="stylesheet" href="../../../../_static/css/custom.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="../../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../documentations/index.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.discrete.crossovers</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.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="c1"># module imports</span>
-<span class="kn">from</span> <span class="nn">..base</span> <span class="kn">import</span> <span class="n">Crossover</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">    Example:</span>
-
-<span class="sd">    &gt;&gt;&gt; # operators import</span>
-<span class="sd">    &gt;&gt;&gt; from macop.operators.discrete.crossovers import SimpleCrossover</span>
-<span class="sd">    &gt;&gt;&gt; from macop.operators.discrete.mutators import SimpleMutation</span>
-<span class="sd">    &gt;&gt;&gt; # policy import</span>
-<span class="sd">    &gt;&gt;&gt; from macop.policies.reinforcement import UCBPolicy</span>
-<span class="sd">    &gt;&gt;&gt; # solution and algorithm</span>
-<span class="sd">    &gt;&gt;&gt; from macop.solutions.discrete import BinarySolution</span>
-<span class="sd">    &gt;&gt;&gt; from macop.algorithms.mono import IteratedLocalSearch</span>
-<span class="sd">    &gt;&gt;&gt; # evaluator import</span>
-<span class="sd">    &gt;&gt;&gt; from macop.evaluators.discrete.mono import KnapsackEvaluator</span>
-<span class="sd">    &gt;&gt;&gt; # evaluator initialization (worths objects passed into data)</span>
-<span class="sd">    &gt;&gt;&gt; worths = [ random.randint(0, 20) for i in range(10) ]</span>
-<span class="sd">    &gt;&gt;&gt; evaluator = KnapsackEvaluator(data={&#39;worths&#39;: worths})</span>
-<span class="sd">    &gt;&gt;&gt; # validator specification (based on weights of each objects)</span>
-<span class="sd">    &gt;&gt;&gt; weights = [ random.randint(20, 30) for i in range(10) ]</span>
-<span class="sd">    &gt;&gt;&gt; validator = lambda solution: True if sum([weights[i] for i, value in enumerate(solution._data) if value == 1]) &lt; 200 else False</span>
-<span class="sd">    &gt;&gt;&gt; # initializer function with lambda function</span>
-<span class="sd">    &gt;&gt;&gt; initializer = lambda x=10: BinarySolution.random(x, validator)</span>
-<span class="sd">    &gt;&gt;&gt; # operators list with crossover and mutation</span>
-<span class="sd">    &gt;&gt;&gt; simple_crossover = SimpleCrossover()</span>
-<span class="sd">    &gt;&gt;&gt; simple_mutation = SimpleMutation()</span>
-<span class="sd">    &gt;&gt;&gt; operators = [simple_crossover, simple_mutation]</span>
-<span class="sd">    &gt;&gt;&gt; policy = UCBPolicy(operators)</span>
-<span class="sd">    &gt;&gt;&gt; algo = IteratedLocalSearch(initializer, evaluator, operators, policy, validator, maximise=True, verbose=False)</span>
-<span class="sd">    &gt;&gt;&gt; # using best solution, simple crossover is applied</span>
-<span class="sd">    &gt;&gt;&gt; best_solution = algo.run(100)</span>
-<span class="sd">    &gt;&gt;&gt; list(best_solution._data)</span>
-<span class="sd">    [1, 1, 0, 1, 0, 1, 1, 1, 0, 1]</span>
-<span class="sd">    &gt;&gt;&gt; new_solution = initializer()</span>
-<span class="sd">    &gt;&gt;&gt; mutate_solution = simple_crossover.apply(new_solution)</span>
-<span class="sd">    &gt;&gt;&gt; list(mutate_solution._data)</span>
-<span class="sd">    [0, 1, 0, 0, 0, 1, 1, 1, 0, 1]</span>
-<span class="sd">    &quot;&quot;&quot;</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>
-<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">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">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="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">    Example:</span>
-
-<span class="sd">    &gt;&gt;&gt; # operators import</span>
-<span class="sd">    &gt;&gt;&gt; from macop.operators.discrete.crossovers import RandomSplitCrossover</span>
-<span class="sd">    &gt;&gt;&gt; from macop.operators.discrete.mutators import SimpleMutation</span>
-<span class="sd">    &gt;&gt;&gt; # policy import</span>
-<span class="sd">    &gt;&gt;&gt; from macop.policies.reinforcement import UCBPolicy</span>
-<span class="sd">    &gt;&gt;&gt; # solution and algorithm</span>
-<span class="sd">    &gt;&gt;&gt; from macop.solutions.discrete import BinarySolution</span>
-<span class="sd">    &gt;&gt;&gt; from macop.algorithms.mono import IteratedLocalSearch</span>
-<span class="sd">    &gt;&gt;&gt; # evaluator import</span>
-<span class="sd">    &gt;&gt;&gt; from macop.evaluators.discrete.mono import KnapsackEvaluator</span>
-<span class="sd">    &gt;&gt;&gt; # evaluator initialization (worths objects passed into data)</span>
-<span class="sd">    &gt;&gt;&gt; worths = [ random.randint(0, 20) for i in range(10) ]</span>
-<span class="sd">    &gt;&gt;&gt; evaluator = KnapsackEvaluator(data={&#39;worths&#39;: worths})</span>
-<span class="sd">    &gt;&gt;&gt; # validator specification (based on weights of each objects)</span>
-<span class="sd">    &gt;&gt;&gt; weights = [ random.randint(20, 30) for i in range(10) ]</span>
-<span class="sd">    &gt;&gt;&gt; validator = lambda solution: True if sum([weights[i] for i, value in enumerate(solution._data) if value == 1]) &lt; 200 else False</span>
-<span class="sd">    &gt;&gt;&gt; # initializer function with lambda function</span>
-<span class="sd">    &gt;&gt;&gt; initializer = lambda x=10: BinarySolution.random(x, validator)</span>
-<span class="sd">    &gt;&gt;&gt; # operators list with crossover and mutation</span>
-<span class="sd">    &gt;&gt;&gt; random_split_crossover = RandomSplitCrossover()</span>
-<span class="sd">    &gt;&gt;&gt; simple_mutation = SimpleMutation()</span>
-<span class="sd">    &gt;&gt;&gt; operators = [random_split_crossover, simple_mutation]</span>
-<span class="sd">    &gt;&gt;&gt; policy = UCBPolicy(operators)</span>
-<span class="sd">    &gt;&gt;&gt; algo = IteratedLocalSearch(initializer, evaluator, operators, policy, validator, maximise=True, verbose=False)</span>
-<span class="sd">    &gt;&gt;&gt; # using best solution, simple crossover is applied</span>
-<span class="sd">    &gt;&gt;&gt; best_solution = algo.run(100)</span>
-<span class="sd">    &gt;&gt;&gt; list(best_solution._data)</span>
-<span class="sd">    [1, 1, 1, 0, 1, 0, 1, 1, 1, 0]</span>
-<span class="sd">    &gt;&gt;&gt; new_solution = initializer()</span>
-<span class="sd">    &gt;&gt;&gt; mutate_solution = random_split_crossover.apply(new_solution)</span>
-<span class="sd">    &gt;&gt;&gt; list(mutate_solution._data)</span>
-<span class="sd">    [1, 0, 0, 1, 1, 0, 0, 1, 0, 0]</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="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">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="n">copy_solution</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 - 299
docs/build/html/_modules/macop/operators/discrete/mutators.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.operators.discrete.mutators &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="stylesheet" href="../../../../_static/css/custom.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="../../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../documentations/index.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.discrete.mutators</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.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">..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.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">    Example:</span>
-
-<span class="sd">    &gt;&gt;&gt; # import of solution and simple mutation operator</span>
-<span class="sd">    &gt;&gt;&gt; from macop.solutions.discrete import BinarySolution</span>
-<span class="sd">    &gt;&gt;&gt; from macop.operators.discrete.mutators import SimpleMutation</span>
-<span class="sd">    &gt;&gt;&gt; solution = BinarySolution.random(5)</span>
-<span class="sd">    &gt;&gt;&gt; list(solution._data)</span>
-<span class="sd">    [1, 0, 0, 0, 1]</span>
-<span class="sd">    &gt;&gt;&gt; mutator = SimpleMutation()</span>
-<span class="sd">    &gt;&gt;&gt; mutation_solution = mutator.apply(solution)</span>
-<span class="sd">    &gt;&gt;&gt; list(mutation_solution._data)</span>
-<span class="sd">    [0, 0, 1, 0, 1]</span>
-<span class="sd">    &quot;&quot;&quot;</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>
-<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">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 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">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">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="k">return</span> <span class="n">copy_solution</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">    Example:</span>
-
-<span class="sd">    &gt;&gt;&gt; # import of solution and simple binary mutation operator</span>
-<span class="sd">    &gt;&gt;&gt; from macop.solutions.discrete import BinarySolution</span>
-<span class="sd">    &gt;&gt;&gt; from macop.operators.discrete.mutators import SimpleBinaryMutation</span>
-<span class="sd">    &gt;&gt;&gt; solution = BinarySolution.random(5)</span>
-<span class="sd">    &gt;&gt;&gt; list(solution._data)</span>
-<span class="sd">    [0, 1, 0, 0, 0]</span>
-<span class="sd">    &gt;&gt;&gt; mutator = SimpleBinaryMutation()</span>
-<span class="sd">    &gt;&gt;&gt; mutation_solution = mutator.apply(solution)</span>
-<span class="sd">    &gt;&gt;&gt; list(mutation_solution._data)</span>
-<span class="sd">    [1, 1, 0, 0, 0]</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>
-           
-          </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 - 254
docs/build/html/_modules/macop/policies/base.html

@@ -1,254 +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.policies.base &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="stylesheet" href="../../../_static/css/custom.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="../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../documentations/index.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.policies.base</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.policies.base</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Abstract classes for Operator Selection Strategy</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.policies.base.html#macop.policies.base.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.policies.base.html#macop.policies.base.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.policies.base.html#macop.policies.base.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.policies.base.html#macop.policies.base.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 - 234
docs/build/html/_modules/macop/policies/classicals.html

@@ -1,234 +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.policies.classicals &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="stylesheet" href="../../../_static/css/custom.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="../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../documentations/index.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.policies.classicals</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.policies.classicals</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Classical policies classes implementations</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">.base</span> <span class="kn">import</span> <span class="n">Policy</span>
-
-
-<div class="viewcode-block" id="RandomPolicy"><a class="viewcode-back" href="../../../macop/macop.policies.classicals.html#macop.policies.classicals.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 from the `operators` list</span>
-
-<span class="sd">    Attributes:</span>
-<span class="sd">        operators: {[Operator]} -- list of selected operators for the algorithm</span>
-
-<span class="sd">    Example:</span>
-
-<span class="sd">    &gt;&gt;&gt; import random</span>
-<span class="sd">    &gt;&gt;&gt; random.seed(42)</span>
-<span class="sd">    &gt;&gt;&gt; from macop.operators.discrete.crossovers import SimpleCrossover</span>
-<span class="sd">    &gt;&gt;&gt; from macop.operators.discrete.mutators import SimpleMutation</span>
-<span class="sd">    &gt;&gt;&gt; from macop.policies.classicals import RandomPolicy</span>
-<span class="sd">    &gt;&gt;&gt; policy = RandomPolicy([SimpleCrossover(), SimpleMutation()])</span>
-<span class="sd">    &gt;&gt;&gt; operator = policy.select()</span>
-<span class="sd">    &gt;&gt;&gt; type(operator).__name__</span>
-<span class="sd">    &#39;SimpleCrossover&#39;</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-<div class="viewcode-block" id="RandomPolicy.select"><a class="viewcode-back" href="../../../macop/macop.policies.classicals.html#macop.policies.classicals.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 - 341
docs/build/html/_modules/macop/policies/reinforcement.html


+ 0 - 285
docs/build/html/_modules/macop/solutions/base.html

@@ -1,285 +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.base &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="stylesheet" href="../../../_static/css/custom.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="../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../documentations/index.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.base</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.base</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Abstract solution class</span>
-<span class="sd">&quot;&quot;&quot;</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">copy</span> <span class="kn">import</span> <span class="n">deepcopy</span>
-
-<div class="viewcode-block" id="Solution"><a class="viewcode-back" href="../../../macop/macop.solutions.base.html#macop.solutions.base.Solution">[docs]</a><span class="k">class</span> <span class="nc">Solution</span><span class="p">():</span>
-    <span class="sd">&quot;&quot;&quot;Base abstract solution class structure</span>
-<span class="sd">    </span>
-<span class="sd">    - stores solution data representation into `data` attribute</span>
-<span class="sd">    - get size (shape) of specific data representation</span>
-<span class="sd">    - stores the score of the solution</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">        Abstract solution class constructor</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="bp">self</span><span class="o">.</span><span class="n">_data</span> <span class="o">=</span> <span class="n">data</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_size</span> <span class="o">=</span> <span class="n">size</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_score</span> <span class="o">=</span> <span class="kc">None</span>
-
-<div class="viewcode-block" id="Solution.isValid"><a class="viewcode-back" href="../../../macop/macop.solutions.base.html#macop.solutions.base.Solution.isValid">[docs]</a>    <span class="k">def</span> <span class="nf">isValid</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">        Use of custom method which validates if solution is valid or not</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">            {bool} -- `True` is solution is valid</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="n">validator</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span></div>
-
-<div class="viewcode-block" id="Solution.evaluate"><a class="viewcode-back" href="../../../macop/macop.solutions.base.html#macop.solutions.base.Solution.evaluate">[docs]</a>    <span class="k">def</span> <span class="nf">evaluate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">evaluator</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Evaluate solution using specific `evaluator`</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            _evaluator: {function} -- specific function which computes fitness of solution</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {float} -- fitness score value</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_score</span> <span class="o">=</span> <span class="n">evaluator</span><span class="o">.</span><span class="n">compute</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_score</span></div>
-
-<div class="viewcode-block" id="Solution.fitness"><a class="viewcode-back" href="../../../macop/macop.solutions.base.html#macop.solutions.base.Solution.fitness">[docs]</a>    <span class="k">def</span> <span class="nf">fitness</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Returns fitness score</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {float} -- fitness score value</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_score</span></div>
-
-<div class="viewcode-block" id="Solution.random"><a class="viewcode-back" href="../../../macop/macop.solutions.base.html#macop.solutions.base.Solution.random">[docs]</a>    <span class="nd">@staticmethod</span>
-    <span class="k">def</span> <span class="nf">random</span><span class="p">(</span><span class="n">size</span><span class="p">,</span> <span class="n">validator</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Initialize solution using random data with validator</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            size: {int} -- expected solution size to generate</span>
-<span class="sd">            validator: {function} -- specific function which validates or not a solution (if None, not validation is applied)</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {Solution} -- generated solution</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="kc">None</span></div>
-
-<div class="viewcode-block" id="Solution.clone"><a class="viewcode-back" href="../../../macop/macop.solutions.base.html#macop.solutions.base.Solution.clone">[docs]</a>    <span class="k">def</span> <span class="nf">clone</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;Clone the current solution and its data, but without keeping evaluated `_score`</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {Solution} -- clone of current solution</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">copy_solution</span> <span class="o">=</span> <span class="n">deepcopy</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
-        <span class="n">copy_solution</span><span class="o">.</span><span class="n">_score</span> <span class="o">=</span> <span class="kc">None</span>
-
-        <span class="k">return</span> <span class="n">copy_solution</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="nb">print</span><span class="p">(</span><span class="s2">&quot;Generic solution with &quot;</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 - 421
docs/build/html/_modules/macop/solutions/discrete.html

@@ -1,421 +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.discrete &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="stylesheet" href="../../../_static/css/custom.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="../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../documentations/index.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.discrete</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.discrete</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Discrete solution classes implementations</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">.base</span> <span class="kn">import</span> <span class="n">Solution</span>
-
-
-<div class="viewcode-block" id="BinarySolution"><a class="viewcode-back" href="../../../macop/macop.solutions.discrete.html#macop.solutions.discrete.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">    - store solution as a binary array (example: [0, 1, 0, 1, 1])</span>
-<span class="sd">    - associated size is the size of the array</span>
-<span class="sd">    - mainly use for selecting or not an element in a list of valuable objects</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">        Example:</span>
-
-<span class="sd">        &gt;&gt;&gt; from macop.solutions.discrete import BinarySolution</span>
-<span class="sd">        &gt;&gt;&gt; # build of a solution using specific data and size</span>
-<span class="sd">        &gt;&gt;&gt; data = [0, 1, 0, 1, 1]</span>
-<span class="sd">        &gt;&gt;&gt; solution = BinarySolution(data, len(data))</span>
-<span class="sd">        &gt;&gt;&gt; # check data content</span>
-<span class="sd">        &gt;&gt;&gt; sum(solution._data) == 3</span>
-<span class="sd">        True</span>
-<span class="sd">        &gt;&gt;&gt; # clone solution</span>
-<span class="sd">        &gt;&gt;&gt; solution_copy = solution.clone()</span>
-<span class="sd">        &gt;&gt;&gt; all(solution_copy._data == solution._data)</span>
-<span class="sd">        True</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">np</span><span class="o">.</span><span class="n">array</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.discrete.html#macop.solutions.discrete.BinarySolution.random">[docs]</a>    <span class="nd">@staticmethod</span>
-    <span class="k">def</span> <span class="nf">random</span><span class="p">(</span><span class="n">size</span><span class="p">,</span> <span class="n">validator</span><span class="o">=</span><span class="kc">None</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">            size: {int} -- expected solution size to generate</span>
-<span class="sd">            validator: {function} -- specific function which validates or not a solution (if None, not validation is applied)</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {BinarySolution} -- new generated binary solution</span>
-
-<span class="sd">        Example:</span>
-
-<span class="sd">        &gt;&gt;&gt; from macop.solutions.discrete import BinarySolution</span>
-<span class="sd">        &gt;&gt;&gt; validator = lambda solution: True if sum(solution._data) &gt; 5 else False</span>
-<span class="sd">        &gt;&gt;&gt; solution = BinarySolution.random(10, validator)</span>
-<span class="sd">        &gt;&gt;&gt; sum(solution._data) &gt; 5</span>
-<span class="sd">        True</span>
-<span class="sd">        &quot;&quot;&quot;</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="n">size</span><span class="p">)</span>
-        <span class="n">solution</span> <span class="o">=</span> <span class="n">BinarySolution</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="k">if</span> <span class="ow">not</span> <span class="n">validator</span><span class="p">:</span>
-            <span class="k">return</span> <span class="n">solution</span>
-
-        <span class="k">while</span> <span class="ow">not</span> <span class="n">validator</span><span class="p">(</span><span class="n">solution</span><span class="p">):</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="n">size</span><span class="p">)</span>
-            <span class="n">solution</span> <span class="o">=</span> <span class="n">BinarySolution</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="k">return</span> <span class="n">solution</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="sa">f</span><span class="s2">&quot;Binary solution </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="si">}</span><span class="s2">&quot;</span></div>
-
-
-
-<div class="viewcode-block" id="CombinatoryIntegerSolution"><a class="viewcode-back" href="../../../macop/macop.solutions.discrete.html#macop.solutions.discrete.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">    - store solution as a binary array (example: [0, 1, 0, 1, 1])</span>
-<span class="sd">    - associated size is the size of the array</span>
-<span class="sd">    - mainly use for selecting or not an element in a list of valuable objects</span>
-
-<span class="sd">    Attributes:</span>
-<span class="sd">        data: {ndarray} --  array of integer values</span>
-<span class="sd">        size: {int} -- size of integer 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 integer solution using specific data</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            data: {ndarray} --  array of integer values</span>
-<span class="sd">            size: {int} -- size of integer array values</span>
-
-<span class="sd">        &gt;&gt;&gt; from macop.solutions.discrete import CombinatoryIntegerSolution</span>
-<span class="sd">        &gt;&gt;&gt; import numpy as np</span>
-<span class="sd">        &gt;&gt;&gt; data = np.arange(5)</span>
-<span class="sd">        &gt;&gt;&gt; solution = CombinatoryIntegerSolution(data, 5)</span>
-<span class="sd">        &gt;&gt;&gt; sum(solution._data) == 10</span>
-<span class="sd">        True</span>
-<span class="sd">        &gt;&gt;&gt; solution_copy = solution.clone()</span>
-<span class="sd">        &gt;&gt;&gt; all(solution_copy._data == solution._data)</span>
-<span class="sd">        True</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.discrete.html#macop.solutions.discrete.CombinatoryIntegerSolution.random">[docs]</a>    <span class="nd">@staticmethod</span>
-    <span class="k">def</span> <span class="nf">random</span><span class="p">(</span><span class="n">size</span><span class="p">,</span> <span class="n">validator</span><span class="o">=</span><span class="kc">None</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">            size: {int} -- expected solution size to generate</span>
-<span class="sd">            validator: {function} -- specific function which validates or not a solution (if None, not validation is applied)</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {CombinatoryIntegerSolution} -- new generated combinatory integer solution</span>
-
-<span class="sd">        Example:</span>
-
-<span class="sd">        &gt;&gt;&gt; from macop.solutions.discrete import CombinatoryIntegerSolution</span>
-<span class="sd">        &gt;&gt;&gt; validator = lambda solution: True if sum(solution._data) &gt; 5 else False</span>
-<span class="sd">        &gt;&gt;&gt; solution = CombinatoryIntegerSolution.random(5, validator)</span>
-<span class="sd">        &gt;&gt;&gt; sum(solution._data) &gt; 5</span>
-<span class="sd">        True</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-
-        <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="n">size</span><span class="p">)</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">data</span><span class="p">)</span>
-        <span class="n">solution</span> <span class="o">=</span> <span class="n">CombinatoryIntegerSolution</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="k">if</span> <span class="ow">not</span> <span class="n">validator</span><span class="p">:</span>
-            <span class="k">return</span> <span class="n">solution</span>
-
-        <span class="k">while</span> <span class="ow">not</span> <span class="n">validator</span><span class="p">(</span><span class="n">solution</span><span class="p">):</span>
-            <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="n">size</span><span class="p">)</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">data</span><span class="p">)</span>
-            <span class="n">solution</span> <span class="o">=</span> <span class="n">CombinatoryIntegerSolution</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="k">return</span> <span class="n">solution</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="sa">f</span><span class="s2">&quot;Combinatory integer solution </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="si">}</span><span class="s2">&quot;</span></div>
-
-
-<div class="viewcode-block" id="IntegerSolution"><a class="viewcode-back" href="../../../macop/macop.solutions.discrete.html#macop.solutions.discrete.IntegerSolution">[docs]</a><span class="k">class</span> <span class="nc">IntegerSolution</span><span class="p">(</span><span class="n">Solution</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    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 integer 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">        Example:</span>
-
-<span class="sd">        &gt;&gt;&gt; from macop.solutions.discrete import IntegerSolution</span>
-<span class="sd">        &gt;&gt;&gt; import numpy as np</span>
-<span class="sd">        &gt;&gt;&gt; np.random.seed(42)</span>
-<span class="sd">        &gt;&gt;&gt; data = np.random.randint(5, size=10)</span>
-<span class="sd">        &gt;&gt;&gt; solution = IntegerSolution(data, 10)</span>
-<span class="sd">        &gt;&gt;&gt; sum(solution._data)</span>
-<span class="sd">        28</span>
-<span class="sd">        &gt;&gt;&gt; solution_copy = solution.clone()</span>
-<span class="sd">        &gt;&gt;&gt; all(solution_copy._data == solution._data)</span>
-<span class="sd">        True</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="IntegerSolution.random"><a class="viewcode-back" href="../../../macop/macop.solutions.discrete.html#macop.solutions.discrete.IntegerSolution.random">[docs]</a>    <span class="nd">@staticmethod</span>
-    <span class="k">def</span> <span class="nf">random</span><span class="p">(</span><span class="n">size</span><span class="p">,</span> <span class="n">validator</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        Intialize integer array with use of validator to generate valid random solution</span>
-
-<span class="sd">        Args:</span>
-<span class="sd">            size: {int} -- expected solution size to generate</span>
-<span class="sd">            validator: {function} -- specific function which validates or not a solution (if None, not validation is applied)</span>
-
-<span class="sd">        Returns:</span>
-<span class="sd">            {IntegerSolution} -- new generated integer solution</span>
-
-<span class="sd">        Example:</span>
-
-<span class="sd">        &gt;&gt;&gt; from macop.solutions.discrete import IntegerSolution</span>
-<span class="sd">        &gt;&gt;&gt; import numpy as np</span>
-<span class="sd">        &gt;&gt;&gt; np.random.seed(42)</span>
-<span class="sd">        &gt;&gt;&gt; validator = lambda solution: True if sum(solution._data) &gt; 5 else False</span>
-<span class="sd">        &gt;&gt;&gt; solution = IntegerSolution.random(5, validator)</span>
-<span class="sd">        &gt;&gt;&gt; sum(solution._data) &gt; 10</span>
-<span class="sd">        True</span>
-<span class="sd">        &quot;&quot;&quot;</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="n">size</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="n">size</span><span class="p">)</span>
-        <span class="n">solution</span> <span class="o">=</span> <span class="n">IntegerSolution</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="k">if</span> <span class="ow">not</span> <span class="n">validator</span><span class="p">:</span>
-            <span class="k">return</span> <span class="n">solution</span>
-
-        <span class="k">while</span> <span class="ow">not</span> <span class="n">validator</span><span class="p">(</span><span class="n">solution</span><span class="p">):</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="n">size</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="n">size</span><span class="p">)</span>
-            <span class="n">solution</span> <span class="o">=</span> <span class="n">IntegerSolution</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="k">return</span> <span class="n">solution</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="sa">f</span><span class="s2">&quot;Integer solution </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="si">}</span><span class="s2">&quot;</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 - 279
docs/build/html/_modules/macop/utils/progress.html

@@ -1,279 +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.utils.progress &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="stylesheet" href="../../../_static/css/custom.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="../../../api.html">API</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../documentations/index.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.utils.progress</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.utils.progress</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;Utils progress `macop` module when verbose enable</span>
-<span class="sd">&quot;&quot;&quot;</span>
-<span class="kn">import</span> <span class="nn">sys</span>
-
-
-<div class="viewcode-block" id="Colors"><a class="viewcode-back" href="../../../macop/macop.utils.progress.html#macop.utils.progress.Colors">[docs]</a><span class="k">class</span> <span class="nc">Colors</span><span class="p">:</span>
-    <span class="sd">&quot;&quot;&quot;Macop color representation</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">ENDC</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="se">\033</span><span class="s1">[m&#39;</span>
-    <span class="n">GREEN</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="se">\033</span><span class="s1">[32m&#39;</span>
-    <span class="n">GREY</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="se">\033</span><span class="s1">[90m&#39;</span></div>
-
-
-<div class="viewcode-block" id="macop_text"><a class="viewcode-back" href="../../../macop/macop.utils.progress.html#macop.utils.progress.macop_text">[docs]</a><span class="k">def</span> <span class="nf">macop_text</span><span class="p">(</span><span class="n">algo</span><span class="p">,</span> <span class="n">msg</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Display Macop message to user interface</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">        algo: {Algorithm} -- current algorithm instance</span>
-<span class="sd">        msg: {str} -- message to display</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="n">algo</span><span class="o">.</span><span class="n">_verbose</span><span class="p">:</span>
-        <span class="nb">print</span><span class="p">(</span><span class="n">Colors</span><span class="o">.</span><span class="n">GREEN</span> <span class="o">+</span> <span class="s1">&#39;M&#39;</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">ENDC</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">GREY</span> <span class="o">+</span> <span class="s1">&#39;acop&#39;</span> \
-        <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">ENDC</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">GREEN</span> <span class="o">+</span> <span class="s1">&#39; :: &#39;</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">ENDC</span> \
-        <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">GREY</span> <span class="o">+</span> <span class="n">msg</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">ENDC</span><span class="p">)</span></div>
-
-
-<div class="viewcode-block" id="macop_line"><a class="viewcode-back" href="../../../macop/macop.utils.progress.html#macop.utils.progress.macop_line">[docs]</a><span class="k">def</span> <span class="nf">macop_line</span><span class="p">(</span><span class="n">algo</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Macop split line</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">        algo: {Algorithm} -- current algorithm instance</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-
-    <span class="k">if</span> <span class="ow">not</span> <span class="n">algo</span><span class="o">.</span><span class="n">_verbose</span><span class="p">:</span>
-        <span class="k">return</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="mi">41</span><span class="p">):</span>
-
-        <span class="k">if</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
-            <span class="n">line</span> <span class="o">+=</span> <span class="n">Colors</span><span class="o">.</span><span class="n">GREEN</span> <span class="o">+</span> <span class="s1">&#39;----&#39;</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">ENDC</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">line</span> <span class="o">+=</span> <span class="n">Colors</span><span class="o">.</span><span class="n">GREY</span> <span class="o">+</span> <span class="s1">&#39;----&#39;</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">ENDC</span>
-
-    <span class="nb">print</span><span class="p">(</span><span class="n">line</span><span class="p">)</span></div>
-
-
-<div class="viewcode-block" id="macop_progress"><a class="viewcode-back" href="../../../macop/macop.utils.progress.html#macop.utils.progress.macop_progress">[docs]</a><span class="k">def</span> <span class="nf">macop_progress</span><span class="p">(</span><span class="n">algo</span><span class="p">,</span> <span class="n">evaluations</span><span class="p">,</span> <span class="nb">max</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Progress line of macop</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">        algo: {Algorithm} -- current algorithm instance</span>
-<span class="sd">        evaluations: {int} -- current number of evaluations</span>
-<span class="sd">        max: {int} -- max number of expected evaluations</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="ow">not</span> <span class="n">algo</span><span class="o">.</span><span class="n">_verbose</span><span class="p">:</span>
-        <span class="k">return</span>
-
-    <span class="n">barWidth</span> <span class="o">=</span> <span class="mi">156</span>
-
-    <span class="n">progress</span> <span class="o">=</span> <span class="n">evaluations</span> <span class="o">/</span> <span class="nb">float</span><span class="p">(</span><span class="nb">max</span><span class="p">)</span>
-
-    <span class="n">output_str</span> <span class="o">=</span> <span class="n">Colors</span><span class="o">.</span><span class="n">GREEN</span> <span class="o">+</span> <span class="s1">&#39;[&#39;</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">ENDC</span>
-    <span class="n">pos</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">barWidth</span> <span class="o">*</span> <span class="n">progress</span><span class="p">)</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="n">barWidth</span><span class="p">):</span>
-        <span class="k">if</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">pos</span><span class="p">:</span>
-            <span class="n">output_str</span> <span class="o">=</span> <span class="n">output_str</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">GREY</span> <span class="o">+</span> <span class="s1">&#39;=&#39;</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">ENDC</span>
-        <span class="k">elif</span> <span class="n">i</span> <span class="o">==</span> <span class="n">pos</span><span class="p">:</span>
-            <span class="n">output_str</span> <span class="o">=</span> <span class="n">output_str</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">GREEN</span> <span class="o">+</span> <span class="s1">&#39;&gt;&#39;</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">ENDC</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">output_str</span> <span class="o">=</span> <span class="n">output_str</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">GREY</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">ENDC</span>
-
-    <span class="n">output_str</span> <span class="o">=</span> <span class="n">output_str</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">GREEN</span> <span class="o">+</span> <span class="s1">&#39;] &#39;</span> <span class="o">+</span> <span class="n">Colors</span><span class="o">.</span><span class="n">ENDC</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span>
-        <span class="nb">int</span><span class="p">(</span><span class="n">progress</span> <span class="o">*</span> <span class="mf">100.0</span><span class="p">))</span> <span class="o">+</span> <span class="s2">&quot;%</span><span class="se">\r</span><span class="s2">&quot;</span>
-    <span class="nb">print</span><span class="p">(</span><span class="n">output_str</span><span class="p">)</span>
-    <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;</span><span class="se">\033</span><span class="s2">[F&quot;</span><span class="p">)</span>
-
-    <span class="c1"># go to line</span>
-    <span class="k">if</span> <span class="n">progress</span> <span class="o">&gt;=</span> <span class="mf">1.</span><span class="p">:</span>
-        <span class="nb">print</span><span class="p">()</span>
-        <span class="nb">print</span><span class="p">(</span><span class="n">macop_line</span><span class="p">(</span><span class="n">algo</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 - 79
docs/build/html/_sources/api.rst.txt

@@ -1,79 +0,0 @@
-API
-=============
-
-macop
--------------------
-
-macop.algorithms
--------------------
-
-.. autosummary::
-   :toctree: macop
-   
-   macop.algorithms.base
-   macop.algorithms.mono
-   macop.algorithms.multi
-
-macop.callbacks
--------------------
-
-.. autosummary::
-   :toctree: macop
-   
-   macop.callbacks.base
-   macop.callbacks.classicals
-   macop.callbacks.multi
-   macop.callbacks.policies
-
-macop.evaluators
--------------------
-
-.. autosummary::
-   :toctree: macop
-   
-   macop.evaluators.base
-   macop.evaluators.discrete.mono
-   macop.evaluators.discrete.multi
-
-macop.operators
--------------------
-
-.. autosummary::
-   :toctree: macop
-   
-   macop.operators.base
-   
-   macop.operators.discrete.mutators
-   macop.operators.discrete.crossovers
-
-   macop.operators.continuous.mutators
-   macop.operators.continuous.crossovers
-
-macop.policies
--------------------
-
-.. autosummary::
-   :toctree: macop
-   
-   macop.policies.base
-   
-   macop.policies.classicals
-   macop.policies.reinforcement
-
-macop.solution
--------------------
-
-.. autosummary::
-   :toctree: macop
-
-   macop.solutions.base
-   macop.solutions.discrete
-   macop.solutions.continuous
-
-macop.utils
--------------------
-
-.. autosummary::
-   :toctree: macop
-
-   macop.utils.progress

+ 0 - 17
docs/build/html/_sources/contributing.rst.txt

@@ -1,17 +0,0 @@
-Contributing
-=====================================
-
-.. image:: _static/logo_macop.png
-   :width: 350 px
-   :align: center
-
-Using GitHub
-------------
-
-This git project uses git-flow_ implementation. You are free to contribute to it.
-
-.. _git-flow: https://danielkummer.github.io/git-flow-cheatsheet/
-
-Please refer to the guidelines_ file if you want more information about process!
-
-.. _guidelines: https://github.com/prise-3d/macop/blob/master/CONTRIBUTING.md 

+ 0 - 21
docs/build/html/_sources/description.rst.txt

@@ -1,21 +0,0 @@
-Description
-=====================================
-
-.. image:: _static/logo_macop.png
-   :width: 350 px
-   :align: center
-
-
-Context
-------------
-
-`macop` is an optimisation Python package which not implement the whole available algorithms in the literature but let you the possibility to quickly develop and test your own algorithm and strategies. The main objective of this package is to be the most flexible as possible and hence, to offer a maximum of implementation possibilities.
-
-Installation
-------------
-
-Just install package using `pip` Python package manager: 
-
-.. code:: bash
-   
-   pip install macop

+ 0 - 18
docs/build/html/_sources/documentations/index.rst.txt

@@ -1,18 +0,0 @@
-Documentation
-==============
-
-.. image:: ../_static/logo_macop.png
-   :width: 300 px
-   :align: center
-
-This documentation will allow a user who wishes to use the Macop optimisation package to understand both how it works and offers examples of how to implement specific needs.
-
-It will gradually take up the major ideas developed within `Macop` to allow for rapid development. You can navigate directly via the menu available below to access a specific part of the documentation.
-
-.. toctree::
-   :maxdepth: 1
-   :caption: Contents:
-
-   introduction
-   problem
-   solutions

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 14
docs/build/html/_sources/documentations/introduction.rst.txt


+ 0 - 42
docs/build/html/_sources/documentations/problem.rst.txt

@@ -1,42 +0,0 @@
-2. Problem instance
-===================
-
-
-In this tutorial, we introduce the way of using `macop` and running your algorithm quickly.
-
-2.1 Problem definition
-~~~~~~~~~~~~~~~~~~~~~~
-
-.. image:: ../_static/documentation/knapsack_problem.png
-   :width:  300 px
-   :align: center
-
-
-
-
-
-2.2 Problem implementation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Hence, we define our problem in Python:
-
-- value of each component of knapsack
-- weight associated to each of these components (objects)
-
-.. code:: python
-    
-    """
-    imports part
-    """
-    import random
-
-    """
-    Problem definition
-    """
-    random.seed(42)
-
-    elements_score = [ random.randint(1, 20) for _ in range(30) ] # value of each object
-    elements_weight = [ random.randint(5, 25) for _ in range(30) ] # weight of each object
-
-First of all we need to define the kind of solution which best represent the problem. As example, we use the well known knapsack problem using 30 objects (solution size of 30).
-

+ 0 - 3
docs/build/html/_sources/documentations/solutions.rst.txt

@@ -1,3 +0,0 @@
-3. Solutions
-=============
-

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 626
docs/build/html/_sources/examples.rst.txt


+ 0 - 28
docs/build/html/_sources/index.rst.txt

@@ -1,28 +0,0 @@
-Minimalist And Customisable Optimisation Package
-================================================
-
-.. image:: _static/logo_macop.png
-   :width: 300 px
-   :align: center
-
-What's `macop` ?
-=================
-
-`macop` is an optimisation Python package which not implement the whole available algorithms in the literature but let you the possibility to quickly develop and test your own algorithm and strategies. The main objective of this package is to be the most flexible as possible and hence, to offer a maximum of implementation possibilities.
-
-.. toctree::
-   :maxdepth: 1
-   :caption: Contents:
-
-   description
-   api
-   documentations/index
-   examples
-   contributing
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@@ -1,22 +0,0 @@
-macop.evaluators.discrete.mono
-==============================
-
-.. automodule:: macop.evaluators.discrete.mono
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      KnapsackEvaluator
-   
-   
-
-   
-   
-   

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

@@ -1,22 +0,0 @@
-macop.evaluators.discrete.multi
-===============================
-
-.. automodule:: macop.evaluators.discrete.multi
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      WeightedSum
-   
-   
-
-   
-   
-   

+ 0 - 25
docs/build/html/_sources/macop/macop.operators.base.rst.txt

@@ -1,25 +0,0 @@
-macop.operators.base
-====================
-
-.. automodule:: macop.operators.base
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      Crossover
-      KindOperator
-      Mutation
-      Operator
-   
-   
-
-   
-   
-   

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

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

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

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

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

@@ -1,23 +0,0 @@
-macop.operators.discrete.crossovers
-===================================
-
-.. automodule:: macop.operators.discrete.crossovers
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      RandomSplitCrossover
-      SimpleCrossover
-   
-   
-
-   
-   
-   

+ 0 - 23
docs/build/html/_sources/macop/macop.operators.discrete.mutators.rst.txt

@@ -1,23 +0,0 @@
-macop.operators.discrete.mutators
-=================================
-
-.. automodule:: macop.operators.discrete.mutators
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      SimpleBinaryMutation
-      SimpleMutation
-   
-   
-
-   
-   
-   

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

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

+ 0 - 22
docs/build/html/_sources/macop/macop.policies.classicals.rst.txt

@@ -1,22 +0,0 @@
-macop.policies.classicals
-=========================
-
-.. automodule:: macop.policies.classicals
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      RandomPolicy
-   
-   
-
-   
-   
-   

+ 0 - 22
docs/build/html/_sources/macop/macop.policies.reinforcement.rst.txt

@@ -1,22 +0,0 @@
-macop.policies.reinforcement
-============================
-
-.. automodule:: macop.policies.reinforcement
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      UCBPolicy
-   
-   
-
-   
-   
-   

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

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

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

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

+ 0 - 24
docs/build/html/_sources/macop/macop.solutions.discrete.rst.txt

@@ -1,24 +0,0 @@
-macop.solutions.discrete
-========================
-
-.. automodule:: macop.solutions.discrete
-
-   
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      BinarySolution
-      CombinatoryIntegerSolution
-      IntegerSolution
-   
-   
-
-   
-   
-   

+ 0 - 30
docs/build/html/_sources/macop/macop.utils.progress.rst.txt

@@ -1,30 +0,0 @@
-macop.utils.progress
-====================
-
-.. automodule:: macop.utils.progress
-
-   
-   
-   .. rubric:: Functions
-
-   .. autosummary::
-   
-      macop_line
-      macop_progress
-      macop_text
-   
-   
-
-   
-   
-   .. rubric:: Classes
-
-   .. autosummary::
-   
-      Colors
-   
-   
-
-   
-   
-   

+ 0 - 764
docs/build/html/_static/basic.css

@@ -1,764 +0,0 @@
-/*
- * basic.css
- * ~~~~~~~~~
- *
- * Sphinx stylesheet -- basic theme.
- *
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-/* -- main layout ----------------------------------------------------------- */
-
-div.clearer {
-    clear: both;
-}
-
-/* -- relbar ---------------------------------------------------------------- */
-
-div.related {
-    width: 100%;
-    font-size: 90%;
-}
-
-div.related h3 {
-    display: none;
-}
-
-div.related ul {
-    margin: 0;
-    padding: 0 0 0 10px;
-    list-style: none;
-}
-
-div.related li {
-    display: inline;
-}
-
-div.related li.right {
-    float: right;
-    margin-right: 5px;
-}
-
-/* -- sidebar --------------------------------------------------------------- */
-
-div.sphinxsidebarwrapper {
-    padding: 10px 5px 0 10px;
-}
-
-div.sphinxsidebar {
-    float: left;
-    width: 230px;
-    margin-left: -100%;
-    font-size: 90%;
-    word-wrap: break-word;
-    overflow-wrap : break-word;
-}
-
-div.sphinxsidebar ul {
-    list-style: none;
-}
-
-div.sphinxsidebar ul ul,
-div.sphinxsidebar ul.want-points {
-    margin-left: 20px;
-    list-style: square;
-}
-
-div.sphinxsidebar ul ul {
-    margin-top: 0;
-    margin-bottom: 0;
-}
-
-div.sphinxsidebar form {
-    margin-top: 10px;
-}
-
-div.sphinxsidebar input {
-    border: 1px solid #98dbcc;
-    font-family: sans-serif;
-    font-size: 1em;
-}
-
-div.sphinxsidebar #searchbox form.search {
-    overflow: hidden;
-}
-
-div.sphinxsidebar #searchbox input[type="text"] {
-    float: left;
-    width: 80%;
-    padding: 0.25em;
-    box-sizing: border-box;
-}
-
-div.sphinxsidebar #searchbox input[type="submit"] {
-    float: left;
-    width: 20%;
-    border-left: none;
-    padding: 0.25em;
-    box-sizing: border-box;
-}
-
-
-img {
-    border: 0;
-    max-width: 100%;
-}
-
-/* -- search page ----------------------------------------------------------- */
-
-ul.search {
-    margin: 10px 0 0 20px;
-    padding: 0;
-}
-
-ul.search li {
-    padding: 5px 0 5px 20px;
-    background-image: url(file.png);
-    background-repeat: no-repeat;
-    background-position: 0 7px;
-}
-
-ul.search li a {
-    font-weight: bold;
-}
-
-ul.search li div.context {
-    color: #888;
-    margin: 2px 0 0 30px;
-    text-align: left;
-}
-
-ul.keywordmatches li.goodmatch a {
-    font-weight: bold;
-}
-
-/* -- index page ------------------------------------------------------------ */
-
-table.contentstable {
-    width: 90%;
-    margin-left: auto;
-    margin-right: auto;
-}
-
-table.contentstable p.biglink {
-    line-height: 150%;
-}
-
-a.biglink {
-    font-size: 1.3em;
-}
-
-span.linkdescr {
-    font-style: italic;
-    padding-top: 5px;
-    font-size: 90%;
-}
-
-/* -- general index --------------------------------------------------------- */
-
-table.indextable {
-    width: 100%;
-}
-
-table.indextable td {
-    text-align: left;
-    vertical-align: top;
-}
-
-table.indextable ul {
-    margin-top: 0;
-    margin-bottom: 0;
-    list-style-type: none;
-}
-
-table.indextable > tbody > tr > td > ul {
-    padding-left: 0em;
-}
-
-table.indextable tr.pcap {
-    height: 10px;
-}
-
-table.indextable tr.cap {
-    margin-top: 10px;
-    background-color: #f2f2f2;
-}
-
-img.toggler {
-    margin-right: 3px;
-    margin-top: 3px;
-    cursor: pointer;
-}
-
-div.modindex-jumpbox {
-    border-top: 1px solid #ddd;
-    border-bottom: 1px solid #ddd;
-    margin: 1em 0 1em 0;
-    padding: 0.4em;
-}
-
-div.genindex-jumpbox {
-    border-top: 1px solid #ddd;
-    border-bottom: 1px solid #ddd;
-    margin: 1em 0 1em 0;
-    padding: 0.4em;
-}
-
-/* -- domain module index --------------------------------------------------- */
-
-table.modindextable td {
-    padding: 2px;
-    border-collapse: collapse;
-}
-
-/* -- general body styles --------------------------------------------------- */
-
-div.body {
-    min-width: 450px;
-    max-width: 800px;
-}
-
-div.body p, div.body dd, div.body li, div.body blockquote {
-    -moz-hyphens: auto;
-    -ms-hyphens: auto;
-    -webkit-hyphens: auto;
-    hyphens: auto;
-}
-
-a.headerlink {
-    visibility: hidden;
-}
-
-a.brackets:before,
-span.brackets > a:before{
-    content: "[";
-}
-
-a.brackets:after,
-span.brackets > a:after {
-    content: "]";
-}
-
-h1:hover > a.headerlink,
-h2:hover > a.headerlink,
-h3:hover > a.headerlink,
-h4:hover > a.headerlink,
-h5:hover > a.headerlink,
-h6:hover > a.headerlink,
-dt:hover > a.headerlink,
-caption:hover > a.headerlink,
-p.caption:hover > a.headerlink,
-div.code-block-caption:hover > a.headerlink {
-    visibility: visible;
-}
-
-div.body p.caption {
-    text-align: inherit;
-}
-
-div.body td {
-    text-align: left;
-}
-
-.first {
-    margin-top: 0 !important;
-}
-
-p.rubric {
-    margin-top: 30px;
-    font-weight: bold;
-}
-
-img.align-left, .figure.align-left, object.align-left {
-    clear: left;
-    float: left;
-    margin-right: 1em;
-}
-
-img.align-right, .figure.align-right, object.align-right {
-    clear: right;
-    float: right;
-    margin-left: 1em;
-}
-
-img.align-center, .figure.align-center, object.align-center {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-img.align-default, .figure.align-default {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-.align-left {
-    text-align: left;
-}
-
-.align-center {
-    text-align: center;
-}
-
-.align-default {
-    text-align: center;
-}
-
-.align-right {
-    text-align: right;
-}
-
-/* -- sidebars -------------------------------------------------------------- */
-
-div.sidebar {
-    margin: 0 0 0.5em 1em;
-    border: 1px solid #ddb;
-    padding: 7px 7px 0 7px;
-    background-color: #ffe;
-    width: 40%;
-    float: right;
-}
-
-p.sidebar-title {
-    font-weight: bold;
-}
-
-/* -- topics ---------------------------------------------------------------- */
-
-div.topic {
-    border: 1px solid #ccc;
-    padding: 7px 7px 0 7px;
-    margin: 10px 0 10px 0;
-}
-
-p.topic-title {
-    font-size: 1.1em;
-    font-weight: bold;
-    margin-top: 10px;
-}
-
-/* -- admonitions ----------------------------------------------------------- */
-
-div.admonition {
-    margin-top: 10px;
-    margin-bottom: 10px;
-    padding: 7px;
-}
-
-div.admonition dt {
-    font-weight: bold;
-}
-
-div.admonition dl {
-    margin-bottom: 0;
-}
-
-p.admonition-title {
-    margin: 0px 10px 5px 0px;
-    font-weight: bold;
-}
-
-div.body p.centered {
-    text-align: center;
-    margin-top: 25px;
-}
-
-/* -- tables ---------------------------------------------------------------- */
-
-table.docutils {
-    border: 0;
-    border-collapse: collapse;
-}
-
-table.align-center {
-    margin-left: auto;
-    margin-right: auto;
-}
-
-table.align-default {
-    margin-left: auto;
-    margin-right: auto;
-}
-
-table caption span.caption-number {
-    font-style: italic;
-}
-
-table caption span.caption-text {
-}
-
-table.docutils td, table.docutils th {
-    padding: 1px 8px 1px 5px;
-    border-top: 0;
-    border-left: 0;
-    border-right: 0;
-    border-bottom: 1px solid #aaa;
-}
-
-table.footnote td, table.footnote th {
-    border: 0 !important;
-}
-
-th {
-    text-align: left;
-    padding-right: 5px;
-}
-
-table.citation {
-    border-left: solid 1px gray;
-    margin-left: 1px;
-}
-
-table.citation td {
-    border-bottom: none;
-}
-
-th > p:first-child,
-td > p:first-child {
-    margin-top: 0px;
-}
-
-th > p:last-child,
-td > p:last-child {
-    margin-bottom: 0px;
-}
-
-/* -- figures --------------------------------------------------------------- */
-
-div.figure {
-    margin: 0.5em;
-    padding: 0.5em;
-}
-
-div.figure p.caption {
-    padding: 0.3em;
-}
-
-div.figure p.caption span.caption-number {
-    font-style: italic;
-}
-
-div.figure p.caption span.caption-text {
-}
-
-/* -- field list styles ----------------------------------------------------- */
-
-table.field-list td, table.field-list th {
-    border: 0 !important;
-}
-
-.field-list ul {
-    margin: 0;
-    padding-left: 1em;
-}
-
-.field-list p {
-    margin: 0;
-}
-
-.field-name {
-    -moz-hyphens: manual;
-    -ms-hyphens: manual;
-    -webkit-hyphens: manual;
-    hyphens: manual;
-}
-
-/* -- hlist styles ---------------------------------------------------------- */
-
-table.hlist td {
-    vertical-align: top;
-}
-
-
-/* -- other body styles ----------------------------------------------------- */
-
-ol.arabic {
-    list-style: decimal;
-}
-
-ol.loweralpha {
-    list-style: lower-alpha;
-}
-
-ol.upperalpha {
-    list-style: upper-alpha;
-}
-
-ol.lowerroman {
-    list-style: lower-roman;
-}
-
-ol.upperroman {
-    list-style: upper-roman;
-}
-
-li > p:first-child {
-    margin-top: 0px;
-}
-
-li > p:last-child {
-    margin-bottom: 0px;
-}
-
-dl.footnote > dt,
-dl.citation > dt {
-    float: left;
-}
-
-dl.footnote > dd,
-dl.citation > dd {
-    margin-bottom: 0em;
-}
-
-dl.footnote > dd:after,
-dl.citation > dd:after {
-    content: "";
-    clear: both;
-}
-
-dl.field-list {
-    display: grid;
-    grid-template-columns: fit-content(30%) auto;
-}
-
-dl.field-list > dt {
-    font-weight: bold;
-    word-break: break-word;
-    padding-left: 0.5em;
-    padding-right: 5px;
-}
-
-dl.field-list > dt:after {
-    content: ":";
-}
-
-dl.field-list > dd {
-    padding-left: 0.5em;
-    margin-top: 0em;
-    margin-left: 0em;
-    margin-bottom: 0em;
-}
-
-dl {
-    margin-bottom: 15px;
-}
-
-dd > p:first-child {
-    margin-top: 0px;
-}
-
-dd ul, dd table {
-    margin-bottom: 10px;
-}
-
-dd {
-    margin-top: 3px;
-    margin-bottom: 10px;
-    margin-left: 30px;
-}
-
-dt:target, span.highlighted {
-    background-color: #fbe54e;
-}
-
-rect.highlighted {
-    fill: #fbe54e;
-}
-
-dl.glossary dt {
-    font-weight: bold;
-    font-size: 1.1em;
-}
-
-.optional {
-    font-size: 1.3em;
-}
-
-.sig-paren {
-    font-size: larger;
-}
-
-.versionmodified {
-    font-style: italic;
-}
-
-.system-message {
-    background-color: #fda;
-    padding: 5px;
-    border: 3px solid red;
-}
-
-.footnote:target  {
-    background-color: #ffa;
-}
-
-.line-block {
-    display: block;
-    margin-top: 1em;
-    margin-bottom: 1em;
-}
-
-.line-block .line-block {
-    margin-top: 0;
-    margin-bottom: 0;
-    margin-left: 1.5em;
-}
-
-.guilabel, .menuselection {
-    font-family: sans-serif;
-}
-
-.accelerator {
-    text-decoration: underline;
-}
-
-.classifier {
-    font-style: oblique;
-}
-
-.classifier:before {
-    font-style: normal;
-    margin: 0.5em;
-    content: ":";
-}
-
-abbr, acronym {
-    border-bottom: dotted 1px;
-    cursor: help;
-}
-
-/* -- code displays --------------------------------------------------------- */
-
-pre {
-    overflow: auto;
-    overflow-y: hidden;  /* fixes display issues on Chrome browsers */
-}
-
-span.pre {
-    -moz-hyphens: none;
-    -ms-hyphens: none;
-    -webkit-hyphens: none;
-    hyphens: none;
-}
-
-td.linenos pre {
-    padding: 5px 0px;
-    border: 0;
-    background-color: transparent;
-    color: #aaa;
-}
-
-table.highlighttable {
-    margin-left: 0.5em;
-}
-
-table.highlighttable td {
-    padding: 0 0.5em 0 0.5em;
-}
-
-div.code-block-caption {
-    padding: 2px 5px;
-    font-size: small;
-}
-
-div.code-block-caption code {
-    background-color: transparent;
-}
-
-div.code-block-caption + div > div.highlight > pre {
-    margin-top: 0;
-}
-
-div.code-block-caption span.caption-number {
-    padding: 0.1em 0.3em;
-    font-style: italic;
-}
-
-div.code-block-caption span.caption-text {
-}
-
-div.literal-block-wrapper {
-    padding: 1em 1em 0;
-}
-
-div.literal-block-wrapper div.highlight {
-    margin: 0;
-}
-
-code.descname {
-    background-color: transparent;
-    font-weight: bold;
-    font-size: 1.2em;
-}
-
-code.descclassname {
-    background-color: transparent;
-}
-
-code.xref, a code {
-    background-color: transparent;
-    font-weight: bold;
-}
-
-h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
-    background-color: transparent;
-}
-
-.viewcode-link {
-    float: right;
-}
-
-.viewcode-back {
-    float: right;
-    font-family: sans-serif;
-}
-
-div.viewcode-block:target {
-    margin: -1px -10px;
-    padding: 0 10px;
-}
-
-/* -- math display ---------------------------------------------------------- */
-
-img.math {
-    vertical-align: middle;
-}
-
-div.body div.math p {
-    text-align: center;
-}
-
-span.eqno {
-    float: right;
-}
-
-span.eqno a.headerlink {
-    position: relative;
-    left: 0px;
-    z-index: 1;
-}
-
-div.math:hover a.headerlink {
-    visibility: visible;
-}
-
-/* -- printout stylesheet --------------------------------------------------- */
-
-@media print {
-    div.document,
-    div.documentwrapper,
-    div.bodywrapper {
-        margin: 0 !important;
-        width: 100%;
-    }
-
-    div.sphinxsidebar,
-    div.related,
-    div.footer,
-    #top-link {
-        display: none;
-    }
-}

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 1
docs/build/html/_static/css/badge_only.css


+ 0 - 15
docs/build/html/_static/css/custom.css

@@ -1,15 +0,0 @@
-.wy-nav-content {
-    max-width: 100% !important;
-}
-
-.wy-side-nav-search {
-    background-color: #009900 !important;
-}
-
-.wy-side-nav-search input[type="text"] {
-    border-color: #FFFFFF !important;
-}
-
-.wy-menu-vertical header, .wy-menu-vertical p.caption {
-    color: #009900 !important;
-}

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 6
docs/build/html/_static/css/theme.css


+ 0 - 314
docs/build/html/_static/doctools.js

@@ -1,314 +0,0 @@
-/*
- * doctools.js
- * ~~~~~~~~~~~
- *
- * Sphinx JavaScript utilities for all documentation.
- *
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-/**
- * select a different prefix for underscore
- */
-$u = _.noConflict();
-
-/**
- * make the code below compatible with browsers without
- * an installed firebug like debugger
-if (!window.console || !console.firebug) {
-  var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
-    "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
-    "profile", "profileEnd"];
-  window.console = {};
-  for (var i = 0; i < names.length; ++i)
-    window.console[names[i]] = function() {};
-}
- */
-
-/**
- * small helper function to urldecode strings
- */
-jQuery.urldecode = function(x) {
-  return decodeURIComponent(x).replace(/\+/g, ' ');
-};
-
-/**
- * small helper function to urlencode strings
- */
-jQuery.urlencode = encodeURIComponent;
-
-/**
- * This function returns the parsed url parameters of the
- * current request. Multiple values per key are supported,
- * it will always return arrays of strings for the value parts.
- */
-jQuery.getQueryParameters = function(s) {
-  if (typeof s === 'undefined')
-    s = document.location.search;
-  var parts = s.substr(s.indexOf('?') + 1).split('&');
-  var result = {};
-  for (var i = 0; i < parts.length; i++) {
-    var tmp = parts[i].split('=', 2);
-    var key = jQuery.urldecode(tmp[0]);
-    var value = jQuery.urldecode(tmp[1]);
-    if (key in result)
-      result[key].push(value);
-    else
-      result[key] = [value];
-  }
-  return result;
-};
-
-/**
- * highlight a given string on a jquery object by wrapping it in
- * span elements with the given class name.
- */
-jQuery.fn.highlightText = function(text, className) {
-  function highlight(node, addItems) {
-    if (node.nodeType === 3) {
-      var val = node.nodeValue;
-      var pos = val.toLowerCase().indexOf(text);
-      if (pos >= 0 &&
-          !jQuery(node.parentNode).hasClass(className) &&
-          !jQuery(node.parentNode).hasClass("nohighlight")) {
-        var span;
-        var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
-        if (isInSVG) {
-          span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
-        } else {
-          span = document.createElement("span");
-          span.className = className;
-        }
-        span.appendChild(document.createTextNode(val.substr(pos, text.length)));
-        node.parentNode.insertBefore(span, node.parentNode.insertBefore(
-          document.createTextNode(val.substr(pos + text.length)),
-          node.nextSibling));
-        node.nodeValue = val.substr(0, pos);
-        if (isInSVG) {
-          var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
-          var bbox = node.parentElement.getBBox();
-          rect.x.baseVal.value = bbox.x;
-          rect.y.baseVal.value = bbox.y;
-          rect.width.baseVal.value = bbox.width;
-          rect.height.baseVal.value = bbox.height;
-          rect.setAttribute('class', className);
-          addItems.push({
-              "parent": node.parentNode,
-              "target": rect});
-        }
-      }
-    }
-    else if (!jQuery(node).is("button, select, textarea")) {
-      jQuery.each(node.childNodes, function() {
-        highlight(this, addItems);
-      });
-    }
-  }
-  var addItems = [];
-  var result = this.each(function() {
-    highlight(this, addItems);
-  });
-  for (var i = 0; i < addItems.length; ++i) {
-    jQuery(addItems[i].parent).before(addItems[i].target);
-  }
-  return result;
-};
-
-/*
- * backward compatibility for jQuery.browser
- * This will be supported until firefox bug is fixed.
- */
-if (!jQuery.browser) {
-  jQuery.uaMatch = function(ua) {
-    ua = ua.toLowerCase();
-
-    var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
-      /(webkit)[ \/]([\w.]+)/.exec(ua) ||
-      /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
-      /(msie) ([\w.]+)/.exec(ua) ||
-      ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
-      [];
-
-    return {
-      browser: match[ 1 ] || "",
-      version: match[ 2 ] || "0"
-    };
-  };
-  jQuery.browser = {};
-  jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
-}
-
-/**
- * Small JavaScript module for the documentation.
- */
-var Documentation = {
-
-  init : function() {
-    this.fixFirefoxAnchorBug();
-    this.highlightSearchWords();
-    this.initIndexTable();
-    if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
-      this.initOnKeyListeners();
-    }
-  },
-
-  /**
-   * i18n support
-   */
-  TRANSLATIONS : {},
-  PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
-  LOCALE : 'unknown',
-
-  // gettext and ngettext don't access this so that the functions
-  // can safely bound to a different name (_ = Documentation.gettext)
-  gettext : function(string) {
-    var translated = Documentation.TRANSLATIONS[string];
-    if (typeof translated === 'undefined')
-      return string;
-    return (typeof translated === 'string') ? translated : translated[0];
-  },
-
-  ngettext : function(singular, plural, n) {
-    var translated = Documentation.TRANSLATIONS[singular];
-    if (typeof translated === 'undefined')
-      return (n == 1) ? singular : plural;
-    return translated[Documentation.PLURALEXPR(n)];
-  },
-
-  addTranslations : function(catalog) {
-    for (var key in catalog.messages)
-      this.TRANSLATIONS[key] = catalog.messages[key];
-    this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
-    this.LOCALE = catalog.locale;
-  },
-
-  /**
-   * add context elements like header anchor links
-   */
-  addContextElements : function() {
-    $('div[id] > :header:first').each(function() {
-      $('<a class="headerlink">\u00B6</a>').
-      attr('href', '#' + this.id).
-      attr('title', _('Permalink to this headline')).
-      appendTo(this);
-    });
-    $('dt[id]').each(function() {
-      $('<a class="headerlink">\u00B6</a>').
-      attr('href', '#' + this.id).
-      attr('title', _('Permalink to this definition')).
-      appendTo(this);
-    });
-  },
-
-  /**
-   * workaround a firefox stupidity
-   * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
-   */
-  fixFirefoxAnchorBug : function() {
-    if (document.location.hash && $.browser.mozilla)
-      window.setTimeout(function() {
-        document.location.href += '';
-      }, 10);
-  },
-
-  /**
-   * highlight the search words provided in the url in the text
-   */
-  highlightSearchWords : function() {
-    var params = $.getQueryParameters();
-    var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
-    if (terms.length) {
-      var body = $('div.body');
-      if (!body.length) {
-        body = $('body');
-      }
-      window.setTimeout(function() {
-        $.each(terms, function() {
-          body.highlightText(this.toLowerCase(), 'highlighted');
-        });
-      }, 10);
-      $('<p class="highlight-link"><a href="javascript:Documentation.' +
-        'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
-          .appendTo($('#searchbox'));
-    }
-  },
-
-  /**
-   * init the domain index toggle buttons
-   */
-  initIndexTable : function() {
-    var togglers = $('img.toggler').click(function() {
-      var src = $(this).attr('src');
-      var idnum = $(this).attr('id').substr(7);
-      $('tr.cg-' + idnum).toggle();
-      if (src.substr(-9) === 'minus.png')
-        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
-      else
-        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
-    }).css('display', '');
-    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
-        togglers.click();
-    }
-  },
-
-  /**
-   * helper function to hide the search marks again
-   */
-  hideSearchWords : function() {
-    $('#searchbox .highlight-link').fadeOut(300);
-    $('span.highlighted').removeClass('highlighted');
-  },
-
-  /**
-   * make the url absolute
-   */
-  makeURL : function(relativeURL) {
-    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
-  },
-
-  /**
-   * get the current relative url
-   */
-  getCurrentURL : function() {
-    var path = document.location.pathname;
-    var parts = path.split(/\//);
-    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
-      if (this === '..')
-        parts.pop();
-    });
-    var url = parts.join('/');
-    return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
-  },
-
-  initOnKeyListeners: function() {
-    $(document).keyup(function(event) {
-      var activeElementType = document.activeElement.tagName;
-      // don't navigate when in search box or textarea
-      if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
-        switch (event.keyCode) {
-          case 37: // left
-            var prevHref = $('link[rel="prev"]').prop('href');
-            if (prevHref) {
-              window.location.href = prevHref;
-              return false;
-            }
-          case 39: // right
-            var nextHref = $('link[rel="next"]').prop('href');
-            if (nextHref) {
-              window.location.href = nextHref;
-              return false;
-            }
-        }
-      }
-    });
-  }
-};
-
-// quick alias for translations
-_ = Documentation.gettext;
-
-$(document).ready(function() {
-  Documentation.init();
-});

BIN
docs/build/html/_static/documentation/knapsack_problem.png


+ 0 - 10
docs/build/html/_static/documentation_options.js

@@ -1,10 +0,0 @@
-var DOCUMENTATION_OPTIONS = {
-    URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
-    VERSION: 'v1.0.5',
-    LANGUAGE: 'None',
-    COLLAPSE_INDEX: false,
-    FILE_SUFFIX: '.html',
-    HAS_SOURCE: true,
-    SOURCELINK_SUFFIX: '.txt',
-    NAVIGATION_WITH_KEYS: false
-};

BIN
docs/build/html/_static/file.png


BIN
docs/build/html/_static/fonts/Inconsolata-Bold.ttf


BIN
docs/build/html/_static/fonts/Inconsolata-Regular.ttf


+ 0 - 0
docs/build/html/_static/fonts/Inconsolata.ttf


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