CBO: Coot Bird Optimization

View source: R/CBO_opt.R

CBOR Documentation

Coot Bird Optimization

Description

An algorithm built by Naruei & Keynia (2021) that mimics the regular-irregular movement behaviour of Coot birds. Its population divided by two groups as leaders to guide the process and coots to follow leaders and randomly explore search space. This movement use to optimized real-valued objective function in continuous search space.

Usage

CBO(N, Max_iter, lb, ub, dim, fobj)

Arguments

N

An integer indicate population size.

Max_iter

An integer indicate maximum number of iterations.

lb

A numeric vector that show lower bounds of the search space. One value per dimension.

ub

A numeric vector that show upper bounds of the search space. One value per dimension.

dim

An integer show the number of dimension (parameters) of the problem to optimize. It indicate the number of parameters to be optimized.

fobj

An objective function used to be minimized. It is return single numeric value that show evaluation matrix result in every iteration. It used to calculate the best fitness in every iteration.

Details

This algorithms used movement such as: random movement, chain movement, adjusting the position based on the group leaders, and leader movement to emphasize the exploration and exploitation phase to get the best fitness.

The algorithm performs until maximum iteration reached or convergence condition when the difference in objective values for ten consecutive times is less than 10^-5.

Value

A list containing:

best_fitness

The best (minimum) fitness value found.

best_position

The parameter vector (position) corresponding to the best fitness.

jml_iter

The number of iterations executed.

param

Matrix of best parameters found across every iterations (dim × iter).

param_list

Vector of best fitness values at each iteration.

Note

The input vectors 'lb' and 'ub' must have the same length as the number of dimensions 'dim'.

This optimization function used inside svrHybrid function.

References

Naruei, I., & Keynia, F. (2021). A New Optimization Method Based on COOT Bird Natural Life Model. Expert Systems with Applications, 183. https://doi.org/10.1016/j.eswa.2021.115352

Examples

{
sphere_fn <- function(x) sum(x^2) # simple function for objective function

# CBO optimization
set.seed(123)
result <- CBO(N = 20, Max_iter = 50, lb = c(-5,-5,-5), ub = c(5,5,5), dim = 3, fobj = sphere_fn)

# View best fitness and position found
result$best_fitness
result$best_position
}


metaSVR documentation built on Aug. 21, 2025, 5:58 p.m.