General-Purpose Optimisation with the Self-Organising Migrating Algorithm
Overview
An R implementation of the Self-Organising Migrating Algorithm, a general-purpose, stochastic optimisation algorithm. The approach is similar to that of genetic algorithms, although it is based on the idea of a series of "migrations" by a fixed set of individuals, rather than the development of successive generations. It can be applied to any cost-minimisation problem with a bounded parameter space, and is robust to local minima.
- Evaluation counts now include those associated with evaluating the initial state.
- The code now checks that the specified perturbation chance is sensible (greater than 0 and no larger than 1), as an infinite loop may otherwise occur. Additional argument checks have also been added to package functions.
- Random individuals introduced when steps go out of bounds could be in the wrong array shape. This has been corrected.
- The T3A and Pareto strategies are now also exercised by package tests.
From NEWS in the release
Install
Health
- OK13 OK2026-08-26
- NOTE12 OK, 2 NOTE2026-03-10
Documentation
- Help pages
- 2
- Examples that run
- 100%1 run in a plain check
- Exported functions with examples
- 50%
- Documented parameters
- 68%
- Return-value docs
- 100%
- Help pages citing references
- 100%
Also includes 1 demo script (run with demo())
Downloads
Repository
Stars over time
Forks over time
Releases over time
Commits over time
5 development-tooling and community-health practices detected across 3 families in the upstream repository
Checks run against github.com/jonclayden/soma on 2026-10-21.
The R CMD check workflow runs on Linux and Windows
Dependencies
Installing soma adds 2 packages (1 with compiled code, 531 KB of source tarballs). Heaviest: ore 488 KB, reportr 43 KB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 1.2.1Latest
- RR 4.6.0 released · 2026-04-24
- RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- RR 4.3.0 released · 2023-04-21
- 1.2.0
- RR 4.2.0 released · 2022-04-22
- RR 4.1.0 released · 2021-05-18
- RR 4.0.0 released · 2020-04-24
- RR 3.6.0 released · 2019-04-26
- RR 3.5.0 released · 2018-04-23
- RR 3.4.0 released · 2017-04-21
- RR 3.3.0 released · 2016-05-03
- RR 3.2.0 released · 2015-04-16
- 1.1.12014-11-25 · diff ↗
- RR 3.1.0 released · 2014-04-10
Package metadata
- First published
- 2010-12-13
- Total releases
- 5 / 16 yrs
- License
- GPL-2 OSI
- Minimum R
- ≥ 2.5.0
- Download size
- 704 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("soma")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-23, which the citation names so these numbers can be found later. More on citing and the projects behind them.