ade.de.FManager(object)
class documentation
Part of ade.de
(View In Hierarchy)
I manage the mutation coefficient F for adaptive differential evolution.
Population
constructs an instance of me with an initial value (or range of values) for
F, the crossover probability CR, and the population size
Np.
If you want the lower bound of F to be the critical value for my
CR and Np, set it to zero, like this: (0, 1)
. I
will not run in adaptive mode in that case, ignoring the keyword
setting.
Parameters | adaptive | Set True to use adaptive mode. My attribute scale is
the amount to scale F down by with each call to down . A single F value
will shrink slower than the lower end of a uniform random variate range. |
Instance Variable | limited | Gets set True when a call to down failed to reduce F
anymore, and gets reset to False if and when up gets called thereafter. |
Method | __init__ | FManager(F, CR, Np, adaptive=False) |
Method | __repr__ | My string representation is just my F value or range. |
Method | lowest 0 | Property: The lower bound or sole value of F. |
Method | lowest | Property setter for the lower bound or sole value of F. |
Method | highest 0 | Property: The upper bound or sole value of F. |
Method | highest | Property setter for the upper bound or sole value of F. |
Method | get | Returns F if it is a single coefficient, or a uniform variate in U(F[0], F[1]) otherwise. |
Method | down | Adapts F downward. Call this when none of your challengers are winning their tournaments. |
Method | up | Adapt F upward. Call this when at least one of your challengers has won its tournament. |
Returns F if it is a single coefficient, or a uniform variate in U(F[0], F[1]) otherwise.
If I am running in adaptive mode, returns the adapted value of F. Otherwise, always returns the original value you provided to my constructor and the adapting is done just to determine if my (hidden) F value has reached its lower limit.
Adapts F downward. Call this when none of your challengers are winning their tournaments.
If F is a range for uniform variates, the lower limit is what is adjusted downward. If the lower limit reaches the critical value, then the upper limit begins to adjust downward as well, keeping it above the lower limit.
The critical value was defined by Zaharie, as described in Das and Suganthan, "Differential Evolution: A Survey of the State-of-the-Art," IEEE Transactions on Evolutionary Computation, Vol. 15, No. 1, Feb. 2011.