def __init__(self, min, max, stepSize=None, inertia=None, cogRate=None,<EOL>socRate=None):
super(PermuteFloat, self).__init__()<EOL>self.min = min<EOL>self.max = max<EOL>self.stepSize = stepSize<EOL>self._position = (self.max + self.min) / <NUM_LIT><EOL>self._velocity = (self.max - self.min) / <NUM_LIT><EOL>self._inertia = (float(Configuration.get("<STR_LIT>"))<EOL>if inertia is None else inertia)<EOL>self._cogRate = (float(Configuration.get("<STR_LIT>"))<EOL>if cogRate is None else cogRate)<EOL>self._socRate = (float(Configuration.get("<STR_LIT>"))<EOL>if socRate is None else socRate)<EOL>self._bestPosition = self.getPosition()<EOL>self._bestResult = None<EOL>
Construct a variable that permutes over floating point values using
        the Particle Swarm Optimization (PSO) algorithm. See descriptions of
        PSO (i.e. http://en.wikipedia.org/wiki/Particle_swarm_optimization)
        for references to the inertia, cogRate, and socRate parameters.

        Parameters:
        -----------------------------------------------------------------------
        min:          min allowed value of position
        max:          max allowed value of position
        stepSize:     if not None, the position must be at min + N * stepSize,
                        where N is an integer
        inertia:      The inertia for the particle.
        cogRate:      This parameter controls how much the particle is affected
                        by its distance from it's local best position
        socRate:      This parameter controls how much the particle is affected
                        by its distance from the global best position