Total Complexity | 3 |
Total Lines | 24 |
Duplicated Lines | 0 % |
Coverage | 100% |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | """Contains WholeGroupPso class.""" |
||
6 | 1 | class WholeGroupPso(object): |
|
7 | """Optimize whole group.""" |
||
8 | |||
9 | 1 | def __init__(self, process, number_of_particles): |
|
10 | 1 | self.process = process |
|
11 | 1 | self.number_of_particles = number_of_particles |
|
12 | |||
13 | 1 | def optimize(self, ordered_stages_to_optimize, group_optimization_strategy): |
|
14 | """Optimize whole group of stages. |
||
15 | |||
16 | Parameters: |
||
17 | group_optimization_strategy (GroupOptimizationStrategy): |
||
18 | strategy for optimizing groups |
||
19 | ordered_stages_to_optimize (list): List of stages which need |
||
20 | to be optimized |
||
21 | """ |
||
22 | 1 | swarm = Swarm(self.process, ordered_stages_to_optimize, |
|
23 | self.number_of_particles) |
||
24 | 1 | swarm.initialize() |
|
25 | 1 | group_optimization_strategy.initialize() |
|
26 | 1 | while group_optimization_strategy.should_continue(swarm.best_particle): |
|
27 | 1 | swarm.do_single_iteration() |
|
28 | 1 | swarm.post_processing() |
|
29 | print("Optimization for group finished.") |
||
30 |