SBOAtools

SBOAtools is an R package developed for the Secretary Bird Optimization Algorithm (SBOA). The package supports both general-purpose continuous optimization and single-hidden-layer multilayer perceptron (MLP) training.

It is intended for researchers working in metaheuristic optimization, computational intelligence, and neural network training. The package allows users to apply SBOA either as a standalone optimizer or as a training algorithm for feed-forward neural networks.


Features


Installation

During development, the package can be installed from the local source using:

devtools::install()

Then load the package with:

library(SBOAtools)

You can also install the development version from GitHub:

install.packages("remotes")
remotes::install_github("burakdilber/SBOAtools")

Main Functions

sboa()

Performs general-purpose continuous optimization using the Secretary Bird Optimization Algorithm.

sboa_mlp()

Trains a single-hidden-layer multilayer perceptron using the Secretary Bird Optimization Algorithm.


Example 1: General Optimization

library(SBOAtools)

sphere <- function(x) sum(x^2)

res <- sboa(
  fn = sphere,
  lower = rep(-10, 5),
  upper = rep(10, 5),
  n_agents = 10,
  max_iter = 20,
  seed = 123
)

print(res)
plot(res)

res$value
res$par

Example 2: MLP Training with SBOA

library(SBOAtools)

set.seed(123)

X_train <- matrix(runif(40), nrow = 10, ncol = 4)
y_train <- matrix(runif(10), nrow = 10, ncol = 1)

fit_mlp <- sboa_mlp(
  X_train = X_train,
  y_train = y_train,
  hidden_dim = 3,
  n_agents = 10,
  max_iter = 20,
  lower = -1,
  upper = 1,
  seed = 123
)

print(fit_mlp)
plot(fit_mlp)

pred <- predict(fit_mlp, X_train)
pred

Returned Objects

Output of sboa()

The sboa() function returns an object of class "sboa" containing:

Output of sboa_mlp()

The sboa_mlp() function returns an object of class "sboa_mlp" containing:


Current Scope

The current version of the package supports:


Future Extensions

Possible future improvements include:


Authors


References

License

MIT License