random_lines - Random lines and particle swarm optimizers¶
Random lines is a population based optimizer which using quadratic fits along randomly oriented directions. |
|
Particle swarm is a population based optimizer which uses force and momentum to select candidate points. |
Random Lines Algorithm finds the optimal minimum of a function.
Sahin, I. (2013). Minimization over randomly selected lines. An International Journal Of Optimization And Control: Theories & Applications (IJOCTA), 3(2), 111-119. http://dx.doi.org/10.11121/ijocta.01.2013.00167
- bumps.random_lines.particle_swarm(cfo, NP, epsilon=1e-10, maxiter=1000)[source]¶
Particle swarm is a population based optimizer which uses force and momentum to select candidate points.
cfo is the cost function object. This is a dictionary which contains the following keys:
cost is the function to be optimized. If parallel_cost exists, it should accept a list of points, not just a single point on each evaluation.
n is the problem dimension
x0 is the initial point
x1 and x2 are lower and upper bounds for each parameter
monitor(step, x, fx, k) is called each iteration using monitor(step, x, fx, k), where step is the iteration number,
x is the population, fx is value of the cost function for each member of the population and k is the index of the best point in the population.
f_opt is the target value of the optimization
NP is the population size
epsilon is the convergence criterion.
abort_test is a callable which indicates whether an external processes requests the fit to stop.
maxiter is the maximum number of generations
Returns success, num_evals, f(x_best), x_best.
- bumps.random_lines.random_lines(cfo, NP, CR=0.9, epsilon=1e-10, maxiter=1000)[source]¶
Random lines is a population based optimizer which using quadratic fits along randomly oriented directions.
cfo is the cost function object. This is a dictionary which contains the following keys:
cost is the function to be optimized. If parallel_cost exists, it should accept a list of points, not just a single point on each evaluation.
n is the problem dimension
x0 is the initial point
x1 and x2 are lower and upper bounds for each parameter
monitor is a callable which is called each iteration using callback(step, x, fx, k), where step is the iteration number, x is the population, fx is value of the cost function for each member of the population and k is the index of the best point in the population.
f_opt is the target value of the optimization
NP is the population size
CR is the cross-over ratio, which is the proportion of dimensions that participate in any random orientation vector.
epsilon is the convergence criterion.
abort_test is a callable which indicates whether an external processes requests the fit to stop.
maxiter is the maximum number of generations
Returns success, num_evals, f(x_best), x_best.