Draft:State transition algorithm

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In mathematics, specifically in global optimization, state transition algorithm (STA) is an iterative method that generates a sequence of improving approximate solutions for an optimization problem.[1]. Due to its intrinsic properties, STA has the ability to find a global optimal solution in probability and can guarantee an optimal solution[2]

State transition algorithm [1][2][3][4][5] was firstly proposed by Zhou et al, and it is a stochastic global optimization method and aims to find a possible global or approximate optimal solution in a reasonable amount of time. In STA, a solution to an optimization problem is regarded as a state, and an update of a solution can be regarded as a state transition. Using the state-space representation,[6] in STA, it describes solutions updating in a unified framework, and the execution operators to update solutions are expressed as state transition matrices, which make it easy to understand and flexible to implement:

𝐱k+1=Ak𝐱k+Bk𝐮k
𝐲k+1=f(𝐱k+1)

where:

𝐱k stands for a current state, corresponding to a solution to an optimization problem;
𝐮k is a function of 𝐱k and historical states;
𝐲k is the fitness value at 𝐱k;
𝐀k,𝐁k are state transformation matrices, which can be considered as execution operators;
f() is the objective function or evaluation function.

As a stochastic global optimization method, STA has the following properties:

  • globality, STA has the ability to search the whole space;
  • optimality, STA can guarantee to find an optimal solution;
  • convergence, the sequence generated by STA is convergent;
  • rapidity, inherent advantages existing in STA to reduce the computational complexity;
  • controllability, STA can control the search space flexibly.

Continuous state transition algorithm (CSTA)[2]

[edit | edit source]

In continuous STA, 𝐱kn is a continuous variable, and four special state transformation operators are designed to generate new candidate solutions.

State transformation operators

[edit | edit source]

(1) Rotation transformation (RT)

𝐱k+1=𝐱k+α1n𝐱k2Rr𝐱k

where α is a positive constant, called the rotation factor, Rrn×n is a random matrix with its entries being uniformly distributed random variables defined on the interval [-1,1], and is the 2-norm of a vector. The rotation transformation has the functionality to search in a hypersphere with maximal radius α , that is to say, 𝐱k+1𝐱k2α.

(2) Translation transformation (TT)

𝐱k+1=𝐱k+βRt𝐱k𝐱k1𝐱k𝐱k12

where β is a positive constant, called the translation factor, and Rt is a uniformly distributed random variable defined on the interval [0,1]. The translation transformation has the functionality to search along a line from 𝐱k1 to 𝐱k at the starting point 𝐱k with maximal length β.

(3) Expansion transformation (ET)

𝐱k+1=𝐱k+γRe𝐱k

where γ is a positive constant, called the expansion factor, and Ren×n is a random diagonal matrix with its entries obeying the Gaussian distribution. The expansion transformation has the functionality to expand the entries in 𝐱k to the range of [,+], searching in the whole space.

(4) Axesion transformation (AT)

𝐱k+1=𝐱k+δRa𝐱k

where δ is a positive constant, called the axesion factor, and Ran×n is a random diagonal matrix with its entries obeying the Gaussian distribution and with only one random position having nonzero value. The axesion transformation aims to search along the axes.

Regular neighbourhood and sampling

[edit | edit source]

For a given solution 𝐱k, a candidate solution 𝐱k+1 is generated by using one time of the aforementioned state transformation operators. Since the state transition matrix in each state transformation is random, the generated candidate solution is not unique. Based on a given point, it is not difficult to imagine that a regular neighbourhood will be automatically formed when using certain state transformation operators.

Since the entries in state transition matrix obey certain stochastic distribution, for any given solution, the new candidate becomes a random vector and its corresponding solution (the value of a random vector) can be regarded as a sample. Considering that any two random state transition matrices in each state transformation operator are independent, several times of state transformation (called the degree of search enforcement, SE for short) based on the given solution are performed for certain state transformation operator, yielding SE samples.

An update strategy

[edit | edit source]

As mentioned above, based on the incumbent best solution, a total number of SE candidate solutions are sampled. A new best solution is selected from the candidate set by virtue of the evaluation function, denoted as newBest. Then, an update strategy based on greedy criterion is used to update the incumbent best solution:

Best=newBest, if f(newBest)<f(Best),
Best=Best , otherwise

Algorithm procedure of the basic continuous STA

[edit | edit source]

With the state transformation operators, sampling technique and update strategy, the basic continuous STA can be described as follows:

Step 1: Initiate a random solution Best and set α=αmax=1,αmin=104, β=1,γ=1,δ=1,fc=2,k=0;

Step 2: Generate SE samples based on incumbent Best using Expansion Transformation, and then update the incumbent Best using greedy criterion incorporating SE samples and incumbent Best . Let us denote newBest the best solution in SE samples, if f(newBest)<f(Best), then perform the Translation Transformation similarly to update the incumbent Best;

Step 3: Generate SE samples based on incumbent Best using Rotation Transformation, and then update the incumbent Best using greedy criterion incorporating SE samples and incumbent Best . If f(newBest)<f(Best), then perform the Translation Transformation similarly to update the incumbent Best;

Step 4: Generate SE samples based on incumbent Best using Axesion Transformation, and then update the incumbent Best using greedy criterion incorporating SE samples and incumbent Best . If f(newBest)<f(Best), then perform the Translation Transformation similarly to update the incumbent Best;

Step 5: set k=k+1, if α<αmin, set α=αmax, else set α=α/fc, and return to Step 2 until the maximum of iterations is met.

Philosophy behind the continuous STA

[edit | edit source]
  • The expansion transformation contributes to the globality since it has the functionality to search the whole space;
  • The rotation transformation benefits the optimality since when α is sufficiently small, the incumbent best solution becomes a local optimal solution;
  • The update strategy based on greedy criterion contributes to the convergence, that is to say, the sequence {f(Bestk)k=1} is convergent due to f(Bestk+1)f(Bestk) and the monotone convergence theorem;
  • The sampling technique (it can avoid complete enumeration) and the alternate use of state transformation operators help to reduce computational complexity;
  • The parameters like α,β,γ,δ can be adjusted to control the search space.

Applications of STA

[edit | edit source]

STA has found a variety of applications, like image segmentation,[7] wind power prediction,[8] [9] energy consumption in the alumina evaporation process,[10] resolution of overlapping linear sweep voltammetric peaks,[11] PID controller design,[12][13] feature selection,[14], system modeling,[15] [16] and dynamic optimization [17]and it is shown that STA is comparable to most existing global optimization methods.

References

[edit | edit source]
  1. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).}
[edit | edit source]