| 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 | group_optimization_strategy.finalize(swarm.best_particle) |
|
| 29 | swarm.post_processing() |
||
| 30 |