Evolutionary algorithms are strictly specified by heuristics (mostly metaheuristics) used to solve some optimization problems, for which deterministic approaches are unknown or have an unacceptably long computation time (Weise 2009). The principle of their operation is based on simulation of mechanisms known from the natural world, i.e. natural selection and heredity. These algorithms start their operation by comparing the random (initial) solutions with earlier predetermined set of criteria for evaluation. Solutions that have these criteria are selected and are subject to reproduction and mutations. They are re-evaluated by the determined criteria, and the best ones are selected for the further evolution. The algorithm repeats this scheme until a solution is not optimal. The optimal solution is determined on the basis of criteria evaluation—fitness function. So, it is a specific adaptation process.
Modifications of evolutionary algorithms take ideas from other algorithms what makes the direct classification difficult. With such a case I deal in this paper. A comprehensive approach to the problem opens many ways to implement the algorithm. One of them is an immune algorithm (Mo 2008). A solved problem is represented by an antigen. A population of antibodies is developed under the influence of antigen creating a set of solutions. The development of the antibody population is controlled by the process of cloning, mutation and selection. The best of clones replace the antibodies which produced them.
The operation of algorithm 1—the semi-multifractal optimization algorithm—can be described as follows:
-
1.
The creation of an antibody or a set of antibodies (initial deterministic divisions of the solution space) and evaluation.
-
2.
The selection of an antibody by the roulette’s wheel.
-
3.
Clones production of selected antibody.
-
4.
Clones mutation—clones division by a rule and their evaluation.
-
5.
Selection of the best clone.
-
6.
The selected antibody is replaced by the best clone.
-
7.
Repeating from step 2 up to the stop criterion is obtained.
The clones are a copy of an antibody. The number of produced clones depends on the antibody type. A way of clone mutation also depends on the type of antibody. The clone mutation realizes its division into two antibodies. The part of a solution space represented by a clone is divided into two areas in the proportions \(\frac{1}{3}\), \(\frac{1}{2}\) and \(\frac{2}{3}\) in the vertical or horizontal directions (Fig. 1). The proposed rule of clones production and mutation allows to obtain four collections of figures differing in size (scale). The rule of clones production and mutation can be described as follows:
-
\(A \rightarrow (B,C)_{(4)}\),
-
\(B \rightarrow (D,A)_{(2)}\),
-
\(C \rightarrow \{(B,B)_{(1)},(A,D)_{(2)}\}\),
-
\(D \rightarrow (A,A)_{(1)}\),
(the subscript gives the number of produced clones).
The antibody of type A produces four different clones containing antibodies B and C, while the antibody of type B produces two different clones containing antibodies A and D. The antibody of type C produces three different clones: one clone containing two antibodies of type B and two clones containing antibodies A and D. The antibody of type D produces one clone containing two antibodies of type A. Similar divisions are presented in studies (Corso et al. 2004; Pereira et al. 2005; Corso and Lucena 2005) as a deterministic and a random multifractal tilling.
Thus, the mutation of clone produces two antibodies. Each of such created antibodies is evaluated. Basing on this, the evaluation of clone is carried out. The best evaluated clone is selected—but how can the clone be evaluated? The easiest way is to select a clone containing the antibody with the best adaptation. However, this choice may be implemented as a choice of a clone containing antibodies with possibly the worst or the best adaptation. This approach allows to identify areas that should be omitted—it is a kind of negative selection. The function of such a choice can be described by Eq. (1), and it is shown in Fig. 2. The selection of clones is responsible for the population development.
$$\begin{aligned} f_c(p_1, p_2)= 1-\frac{f(p_1)+f(p_2)}{2}, \end{aligned}$$
(1)
where
$$\begin{aligned} f(p)= p \cdot (1-p), \end{aligned}$$
(2)
and \(p_1\), \(p_2\)—coefficients of adaptation of produced antibody (as a part of a clone).
Selection of antibodies is responsible for the direction of development and improvement in the population. It is realized by means of roulette’s wheel that prevents from stagnation and ensures the correct selection of antibodies (Michalewicz 1996). The evaluation of antibodies is an important factor influencing the algorithm operation. In the evaluation of the antibody, the size of subarea and adaptation should be considered. The evaluation can be based on Eq. (1), and taking into account the factor of the surface (in a linear way)—Eq. (3) of function evaluation takes the form:
$$\begin{aligned} f_\mathrm{sa}(p,a)= f(p)^{\theta } \cdot l(a), \end{aligned}$$
(3)
where
$$\begin{aligned} l(a)=1-a \cdot \sigma . \end{aligned}$$
(4)
and \(\sigma \)—coefficient of subarea impact (in the analysed examples \( \sigma = 0.5\)), a—coefficient of subarea (defined as the ratio of subarea to the solution space area), p—coefficient of adaptation of produced antibody, \(\theta \)—aspect ratio (in analysed example \({\theta = \frac{1}{3}}\)).
Parameters \( \sigma \) and \( \theta \) are responsible for the shape of the function, and thus, they have a significant influence on the algorithm operation—these parameters were selected in an experimental way during the tuning of the algorithm.
Equation (3) can be supplemented by a factor of exploitation—b; it can be described by the following equation (Fig. 3b):
$$\begin{aligned} f_\mathrm{sb}(p,a,b)= f(p)^{\theta } \cdot l(a) \cdot (1-b)+b, \end{aligned}$$
(5)
where b—coefficient of exploration pressure.
This function gives great opportunities to control the algorithm operation. This seemingly simple algorithm hides enormous potential.