random_lines  Random lines and particle swarm optimizers¶
random_lines 
Random lines is a population based optimizer which using quadratic fits along randomly oriented directions. 
particle_swarm 
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), 111119. http://dx.doi.org/10.11121/ijocta.01.2013.00167

bumps.random_lines.
random_lines
(cfo, NP, CR=0.9, epsilon=1e10, abort_test=None, 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 number of fit parameters
CR is the crossover 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.

bumps.random_lines.
particle_swarm
(cfo, NP, epsilon=1e10, 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 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 number of fit parameters
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.