https://github.com/gvegayon/abcoptim
An implementation of the Artificial Bee Colony (ABC) Algorithm
https://github.com/gvegayon/abcoptim
artificial-bee-colony optimization r r-programming rcpp stochastic-optimizers
Last synced: 11 months ago
JSON representation
An implementation of the Artificial Bee Colony (ABC) Algorithm
- Host: GitHub
- URL: https://github.com/gvegayon/abcoptim
- Owner: gvegayon
- License: other
- Created: 2013-10-21T03:58:17.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2023-05-26T00:30:42.000Z (over 2 years ago)
- Last Synced: 2025-02-27T09:43:53.836Z (12 months ago)
- Topics: artificial-bee-colony, optimization, r, r-programming, rcpp, stochastic-optimizers
- Language: C++
- Homepage: https://gvegayon.github.io/ABCoptim
- Size: 2.33 MB
- Stars: 30
- Watchers: 7
- Forks: 18
- Open Issues: 1
-
Metadata Files:
- Readme: README.Rmd
- Changelog: ChangeLog
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
---
output:
github_document:
html_preview: false
---
```{r include=FALSE}
knitr::opts_chunk$set(fig.path = "man/figures/", warning = FALSE)
```
[](https://cran.r-project.org/package=ABCoptim)
[](http://cran.rstudio.com/package=ABCoptim)
[](http://cran.rstudio.com/package=ABCoptim)
[](https://ci.appveyor.com/project/gvegayon/ABCoptim)
[](https://travis-ci.org/gvegayon/ABCoptim)
[](https://codecov.io/gh/gvegayon/ABCoptim)
[](https://zenodo.org/badge/latestdoi/13732591)
[](https://www.tidyverse.org/lifecycle/#maturing)
[](https://github.com/sponsors/gvegayon)
# ABCoptim: An implementation of the Artificial Bee Colony (ABC) Algorithm 
This is an implementation of Karaboga (2005) ABC optimization algorithm. It was developed upon the basic version programmed in *C* and distributed at the algorithm's official website (see the references).
Any evident (precision) error should be blamed to the package author (not to the algorithm itself).
# Example
```{r example1}
library(ABCoptim)
# Function to optimize. Min at (pi,pi)
fun <- function(x) {
-cos(x[1])*cos(x[2])*exp(-((x[1] - pi)^2 + (x[2] - pi)^2))
}
# Since it is stochastic, we need to set a seed to get the same
# results.
set.seed(123)
# Finding the minimum
ans <- abc_optim(rep(10,2), fun, lb=-20, ub=20, criter=200)
ans
plot(ans)
```
References
==========
D. Karaboga, _An Idea based on Honey Bee Swarm for Numerical Optimization_, tech. report TR06,Erciyes University, Engineering Faculty, Computer Engineering Department, 2005 http://mf.erciyes.edu.tr/abc/pub/tr06_2005.pdf
Artificial Bee Colony (ABC) Algorithm (website) http://mf.erciyes.edu.tr/abc/index.htm
Basic version of the algorithm implemented in 'C' (ABC's official website) http://mf.erciyes.edu.tr/abc/form.aspx