Completed
Pull Request — master (#43)
by Wojtek
06:31
created

WholeGroupPso.__init__()   A

Complexity

Conditions 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 3
rs 10
cc 1
1
"""Contains WholeGroupPso class."""
2
from grortir.main.pso.optimization_controller import OptimizationController
3
from grortir.main.pso.swarm import Swarm
4
5
6
class WholeGroupPso(object):
7
    """Optimize whole group."""
8
9
    def __init__(self, process, number_of_particles):
10
        self.process = process
11
        self.number_of_particles = number_of_particles
12
13
    def optimize(self, ordered_stages_to_optimize):
14
        """Optimize whole group of stages.
15
16
            Parameters:
17
                ordered_stages_to_optimize (list): List of stages which need
18
                 to be optimized
19
        """
20
        swarm = Swarm(self.process, ordered_stages_to_optimize,
21
                      self.number_of_particles)
22
        swarm.initialize()
23
        while OptimizationController.should_continue(
24
                ordered_stages_to_optimize):
25
            swarm.do_single_iteration()
26