State Transition Algorithm

Versión 1.0.0.10 (1,57 MB) por Michael
This is a Matlab toolbox of State Transition Algorithm (STA)
1K Descargas
Actualizado 24 abr 2025

Ver licencia

# Basic-State-Transition-Algorithm (BSTA)
State transition algorithm (STA) is a new metaheuristic method, which is used for global optimization with box constraints without the derivative information.
$\min f(x)$
$\mathrm{s.t.} x_{lb} \leq x \leq x_{ub}$
In the basic STA, we have four state tranformation operators, namely, rotation, translation, expansion and axesion.
Rotation Tranformation(RT)
$$ x_{k+1}=x_{k}+\alpha R_{r} \frac{x_{k}}{n \|x_{k}\|_{2}} $$
where, $\alpha$ is a positive constant, called rotation factor; $R_{r}$ $\in$ $\Re^{n\times n}$, is random matrix with its entries obeying the uniform distribution in the range of [-1, 1] and $\|\cdot\|_{2}$ is 2-norm of vector or Euclidean norm. The rotation transformation has the function of searching in a hypersphere.
Translation Tranformation(RT)
$$x_{k+1} = x_{k}+ \beta R_{t} \frac{x_{k}-x_{k-1}}{\|x_{k}-x_{k-1}\|_{2}}$$
where, $\beta$ is a positive constant, called translation factor; $R_{t}$ $\in \Re$ is a random variable with its components obeying the uniform distribution in the range of [0,1]. It is obvious to find the translation transformation has the function of searching along a line from $x_{k-1}$ to $x_{k}$ at the starting point $x_{k}$, with the maximum length of $\beta$.
Expansion Tranformation(RT)
$$x_{k+1} = x_{k}+ \gamma R_{e}x_{k}$$
where, $\gamma$ is a positive constant, called expansion factor; $R_{e} \in \Re^{n \times n}$ is a random diagonal matrix with its elements obeying the Gaussian distribution. It is also obvious to find the expansion transformation has the function of expanding the components in $x_{k}$ to the range of $[-\infty, +\infty]$, searching in the whole space.
Axesion Tranformation(RT)
$$x_{k+1} = x_{k}+ \delta R_{a}x_{k}$$
where, $\delta$ is a positive constant, called axesion factor; $R_{a}$ $\in \Re^{n \times n}$ is a random diagonal matrix with its entries obeying the Gaussian distribution and only one random position having nonzero value. The axesion transformation aims to search along the axes and strengthens single dimensional search.
In the basic STA, the state tranformation factors $\beta, \gamma, \delta$ are fixed, *i.e.*, $\beta=\gamma=\delta = 1$, and only the rotation factor $\alpha$ is updated periodically, from $1 \rightarrow 1e-4$ with base $fc = 2$, *i.e.*, $\alpha = \alpha/fc$.
This is a MATLAB implementation of the basic state transition algorithm for continuous optimization.
the following reference is used:
X.J. Zhou, C.H. Yang and W.H. Gui, State Transition Algorithm, Journal of Industrial and Management Optimization 8(4): 1039-1056, 2012.

Citar como

Michael (2026). State Transition Algorithm (https://la.mathworks.com/matlabcentral/fileexchange/52498-state-transition-algorithm), MATLAB Central File Exchange. Recuperado .

Zhou X, Yang C, Gui W. State transition algorithm[J]. Journal of Industrial and Management Optimization, 2012, 8(4): 1039-1056.

Zhou, Xiaojun, et al. “State Transition Algorithm.” Journal of Industrial &Amp\Mathsemicolon Management Optimization, vol. 8, no. 4, American Institute of Mathematical Sciences (AIMS), 2012, pp. 1039–56, doi:10.3934/jimo.2012.8.1039.

Ver más estilos
Compatibilidad con la versión de MATLAB
Se creó con R2017b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Get Started with Optimization Toolbox en Help Center y MATLAB Answers.
Versión Publicado Notas de la versión
1.0.0.10

Modifications

1.0.0.9

Adjust markdown format

1.0.0.8

Add markdown format

1.0.0.7

add the GitHub link

1.0.0.6

Add a GitHub link

1.0.0.5

add the description of basic state transition algorithm (STA)

1.0.0.4

Update the implementation of state transformation operators

1.0.0.3

references for this code.

1.0.0.2

Change screeshot

1.0.0.1

This is a vector version of the basic STA. The built-in function randint in MATLAB is changed to randi, and the termination conditions are slightly changed.

1.0.0.0