Skip to content

Commit 9d803a1

Browse files
committed
Merge branch 'dev'
2 parents bc0f012 + 1a9e6a1 commit 9d803a1

36 files changed

Lines changed: 84 additions & 86 deletions

docs/examples/example_rmnk_moead.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,19 @@
1616
###############################
1717
# Initialize the algorithm #
1818
###############################
19-
number_of_objective = rmnk.function_numbers
2019
number_of_weight = 10
2120
number_of_weight_neighborhood = 20
2221
number_of_evaluations = 1000
2322
# The file is available here : https://github.com/moead-framework/data/blob/master/weights/SOBOL-2objs-10wei.ws
2423
# Others weights files are available here : https://github.com/moead-framework/data/tree/master/weights
25-
weight_file = "SOBOL-" + str(number_of_objective) + "objs-" + str(number_of_weight) + "wei.ws"
24+
weight_file = "SOBOL-" + str(rmnk.function_numbers) + "objs-" + str(number_of_weight) + "wei.ws"
2625

2726

2827
###############################
2928
# Execute the algorithm #
3029
###############################
3130
moead = Moead(problem=rmnk,
3231
max_evaluation=number_of_evaluations,
33-
number_of_objective=number_of_objective,
3432
number_of_weight_neighborhood=number_of_weight_neighborhood,
3533
weight_file=weight_file,
3634
aggregation_function=Tchebycheff,
@@ -42,7 +40,7 @@
4240
###############################
4341
# Save the result #
4442
###############################
45-
save_file = "moead-rmnk" + str(number_of_objective) \
43+
save_file = "moead-rmnk" + str(rmnk.function_numbers) \
4644
+ "-N" + str(number_of_weight) \
4745
+ "-T" + str(number_of_weight_neighborhood) \
4846
+ "-iter" + str(number_of_evaluations) \

docs/html/_modules/moead_framework/algorithm/abstract_moead.html

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ <h1>Source code for moead_framework.algorithm.abstract_moead</h1><div class="hig
162162

163163
<span class="k">class</span> <span class="nc">AbstractMoead</span><span class="p">:</span>
164164

165-
<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">problem</span><span class="p">,</span> <span class="n">max_evaluation</span><span class="p">,</span> <span class="n">number_of_objective</span><span class="p">,</span> <span class="n">number_of_weight_neighborhood</span><span class="p">,</span>
165+
<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">problem</span><span class="p">,</span> <span class="n">max_evaluation</span><span class="p">,</span> <span class="n">number_of_weight_neighborhood</span><span class="p">,</span>
166166
<span class="n">aggregation_function</span><span class="p">,</span> <span class="n">weight_file</span><span class="p">,</span>
167167
<span class="n">termination_criteria</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
168168
<span class="n">genetic_operator</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
@@ -171,14 +171,14 @@ <h1>Source code for moead_framework.algorithm.abstract_moead</h1><div class="hig
171171
<span class="n">sps_strategy</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
172172
<span class="n">offspring_generator</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
173173
<span class="n">number_of_weight</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
174+
<span class="n">number_of_objective</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
174175
<span class="p">):</span>
175176
<span class="sd">&quot;&quot;&quot;</span>
176177
<span class="sd"> Constructor of the algorithm.</span>
177178

178179
<span class="sd"> :param problem: {:class:`~moead_framework.problem.Problem`} problem to optimize</span>
179180
<span class="sd"> :param max_evaluation: {integer} maximum number of evaluation</span>
180-
<span class="sd"> :param number_of_objective: {integer} number of objective in the problem</span>
181-
<span class="sd"> :param number_of_weight: {integer} number of weight vector used to decompose the problem</span>
181+
<span class="sd"> :param number_of_weight_neighborhood: {integer} size of the neighborhood.</span>
182182
<span class="sd"> :param aggregation_function: {:class:`~moead_framework.aggregation.functions.AggregationFunction`}</span>
183183
<span class="sd"> :param weight_file: {string} path of the weight file. Each line represent a weight vector, each column represent a coordinate. An exemple is available here: https://github.com/moead-framework/data/blob/master/weights/SOBOL-2objs-10wei.ws</span>
184184
<span class="sd"> :param termination_criteria: Optional -- {:class:`~moead_framework.core.termination_criteria.abstract_termination_criteria.TerminationCriteria`} The default component is {:class:`~moead_framework.core.termination_criteria.max_evaluation.MaxEvaluation`}</span>
@@ -187,22 +187,27 @@ <h1>Source code for moead_framework.algorithm.abstract_moead</h1><div class="hig
187187
<span class="sd"> :param mating_pool_selector: Optional -- {:class:`~moead_framework.core.selector.abstract_selector.MatingPoolSelector`} The default selector is {:class:`~moead_framework.core.selector.closest_neighbors_selector.ClosestNeighborsSelector`}</span>
188188
<span class="sd"> :param sps_strategy: Optional -- {:class:`~moead_framework.core.sps_strategy.abstract_sps.SpsStrategy`} The default strategy is {:class:`~moead_framework.core.sps_strategy.sps_all.SpsAllSubproblems`}</span>
189189
<span class="sd"> :param offspring_generator: Optional -- {:class:`~moead_framework.core.offspring_generator.abstract_mating.OffspringGenerator`} The default generator is {:class:`~moead_framework.core.offspring_generator.offspring_generator.OffspringGeneratorGeneric`}</span>
190-
<span class="sd"> :param number_of_weight_neighborhood: Deprecated -- {integer} size of the neighborhood. Deprecated, remove in the next major release.</span>
190+
<span class="sd"> :param number_of_weight: Deprecated -- {integer} number of weight vector used to decompose the problem. Deprecated, remove in the next major release.</span>
191+
<span class="sd"> :param number_of_objective: Deprecated -- {integer} number of objective in the problem. Deprecated, remove in the next major release.</span>
191192
<span class="sd"> &quot;&quot;&quot;</span>
192193
<span class="bp">self</span><span class="o">.</span><span class="n">problem</span> <span class="o">=</span> <span class="n">problem</span>
193194
<span class="bp">self</span><span class="o">.</span><span class="n">aggregation_function</span> <span class="o">=</span> <span class="n">aggregation_function</span><span class="p">()</span>
194195

195-
<span class="k">if</span> <span class="n">number_of_weight_neighborhood</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
196+
<span class="k">if</span> <span class="n">number_of_weight</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
196197
<span class="kn">import</span> <span class="nn">warnings</span>
197-
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;deprecated&quot;</span><span class="p">,</span> <span class="ne">DeprecationWarning</span><span class="p">)</span>
198+
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;The attribute number_of_weight is deprecated&quot;</span><span class="p">,</span> <span class="ne">DeprecationWarning</span><span class="p">)</span>
199+
200+
<span class="k">if</span> <span class="n">number_of_objective</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
201+
<span class="kn">import</span> <span class="nn">warnings</span>
202+
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;The attribute number_of_objective is deprecated&quot;</span><span class="p">,</span> <span class="ne">DeprecationWarning</span><span class="p">)</span>
198203

199204
<span class="k">if</span> <span class="n">termination_criteria</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
200205
<span class="bp">self</span><span class="o">.</span><span class="n">termination_criteria</span> <span class="o">=</span> <span class="n">MaxEvaluation</span><span class="p">(</span><span class="n">algorithm_instance</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
201206
<span class="k">else</span><span class="p">:</span>
202207
<span class="bp">self</span><span class="o">.</span><span class="n">termination_criteria</span> <span class="o">=</span> <span class="n">termination_criteria</span><span class="p">(</span><span class="n">algorithm_instance</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
203208

204209
<span class="bp">self</span><span class="o">.</span><span class="n">max_evaluation</span> <span class="o">=</span> <span class="n">max_evaluation</span>
205-
<span class="bp">self</span><span class="o">.</span><span class="n">number_of_objective</span> <span class="o">=</span> <span class="n">number_of_objective</span>
210+
<span class="bp">self</span><span class="o">.</span><span class="n">number_of_objective</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">problem</span><span class="o">.</span><span class="n">number_of_objective</span>
206211
<span class="bp">self</span><span class="o">.</span><span class="n">t</span> <span class="o">=</span> <span class="n">number_of_weight_neighborhood</span>
207212
<span class="bp">self</span><span class="o">.</span><span class="n">ep</span> <span class="o">=</span> <span class="p">[]</span>
208213

docs/html/_modules/moead_framework/algorithm/combinatorial/moead.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,10 +161,10 @@ <h1>Source code for moead_framework.algorithm.combinatorial.moead</h1><div class
161161

162162
<div class="viewcode-block" id="Moead.__init__"><a class="viewcode-back" href="../../../../moead_framework/moead_framework.algorithm.combinatorial.moead.Moead.html#moead_framework.algorithm.combinatorial.moead.Moead.__init__">[docs]</a> <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">problem</span><span class="p">,</span>
163163
<span class="n">max_evaluation</span><span class="p">,</span>
164-
<span class="n">number_of_objective</span><span class="p">,</span>
165164
<span class="n">number_of_weight_neighborhood</span><span class="p">,</span>
166165
<span class="n">aggregation_function</span><span class="p">,</span>
167166
<span class="n">weight_file</span><span class="p">,</span>
167+
<span class="n">number_of_objective</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
168168
<span class="n">termination_criteria</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
169169
<span class="n">number_of_crossover_points</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
170170
<span class="n">mutation_probability</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
@@ -180,8 +180,6 @@ <h1>Source code for moead_framework.algorithm.combinatorial.moead</h1><div class
180180

181181
<span class="sd"> :param problem: {:class:`~moead_framework.problem.Problem`} problem to optimize</span>
182182
<span class="sd"> :param max_evaluation: {integer} maximum number of evaluation</span>
183-
<span class="sd"> :param number_of_objective: {integer} number of objective in the problem</span>
184-
<span class="sd"> :param number_of_weight: {integer} number of weight vector used to decompose the problem</span>
185183
<span class="sd"> :param aggregation_function: {:class:`~moead_framework.aggregation.functions.AggregationFunction`}</span>
186184
<span class="sd"> :param weight_file: {string} path of the weight file. Each line represent a weight vector, each column represent a coordinate. An exemple is available here: https://github.com/moead-framework/data/blob/master/weights/SOBOL-2objs-10wei.ws</span>
187185
<span class="sd"> :param termination_criteria: Optional -- {:class:`~moead_framework.core.termination_criteria.abstract_termination_criteria.TerminationCriteria`} The default component is {:class:`~moead_framework.core.termination_criteria.max_evaluation.MaxEvaluation`}</span>
@@ -190,12 +188,14 @@ <h1>Source code for moead_framework.algorithm.combinatorial.moead</h1><div class
190188
<span class="sd"> :param mating_pool_selector: Optional -- {:class:`~moead_framework.core.selector.abstract_selector.MatingPoolSelector`} The default selector is {:class:`~moead_framework.core.selector.closest_neighbors_selector.ClosestNeighborsSelector`}</span>
191189
<span class="sd"> :param sps_strategy: Optional -- {:class:`~moead_framework.core.sps_strategy.abstract_sps.SpsStrategy`} The default strategy is {:class:`~moead_framework.core.sps_strategy.sps_all.SpsAllSubproblems`}</span>
192190
<span class="sd"> :param offspring_generator: Optional -- {:class:`~moead_framework.core.offspring_generator.abstract_mating.OffspringGenerator`} The default generator is {:class:`~moead_framework.core.offspring_generator.offspring_generator.OffspringGeneratorGeneric`}</span>
191+
<span class="sd"> :param number_of_weight: Deprecated -- {integer} number of weight vector used to decompose the problem. Deprecated, remove in the next major release.</span>
192+
<span class="sd"> :param number_of_objective: Deprecated -- {integer} number of objective in the problem. Deprecated, remove in the next major release.</span>
193193
<span class="sd"> &quot;&quot;&quot;</span>
194194

195195
<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">problem</span><span class="p">,</span>
196196
<span class="n">max_evaluation</span><span class="p">,</span>
197-
<span class="n">number_of_objective</span><span class="p">,</span>
198197
<span class="n">number_of_weight_neighborhood</span><span class="p">,</span>
198+
<span class="n">number_of_objective</span><span class="o">=</span><span class="n">number_of_objective</span><span class="p">,</span>
199199
<span class="n">termination_criteria</span><span class="o">=</span><span class="n">termination_criteria</span><span class="p">,</span>
200200
<span class="n">aggregation_function</span><span class="o">=</span><span class="n">aggregation_function</span><span class="p">,</span>
201201
<span class="n">genetic_operator</span><span class="o">=</span><span class="n">genetic_operator</span><span class="p">,</span>

docs/html/_modules/moead_framework/algorithm/combinatorial/moead_delta_nr.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ <h1>Source code for moead_framework.algorithm.combinatorial.moead_delta_nr</h1><
181181

182182
<span class="sd"> :param problem: {:class:`~moead_framework.problem.Problem`} problem to optimize</span>
183183
<span class="sd"> :param max_evaluation: {integer} maximum number of evaluation</span>
184-
<span class="sd"> :param number_of_objective: {integer} number of objective in the problem</span>
185184
<span class="sd"> :param number_of_weight_neighborhood: {integer} size of the neighborhood</span>
186185
<span class="sd"> :param delta: {float} probability to use all the population as neighborhood</span>
187186
<span class="sd"> :param number_of_replacement: {integer} maximum number of solutions replaced in the population for each new offspring generated</span>
@@ -191,6 +190,7 @@ <h1>Source code for moead_framework.algorithm.combinatorial.moead_delta_nr</h1><
191190
<span class="sd"> :param sps_strategy: Optional -- {:class:`~moead_framework.core.sps_strategy.abstract_sps.SpsStrategy`} The default strategy is {:class:`~moead_framework.core.sps_strategy.sps_all.SpsAllSubproblems`}</span>
192191
<span class="sd"> :param number_of_crossover_points: {integer} number of crossover point</span>
193192
<span class="sd"> :param mutation_probability: {integer} probability of mutation used by the genetic operator</span>
193+
<span class="sd"> :param number_of_objective: Deprecated -- {integer} number of objective in the problem. Deprecated, remove in the next major release.</span>
194194
<span class="sd"> &quot;&quot;&quot;</span>
195195

196196
<span class="n">mating_pool_selector</span> <span class="o">=</span> <span class="n">DeltaSelector</span>

docs/html/_modules/moead_framework/algorithm/combinatorial/moead_dra.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,12 +164,12 @@ <h1>Source code for moead_framework.algorithm.combinatorial.moead_dra</h1><div c
164164

165165
<div class="viewcode-block" id="MoeadDRA.__init__"><a class="viewcode-back" href="../../../../moead_framework/moead_framework.algorithm.combinatorial.moead_dra.MoeadDRA.html#moead_framework.algorithm.combinatorial.moead_dra.MoeadDRA.__init__">[docs]</a> <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">problem</span><span class="p">,</span>
166166
<span class="n">max_evaluation</span><span class="p">,</span>
167-
<span class="n">number_of_objective</span><span class="p">,</span>
168167
<span class="n">number_of_weight_neighborhood</span><span class="p">,</span>
169168
<span class="n">delta</span><span class="p">,</span>
170169
<span class="n">number_of_replacement</span><span class="p">,</span>
171170
<span class="n">aggregation_function</span><span class="p">,</span>
172171
<span class="n">weight_file</span><span class="p">,</span>
172+
<span class="n">number_of_objective</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
173173
<span class="n">number_of_crossover_points</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
174174
<span class="n">threshold_before_evaluate_subproblem_utility</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span>
175175
<span class="n">delta_threshold</span><span class="o">=</span><span class="mf">0.001</span><span class="p">,</span>
@@ -179,7 +179,6 @@ <h1>Source code for moead_framework.algorithm.combinatorial.moead_dra</h1><div c
179179

180180
<span class="sd"> :param problem: {:class:`~moead_framework.problem.Problem`} problem to optimize</span>
181181
<span class="sd"> :param max_evaluation: {integer} maximum number of evaluation</span>
182-
<span class="sd"> :param number_of_objective: {integer} number of objective in the problem</span>
183182
<span class="sd"> :param number_of_weight_neighborhood: {integer} size of the neighborhood</span>
184183
<span class="sd"> :param delta: {float} probability to use all the population as neighborhood</span>
185184
<span class="sd"> :param number_of_replacement: {integer} maximum number of solutions replaced in the population for each new offspring generated</span>
@@ -188,6 +187,7 @@ <h1>Source code for moead_framework.algorithm.combinatorial.moead_dra</h1><div c
188187
<span class="sd"> :param number_of_crossover_points: {integer} number of crossover point</span>
189188
<span class="sd"> :param threshold_before_evaluate_subproblem_utility: Optional -- Threshold before evaluate the subproblem utility. The default value is 50</span>
190189
<span class="sd"> :param delta_threshold: Optional -- reset the utility if the relative decrease delta_i is under this treshold. The default value is 0.001</span>
190+
<span class="sd"> :param number_of_objective: Deprecated -- {integer} number of objective in the problem. Deprecated, remove in the next major release.</span>
191191
<span class="sd"> &quot;&quot;&quot;</span>
192192

193193
<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">problem</span><span class="o">=</span><span class="n">problem</span><span class="p">,</span>

0 commit comments

Comments
 (0)