Skip to content

General-Purpose Optimisation with the Self-Organising Migrating Algorithm

1packages dependsuggested by 1
3.7Kdownloads / year
93.2%test coverage
13/13flavors OK

Overview

About

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.

Changes in 1.2.1
  • 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

CRAN checks
13OK
Slowest check: 47 s · r-devel-windows-x86_64
Status changes
  • OK13 OK2026-08-26
  • NOTE12 OK, 2 NOTE2026-03-10
Advisories

none known

Documentation

In release 1.2.1
READMEYes · 585 wordsVignettesNoNEWSYes · 33% structured · mentions 1.2.1Citation fileNoWebsitenot declared in DESCRIPTION
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

3.7K
CRAN downloads in the past year
Rank #7,782 · ~10/day · ~310/mo
Daily download trend is not available in this view yet.
40730 days
1.2K90 days
3.7K1 year
Compare downloads with other packages →
Also on113 r2u2 autocran138 c2d4u

Repository

8Stars
2Forks
0Open issues
0Open PRs
2Releases
60Commits
1Commit identities
60 commits · Last activity 2026-08-21
Responsiveness
not measured

Stars over time

2023-03-09 · 82026-07-07 · 8
PracticesBeta

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.

Continuous integration (3)
GitHub ActionsR CMD check workflowTravis CI (config file)

The R CMD check workflow runs on Linux and Windows

Docs source (1)
README.Rmd
Coverage (1)
Coverage reporting (Codecov)
How this is detected·Detection ruleset v4 (2026-10-20)

Dependencies

Declared dependencies
4 external dependencies (excludes base and recommended)

Installing soma adds 2 packages (1 with compiled code, 531 KB of source tarballs). Heaviest: ore 488 KB, reportr 43 KB.

Depends (1)
R >= 2.5.0
Imports (1)
LinkingTo (0)
none
Suggests (3)
Enhances (0)
none
Reverse dependencies
1direct
0indirect
Imports 1
Suggested by 1
Depends, Imports or LinkingTo, most downloaded first
Suggests, most downloaded first

People & History

People (1)
Maintainer since 1.0.0 (2010), Author
Listed in earlier versions (1)
based on the work of Ivan Zelinka
no longer listed · 1.0.0 to 1.1.1
Releases (5)

Pick two releases to compare their code metrics.

  • 1.2.1Latest
    record
    2026-08-21 · current release · diff ↗
  • R
    R 4.6.0 released · 2026-04-24
  • R
    R 4.5.0 released · 2025-04-11
  • R
    R 4.4.0 released · 2024-04-24
  • R
    R 4.3.0 released · 2023-04-21
  • 1.2.0
    record
    2022-05-02 · diff ↗ ·
    added 4 exports
    all2one, bounds, pareto, t3a
  • R
    R 4.2.0 released · 2022-04-22
  • R
    R 4.1.0 released · 2021-05-18
  • R
    R 4.0.0 released · 2020-04-24
  • R
    R 3.6.0 released · 2019-04-26
  • R
    R 3.5.0 released · 2018-04-23
  • R
    R 3.4.0 released · 2017-04-21
  • R
    R 3.3.0 released · 2016-05-03
  • R
    R 3.2.0 released · 2015-04-16
  • 1.1.1
    record
    2014-11-25 · diff ↗
  • R
    R 3.1.0 released · 2014-04-10
Show 7 earlier eventsHide 7 earlier events
  • R
    R 3.0.0 released · 2013-04-03
  • R
    R 2.15.0 released · 2012-03-30
  • R
    R 2.14.0 released · 2011-10-31
  • 1.1.0
    record
    2011-07-28 · diff ↗ ·
    added 1 export
    soma
  • R
    R 2.13.0 released · 2011-04-13
  • 1.0.0
    record
    2010-12-13
  • R
    R 2.12.0 released · 2010-10-15

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")
Clayden, J. (2026). soma: General-Purpose Optimisation with the Self-Organising Migrating Algorithm (Version 1.2.1) [Computer software]. https://doi.org/10.32614/CRAN.package.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.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for soma version 1.2.1 [Data set]. HJJB, LLC. Data release v2026-10-23. https://doi.org/10.5281/zenodo.21843040

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.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy