<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Creating Neural Network and Single Solution Human-Based Metaheuristic Methods of Solving the Traveling Salesman Problem</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Anait Karapetyan</string-name>
          <email>a.r.karapetyan@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eugene Fedorov</string-name>
          <email>fedorovee75@ukr.net</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oleksii Smirnov</string-name>
          <email>Dr.smirnovoa@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Central Ukrainian National Technical University</institution>
          ,
          <addr-line>8 Universytetskyi ave., Kropyvnytskyi, 25006</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Cherkasy State Technological University</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>6</volume>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>The problem under review is improving the efficiency of the solution search for the Traveling Salesman Problem. We propose a shortest path neural network training method that executes a calibration of winner neuron weights and his neighbours based on the calculation of the centre of gravity, which allows paralleling the learning process and also utilizes the effective dynamic width of the topological neighbourhood (based on simulated annealing) for the calculation of topological neighbourhood function. A proposed modification to the single solution humanbased metaheuristic allows for potential integer solutions and utilizes a 2-opt permutation in local search neighbourhood creation and a 4-opt permutation in the case of global search. This will increase efficiency in the search for the optimal path by decreasing the computational complexity and increasing the accuracy of solutions.</p>
      </abstract>
      <kwd-group>
        <kwd>1 Travelling salesman problem</kwd>
        <kwd>single solution human-based metaheuristics</kwd>
        <kwd>self-organizing feature map</kwd>
        <kwd>simulated annealing</kwd>
        <kwd>dynamic effective width of the topological neighbourhood</kwd>
        <kwd>rule of the centre of gravity calculation</kwd>
        <kwd>2-opt and 4-opt permutations</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The subject of inquiry. Methods for finding a quasi-optimal solution based on metaheuristics and
artificial neural networks.</p>
      <p>The paper aims to increase the efficiency of a quasi-optimal solution search to the travelling
salesman problem using neural networks and metaheuristic methods.</p>
      <sec id="sec-1-1">
        <title>To achieve this goal, it is necessary to solve the following tasks:</title>
      </sec>
      <sec id="sec-1-2">
        <title>Create an optimization method on an artificial neural network.</title>
        <p>Create an optimization method based on single-solution human-based metaheuristics.</p>
      </sec>
      <sec id="sec-1-3">
        <title>Conduct a quantitative study of the proposed optimization method.</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Problem statement</title>
      <p>The problem of increasing the efficiency of solution search to the travelling salesman problem based
on single-solution human-based metaheuristics is presented as the problem of finding local and global
search operators Alocal and Aglobal respectively, its application provides a search for such a solution,
under which F(x* )  min and T  min .</p>
      <p>The problem of increasing the efficiency of searching for a solution to the travelling salesman
problem based on a neural network is reduced to the problem of finding such a vector of parameters W
that satisfies the criterion for the adequacy of the quasi-optimal solution search model
1 P
F   ( f (x ,W )  d )2  min i.e. they result in the minimum mean square error (the difference</p>
      <p>P  1 W
between the model output and the desired output), where  is the power of the test set   .– -th
training input value, d  .– -th - training output value.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Literature Review</title>
      <p>The advantage of single-solution human-based metaheuristics is the ease of implementation, low
computational complexity (no need to calculate a population of potential solutions), a small number of
adjustable parameters and operators, and no requirement to model the behaviour of objects of different
nature [1-3].</p>
      <p>Existing metaheuristics suffer from one or more of the following disadvantages:
 there is only an abstract description of the method, or the description of the method is focused
on solving only a specific problem [4-5];
 the convergence of the method is not guaranteed [7-6];
 the influence of the iteration number on the process of finding a solution is not taken into
account [8-9];
 the procedure for determining the values of parameters is not automated; [11-10]
 there is no possibility of using non-binary potential solutions [13-12];
 insufficient accuracy of the method [14-15] ;
 there is no possibility of solving problems of conditional optimization [16-17];
This raises the problem of constructing efficient metaheuristic optimization methods.
Existing neural networks suffer from one or more of the following disadvantages:
 high probability of the learning and adaptation method hitting the local extremum[18-19];
 difficulty in determining the structure of the network since there are no algorithms for
calculating the number of layers and neurons in each layer for specific applications [20-21];
 inaccessibility for human understanding of the knowledge accumulated by the network (it is
impossible to represent the relationship between output and output in the form of rules) since they
are distributed among all elements of the neural network and are presented in the form of its weight
coefficients [22];
 the difficulty of forming a representative sample [23];</p>
      <p>In this regard, the problem arises of constructing effective neural network optimization methods.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Self-organizing feature map</title>
      <p>A one-dimensional self-organizing feature map (SOFM) [24-25] is a single-layer non-recurrent
network. The neurons of the input layer correspond to the coordinates of the vertices. Before running
the network, the neurons of the output layer correspond to the points of the multidimensional sphere (if
the vertices are given on the plane, then these neurons correspond to the points of the ring), and after
running the network, they correspond to the points in the obtained suboptimal path. In contrast to the
classical learning method, in this paper, the weights of the winning neuron and its neighbours are
adjusted not based on the Kohonen rule but based on calculation of the centre of gravity, which makes
it possible to parallelize the learning process. [26-27]. In addition, unlike the classical learning method,
this paper uses the effective dynamic width of the topological neighbourhood (based on simulated
annealing) to calculate the topological neighbourhood function, which allows to explore the entire
search space at the initial iterations and make the search directed at the final iterations, which ensures
high search accuracy of this neural network.</p>
      <sec id="sec-4-1">
        <title>The training method consists of the following steps: 1.</title>
        <p>Training iteration number  = 1, initialization of all network weights   ( ),  ∈ 1,  , ∈
1,  ℎ so that the point with coordinates (  1( ), . . . ,  
an M -dimensional sphere of radius 
∈ (0,1], where 
( )) is located on the is on the surface of
– the number of input layer neurons (or the
length of the vertex coordinate vector),  ℎ -the number of neurons in the output layer, usually 
≤
A set of vertex coordinates is specified {  |  ∈   },  ∈ 1,  , where   –  - vertex coordinate
 ℎ ≤ 3 .
vector.</p>
        <p>2.
3.
  = 
example,
Initial shortest distance  ( ) =0.</p>
      </sec>
      <sec id="sec-4-2">
        <title>The maximum number of iterations N is set.</title>
      </sec>
      <sec id="sec-4-3">
        <title>Calculation of the distance to all neurons of the network</title>
        <p>The distance  
from the  vertex to each j neuron is determined by the formula:  
=

∑
 =1( 
and the winning neuron is selected   ∗ for which the distance  
is the shortest.</p>
        <p>Setting the weights of the winning neuron   ∗ and its neighbours based on the calculation of the
centre of mass of the j cluster.</p>
        <p>( + 1) =</p>
        <p>∑ =1 ℎ , ∗ ( )</p>
        <p>∑ =1 ℎ , ∗ ( )</p>
        <p>,  ∈ 1,  ,  ∈ 1,  ℎ,
where ℎ , ∗( ) - is the topological neighbourhood function, which is equal to 1 for  =  ∗and
decreases as the distance between the  and  ∗ neurons in the topological space increase. For
ℎ , ∗( ) = {

(−
 2( ,  ∗)
2 2( )
) ,  ( ,  ∗) &lt;  ( )
 ( ,  ∗) ≥  ( )
 ( ,  ∗) =</p>
        <p>{| −  ∗|,  (1) − | −  ∗|},
 ( ) – the effective width of the topological neighbourhood (the "diameter" of the topological
neighbourhood function) decreases with time. In this paper, it is calculated based on simulated
annealing
 ( ) =  0 
 ( ) =    (0),
(−</p>
        <p>1
 ( )</p>
        <p>),
 0 – initial effective width of the topological neighbourhood,
5.
6.
 
7.</p>
        <p>The result is a vector of top-rank pairs ((1,  1∗), . . . , ( ,   ∗ ))</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Iterated local search</title>
      <p>Iterated local search was proposed by Stutzle [28]. The algorithm consists of two phases
perturbation and local search. The use of a perturbation action makes it possible to avoid local optima
in a local search. Too little perturbation makes the algorithm greedy. In this paper, the perturbation
consists of the formation of a new solution by a permutation called "4-opt" (the current solution is
randomly divided into 4 parts, which become in order 1,4,3,2), and the local search consists of the
formation of a new solution by permutation called "2-opt" (the elements of the new solution, located
between two randomly selected vertices, are rearranged in reverse order).</p>
      <sec id="sec-5-1">
        <title>The method consists of the following steps:</title>
        <p>1.</p>
        <p>Initialization
1.1. Setting the maximum number of iterations  1; the maximum number of local search iterations
 2, where no new best solution is found; vertex vector lengths  .
1.2. An ordered set of vertices is specified  = {1, . . . ,  } and the edge weight matrix [  ],  ,  ∈
and the selection of these
1.3. Specifying the Cost Function (Goal Function)
 – vertex vector.
1.4. Set by randomly ordering the set  , the best vertex vector  ∗.</p>
      </sec>
      <sec id="sec-5-2">
        <title>1.5. Local search based on 2-opt</title>
        <p>1.5.1.</p>
        <sec id="sec-5-2-1">
          <title>1.5.2. Two vertices  1 и  2, are randomly selected from the vector  ∗</title>
          <p>vertices continues until the condition 1 &lt;  2 −  1 &lt; 
− 1 is satisfied.</p>
          <p>The vector is created
1.5.3. Based on the vector
 ∗ = ( 1∗, . . . ,  ∗1−1,  ∗1, . . . ,  ∗2,  ∗2+1, . . . ,  ∗ )
 = ( 1∗, . . . ,  ∗1−1,  ∗2, . . . ,  ∗1,  ∗2+1, . . . ,  ∗ ),
1.5.4. If  ( ) &lt;  ( ∗), then  ∗ =  , 
i.e. vertexes  ∗1, . . . ,  ∗2 are transmitted in reverse order.
2.
1.5.5. If</p>
          <p>&lt;  2, then go to step 1.5.2.</p>
        </sec>
      </sec>
      <sec id="sec-5-3">
        <title>Iteration number</title>
        <p>where  (0,1) – a function that returns a uniformly distributed random number in a range [0,1]</p>
      </sec>
      <sec id="sec-5-4">
        <title>3.2. Based on the vector</title>
        <p>x∗ = (x1∗, . . . , xc∗1−1, xc∗1, . . . , xc∗2−1, xc∗2, . . . , xc∗3−1, xc∗3, . . . , xM∗)
x̑ = (x1∗, . . . , xc∗1−1, xc∗3, . . . , xc∗M, xc∗2, . . . , xc∗3−1, xc∗1, . . . , xc∗2−1)</p>
        <sec id="sec-5-4-1">
          <title>4.2. Two vertices c1 и c2, are randomly selected from the vector x∗</title>
          <p>vertices continues until the condition 1 &lt; c2 − c1 &lt; M − 1 is satisfied.</p>
        </sec>
      </sec>
      <sec id="sec-5-5">
        <title>4.3. Based on the vector</title>
        <p>x̑ = (x̑ 1, . . . , x̑ c1−1,  ̑ 1, . . . ,  ̑ 2,  ̑ 2+1, . . . ,  ̑ )
 ̆ = ( ̑1, . . . ,  ̑ 1−1,  ̑ 2, . . . ,  ̑ 1,  ̑ 2+1, . . . ,  ̑ )
i.e. the vertices  ̑ 1, . . . ,  ̑ 2 are rearranged in reverse order.
4.4. If  ( ̆) &lt;  ( ̑ ), then  ̑ =  ̆,  = 0, otherwise  =  + 1
4.5. If</p>
        <p>If  ( ̑ ) &lt;  ( ∗), then  ∗ =  ̑</p>
        <p>&lt;  2, then go to step 4.2.</p>
        <sec id="sec-5-5-1">
          <title>The result is  ∗.</title>
          <p>If 
is a local minimum for one neighbourhood, possibly not a local minimum for another
the global minimum is a local minimum for all possible neighbourhoods;
local minima are relatively close to global minima.</p>
          <p>In this paper, the creation of a neighbourhood and a local search consists of the formation of a new</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Search with variable neighbourhood</title>
      <p>search in an growing neighbourhood.</p>
      <sec id="sec-6-1">
        <title>This algorithm is based on three principles:</title>
        <p>neighbourhood;
solution by a permutation called "2-opt".</p>
      </sec>
      <sec id="sec-6-2">
        <title>The method consists of the following steps:</title>
      </sec>
      <sec id="sec-6-3">
        <title>An example of numbered list is as following. Initialization 5. 6.</title>
        <p>1,  .
1.3.
1.4.
2.
3.
4.</p>
        <p>Variable neighbourhood search was proposed by Mladenović and Hansen [28] and used a local</p>
        <p>Setting the maximum number of iterations  1; the maximum number of local search iterations
 2, where no new best solution is found; maximum neighbourhood size  3; vertex vector lengths
An ordered set of vertices is specified  = {1, . . . ,  } and the edge weight matrix [   ],  ,  ∈
Specifying the Cost Function (Goal Function)</p>
        <sec id="sec-6-3-1">
          <title>Is set by randomly ordering the set  , the best vertex vector ∗.</title>
          <p>Iteration number  = 0.</p>
        </sec>
      </sec>
      <sec id="sec-6-4">
        <title>Neighbourhood size</title>
        <p>Create a neighbourhood   ∗ solutions  ∗ based on 2-opt
4.1.  = 1
4.2. Two vertices  1 и  2, are randomly selected from the vector  ∗
vertices continues until the condition 1 &lt;  2 −  1 &lt;  − 1 is satisfied.
and the selection of these
4.3. Based on the vector
the vector is created
 ∗ = ( 1∗, . . . ,  ∗1−1,  ∗1, . . . ,  ∗2,  ∗2+1, . . . ,  ∗ )
i.e. the vertices  ∗1, . . . ,  ∗2
4.4. If   ∉   ∗, то   ∗ =   ∗ ∪ {  },  =  + 1
  = ( 1∗, . . . ,  ∗1−1,  ∗2, . . . ,  ∗1,  ∗2+1, . . . ,  ∗ )</p>
        <p>are rearranged in reverse order.
4.5. If  ≤  , then go to step 4.2.
5.
6.
6.1.</p>
        <p>= 0</p>
        <p>Vector  ̑ is randomly selected from the neighbourhood   ∗
6.2. Two vertices  1 и  2, are randomly selected from the vector  ̑ and the selection of these
vertices continues until the condition 1 &lt;  2 −  1 &lt;  − 1 is satisfied.
6.3. Based on the vector
 ̆ = ( ̑1, . . . ,  ̑ 1−1,  ̑ 2, . . . ,  ̑ 1,  ̑ 2+1, . . . ,  ̑ )
i.e. the vertices ̑ 1, . . . ,  ̑ 2 are rearranged in reverse order.
6.4. If  ( ̆) &lt;  ( ̑ ), then  ̑ =  ̆, 
7.
8.</p>
        <sec id="sec-6-4-1">
          <title>The result is  ∗.</title>
          <p>If  ( ̑ ) &lt;  ( ∗), then  ∗ =  ̑ ,  = 0, go to step 3, otherwise  =  + 1
If 
If 
&lt;  3, then 
&lt;  1, then go to step 3</p>
          <p>=  + 1, go to step 4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>7. Greedy randomized adaptive search</title>
      <p>Greedy randomized adaptive search was proposed by Feo and Resende [29]. The algorithm consists
of two phases - a greedy randomized procedure and a local search. The goal of the algorithm is to
repeatedly generate random greedy solutions and then use a local search to bring these solutions closer
to local optima. In this paper, local search consists of the formation of a new solution by a permutation
called "2-opt".</p>
      <sec id="sec-7-1">
        <title>The method consists of the following steps:</title>
        <p>1.</p>
        <p>Initialization
1.1. Setting the greediness parameter  or a greedy randomized procedure, where  ∈ [0,1]
(where</p>
        <p>= 0 maximum greed)
1.2. Setting the maximum number of iterations  1; the maximum number of local search iterations
 2, where no new best solution is found; vertex vector lengths  .
1.3. An ordered set of vertices is specified  = {1, . . . ,  } and the edge weight matrix [  ],  ,  ∈</p>
      </sec>
      <sec id="sec-7-2">
        <title>1.4. Specifying the Cost Function (Goal Function)</title>
        <p>1.5.  ( ) =    , 1 + ∑ =−11    ,  +1 → 


,</p>
        <sec id="sec-7-2-1">
          <title>Set by randomly ordering the set  , the best vertex vector  ∗.</title>
        </sec>
      </sec>
      <sec id="sec-7-3">
        <title>Running a greedy randomized procedure</title>
        <sec id="sec-7-3-1">
          <title>3.1. A vertex vcur</title>
          <p>is randomly selected from the plurality of vertices.</p>
          <p>From a set of vertices V, a vertex is randomly selected vcurThe initialization of the set of forbidden
3.2. Creating a set of allowed vertices  ̃ =  \ 
vertices is Vtabu = {vcur}, number of forbidden vertices l = 1, x̑ 1 = vcur
, initialization of the set of restricted
candidates</p>
          <p>3.3. 
3.4. If   
 ∈1,|̃|

,̃ , 
, ̃ ≤     
= ∅, vertex number  = 1

 ∈1,|̃|

, then  
=  
∪ { ̃ }
3.5. If  &lt; | ̃|, then  =  + 1, go to step 3.3
3.6. From a set  
a vertex is randomly selected  
,  
∪ { 
},  ̑ +1 =  
4.2. Two vertices  1 и  2, are randomly selected from the vector  ̑ and the selection of these
vertices continues until the condition 1 &lt;  2 −  1 &lt;  − 1 is satisfied.
4.3. Based on the vector
x̑ = (x̑ 1, . . . , x̑ c1−1, x̑ c1, . . . , x̑ c2, x̑ c2+1, . . . , x̑ M)
x̆ = (x̑ 1, . . . , x̑ c1−1, x̑ c2, . . . , x̑ c1, x̑ c2+1, . . . , x̑ M)
i.e. the vertices x̑ c1, . . . , x̑ c2 are rearranged in reverse order.
4.4. If F(x̆) &lt; F(x̑ ), then x̑ = x̆, m = 0, otherwise m = m + 1
5.
4.5. If m &lt; N2, then go to step4.2.</p>
          <p>If F(x̑ ) &lt; F(x∗), then x</p>
          <p>∗ = x̑
If n &lt; N1, then n = n + 1, go to step 3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>8. Guided local search</title>
      <p>Guided local search was proposed by Voudouris and Tsang [29]. The algorithm consists of two
phases - local search and penalty modification. The use of a penalty function that increases the value of
the goal function makes it possible to avoid local optima in local search. In this paper, local search
consists of the formation of a new solution by a permutation called "2-opt".</p>
      <sec id="sec-8-1">
        <title>The method consists of the following steps:</title>
        <p>1.</p>
        <p>Initialization
1.1. Setting the scaling factor of the penalty function  , and  &gt; 0 (for large  the entire search
space is explored, for small  the search becomes directed)
1.2. Setting the maximum number of iterations  1
iterations  2, where no new best solution is found; vertex vector lengths  .
1.3. An ordered set of vertices is specified  = {1, . . . ,  } and the edge weight matrix [  ],  ,  ∈
; the maximum number of local search
1.4. Specifying the Cost Function (Goal Function)
 – vertex vector.
1.5. Specifying the penalty function
– edge weight (  ,   +1),   ,   +1 ∈  ,
  ( ,  ) =    , 1 + ∑    ,  +1
 −1
 =1
where    ,  +1– edge penalty (  ,   +1),   ,   +1 ∈ 
1.6. Specifying an Extended Cost Function (Goal Function)</p>
        <p>( ,  ) =  ( )+  ⋅   ( ,  ) → 
1.7. Setting the utility function
  ( ,  ,  ) = {    , 1 ,
1+   ,  +1
1+   , 1
   ,  +1 , 1 ≤  &lt; 
 =</p>
        <p>,  ∈ 1, 
1.9.</p>
        <p>The current solution is set  ̑ , and  ̑ =  ∗.</p>
      </sec>
      <sec id="sec-8-2">
        <title>1.10. Penalties are initialized</title>
        <p>= 0,  ,  ∈ 1,</p>
        <p>Iteration number  = 1.</p>
        <p>Local search based on 2-opt</p>
        <p>= 0
1.8. Set by randomly ordering the set  , the best vertex vector  ∗.
3.2. Two vertices  1 и  2, are randomly selected from the vector  ̑ and the selection of these
vertices continues until the condition 1 &lt;  2 −  1 &lt;  − 1 is satisfied.
3.3. Based on the vector
i.e. the vertices  ̑ 1, . . . ,  ̑ 2 are rearranged in reverse order.
3.4. If   ( ̆,  ) &lt; 
 ( ̑ ,  ), then  ̑ =  ̆,</p>
        <p>= 0, otherwise  =  + 1
3.5. If 
4.1.  ∗ =</p>
        <p>The penalties are modified
&lt;  2, then go to step3.2.</p>
        <p>( ̑ ,  ,  )
4.2. If 1 ≤  ∗ &lt;  , then   ̑ ∗, ̑ ∗+1

=   ̑ ∗, ̑ ∗+1

5.</p>
        <sec id="sec-8-2-1">
          <title>The result is  ∗.</title>
          <p>If  ( ̑ ) &lt;  ( ∗), then  ∗ =  ̑ .</p>
          <p>If  ∗ =  , then   ̑ , ̑1 =   ̑ , ̑1 + 1
If 
9. Partial optimization metaheuristic under special intensification conditions</p>
          <p>Partial optimization metaheuristic under special intensification conditions was proposed by Taillard
and Voss [30]. The algorithm consists of four phases - the choice of the number of the component (part)
of the solution, the creation of a set of components closest to the selected one, the optimization
procedure, and the analysis of the resulting solution. The larger the number of nearest components, the
larger the neighbourhood. In the optimization procedure (for example, search with tabus), only the
nearest components of the solution are changed (in the case of the problem of finding the optimal path,
these are vertices). In this paper, the creation of a neighbourhood consists of forming a new solution by
a permutation called "2-opt".The method consists of the following steps:
1.</p>
          <p>Initialization
1.1. Setting the maximum number of nearest components  , the maximum number of iterations  1;
the maximum number of search iterations with tabus  2; the size of neighbourhood  ; solution
= {1, . . . ,  } and the edge weight matrix [  ],  ,  ∈
length  ; maximum length of the tabu list  
1.2. An ordered set of vertices is specified</p>
          <p>.
1.3. Specifying the Cost Function (Goal Function)</p>
          <p>,
– edge weight (  ,   +1),   ,   +1 ∈  ,</p>
        </sec>
        <sec id="sec-8-2-2">
          <title>1.4. Set by randomly ordering the set  , the best vertex vector  ∗.</title>
          <p>1.5. The current solution is set  ̑ , and  ̑ =  ∗.</p>
        </sec>
        <sec id="sec-8-2-3">
          <title>1.6. Initialization of the set of tabu vertices</title>
          <p>= ∅.</p>
          <p>Iteration number  = 1.</p>
          <p>The number of the solution component is randomly selected  , and  ̑ ∉</p>
        </sec>
        <sec id="sec-8-2-4">
          <title>Creating a set of vertex numbers</title>
        </sec>
        <sec id="sec-8-2-5">
          <title>4.1. All vertices  ̑ are sorted by proximity to the vertex  ̑</title>
        </sec>
        <sec id="sec-8-2-6">
          <title>4.2. Q of the top (closest) vertices are selected, from which a set   is created</title>
          <p>Optimization procedure - use of search with prohibitions
5.1. Initializing the tabu list 
= ∅</p>
        </sec>
      </sec>
      <sec id="sec-8-3">
        <title>5.2. Search iteration number with tabus</title>
        <p>Two vertices  1 и  2, are randomly selected from the vector  ̑ and the selection of these
 ̑ = ( ̑1, . . . ,  ̑ 1−1,  ̑ 1, . . . ,  ̑ 2,  ̑ 2+1, . . . ,  ̑ )
  = ( ̑1, . . . ,  ̑ 1−1,  ̑ 2, . . . ,  ̑ 1,  ̑ 2+1, . . . ,  ̑ )
i.e. the vertices  ̑ 1, . . . ,  ̑ 2 are rearranged in reverse order.
− 1 ∧  1,  2 ∈   is satisfied.</p>
        <p>A pair of tabu edges is created   = (( 1 − 1,  1), ( 2 − 1,  2)) for the vertex vector  
If  &lt; 
∧ (  ,   , +1) ∈  or  =</p>
        <p>∧ (  ,   1) ∈  , then go to step 5.3.2
If  ≤  , then go to step 5.3.3.</p>
        <p>If  &lt;  , then  =  + 1, go to step 5.3.6
If   ∉   ̑ , then   ̑ =   ̑ ∪ {  },  =  + 1,</p>
        <p>neighbourhood   ̑ a solution with the lowest price is selected   ∗, i.e.  ∗ =
5.3.5.  = 1
5.3.4.
5.3.6.
5.3.7.
5.3.8.
5.3.9.

5.4. From</p>
        <p>(  )
5.6.  ̑ =   ∗.
5.8. If | | &gt;  
list  .
5.9. If</p>
        <p>&lt;  2, then</p>
        <p>If  ̑ =  ∗, then  
6.</p>
        <sec id="sec-8-3-1">
          <title>The result is  ∗.</title>
          <p>If</p>
          <p>&lt;  1 и | 
10. Quantitative study
5.5. If  (  ∗ ) ≥  ( ̑ ), then go to step 5.9
5.7. A pair of edges is placed at the start of the tabu list .
otherwise  ∗ =  ̑ ,  
\  (a weaker version is possible  
= ∅)
| &lt;  , then  =  + 1, go to step 3
, then a pair of edges that were tabued earlier is pushed from the end of the tabu
= 
+ 1, go to step 5.3
∪ { } (a stronger version is possible</p>
          <p>The quantitative study of the proposed optimization methods was carried out using the Matlab
package. For the traveling salesman problem, the search for a solution was carried out on the standard
database berlin52. For this database, the optimal path length is 7542.</p>
          <p>In this paper, for a self-organizing feature map, the annealing temperature decrease function is
determined by the formula  ( ) =    0 and is shown in Fig.1. In this case, the initial effective width
of the topological neighbourhood is 1, the initial temperature is 106, and the cooling coefficient is 0.94.</p>
          <p>1 )and is presented in Fig.2
 ( )</p>
          <p>The dependence (Fig. 2) of the effective width of the topological neighbourhood on the annealing
temperature shows that the effective width of the topological neighbourhood decreases with decreasing
temperature.</p>
          <p>The results of comparing the proposed SOFM learning method with the existing one based on the
criteria of time and path length are presented in Table 1, where M is the number of input layer neurons
(or the length of the vertex coordinate vector), N^h is the number of output layer neurons, N is the
maximum number of iterations.</p>
          <p>According to Table 1, the proposed teaching method gives a faster and more accurate result than the
existing teaching method.</p>
          <p>In this paper, for single-solution human-based metaheuristics, the maximum number of iterations is
100, and the neighbourhood size is 50. The penalty function scaling factor is 70, the greed parameter is
0.3, the maximum number of nearest components is 10, and the maximum length of the prohibition list
is 3.</p>
          <p>The results of the comparison of the proposed methods with the taboo search method based on the
length of the path are presented in Table 2.</p>
          <p>Table 2
Comparison of Proposed Single-Solution Human-Based Metaheuristics with Taboo Search Method
7919
8296</p>
          <p>According to Table 2, the proposed single-solution human-based metaheuristics give a more
accurate result than the taboo search, and the partial optimization metaheuristic under special
intensification conditions is the most accurate.
11. Conclusions
1. The urgent task of increasing the efficiency of methods for solving the traveling salesman
problem was undertaken by creating methods based on artificial neural networks and single-solution
human-based metaheuristics.
2. The proposed modification of the learning method for a self-organizing feature map uses:
 setting weights of the winning neuron and its neighbours based on the calculation of the centre
of gravity, this allows for accelerating the training of this neural network due to parallelization (in
case of GPU use);
 the effective dynamic width of the topological neighbourhood for calculating the topological
neighbourhood function, which allows to explore the entire search space at the initial iterations and
make the search directed at the final iterations, this ensures high accuracy of the search through this
neural network.
3. A modification of single-solution human-based metaheuristics is proposed that allows potential
integer solutions and uses a 2-opt permutation in the case of a local search neighbourhood creation,
and a 4-opt permutation in the case of a global search, which allows adapting these metaheuristics
to solve the traveling salesman problem.</p>
          <p>The proposed methods make it possible to expand the scope of application of the self-organizing
feature map and single-solution human-based metaheuristics, which is confirmed by their adaptation to
the traveling salesman problem and contributes improve efficiency of intelligent computational
systems.</p>
          <p>Prospects for further research are the study of the implementation of the proposed method on a broad
class of artificial intelligence problems.
12.References
[1] Rothlauf F. Design of modern heuristics: Principles and application / F. Rothlauf. – New York:</p>
          <p>Springer-Verlag, 2011. – 267 p.
[2] Nakib A. Metaheuristics for Medicine and Biology / Nakib A., Talbi El-G. – Berlin:
Springer</p>
          <p>Verlag, 2017. – 211 p.
[3] Engelbrecht A.P. Computational Intelligence: an introduction / A.P. Engelbrecht. – Chichester,</p>
          <p>West Sussex: Wiley &amp; Sons, 2007. – 630 p.
[4] Yu X. Introduction to evolutionary algorithms / X. Yu, M. Gen. – London: Springer-Verlag, 2010.</p>
          <p>– 433 p.
[5] Subbotin S. Diagnostic Rule Mining Based on Artificial Immune System for a Case of Uneven
Distribution of Classes in Sample / S. Subbotin, A. Oliinyk, V. Levashenko, E. Zaitseva //
Communications. – Vol.3. – 2016. – P.3-11.
[6] Yang X.-S. Nature-inspired Algorithms and Applied Optimization / X.-S. Yang. – Charm:</p>
          <p>Springer, 2018. – 330 pp.
[7] Blum C. Hybrid Metaheuristics. Powerful Tools for Optimization / C. Blum, G. R. Raidl. – Charm:</p>
          <p>Springer, 2016. – 157 p.
[8] Martí R., Handbook of Heuristics / R. Martí, P.M. Pardalos, M.G.C. Resende. – Charm: Springer,
2018. – 1289 p.</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          where    , 1 - edge weight (  ,   +1),   ,   +1 ∈  ,  - vertex
          <string-name>
            <surname>vector</surname>
          </string-name>
          . - edge
          <string-name>
            <surname>weight</surname>
          </string-name>
          (  ,   +1),   ,   +1 ∈  ,  - vertex vector.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>