<!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>Parallelization of the Method of Simulated Annealing when Solving Multicriteria Optimization Problems</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Artificial Intelligent Systems, Lviv Polytechnic National University</institution>
          ,
          <addr-line>12 S. Bandery str., Lviv, 79000</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Ivano-Frankivsk National Technical University of Oil and Gas</institution>
        </aff>
      </contrib-group>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>In the analysis of methods of multicriteria optimization. The detailed implementation of the parallel algorithm of the simulated annealing method is reproduced by the example of the extension of a large-scale travelling salesman problems. For this purpose are used such properties as multithreading and multicore of modern computer systems. An application software system was developed. We conducted a number of experimental studies. Adhering to the results that indicate that more computational process optimization is available that is at the optimal gap of the multicriteria optimization problem, the large rate for probable variations are parallel threads and computer cores.</p>
      </abstract>
      <kwd-group>
        <kwd>Travelling Salesman Problem</kwd>
        <kwd>Parallel Algorithm</kwd>
        <kwd>Multithreading</kwd>
        <kwd>Multicore</kwd>
        <kwd>Efficiency Factor</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In the process of designing intelligent control systems, there is often the task of
determining the best values for the parameters or structure of objects [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. This task is
called optimization. Today, optimization problems and decision-making problems are
modeled and solved in various fields of engineering [
        <xref ref-type="bibr" rid="ref3 ref4 ref5 ref6 ref7">3-7</xref>
        ]. The skills of mathematical
justification for decision making include the skills of mathematical modeling of
optimization problems, the choice of adequate mathematical support (method, algorithm,
software system) with the necessary justification, the analysis of the obtained results
and their interpretation in terms of the subject area.
      </p>
      <p>
        For example, the task of the travelling salesman problem is widely used in
computer-aided design, transportation systems, PCB (printed circuit boards) manufacturing,
protein structure studies, X-ray crystallography, and other fields. An important feature
of these problems is their large dimension and the inability to obtain real-time
solutions [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ].
      </p>
      <p>Purpose and task. The purpose of this work is to parallel the simulated annealing
method and to develop software for large-scale multicriteria optimization. To achieve
this goal, you must solve the following problems:
─ To analyze the existing methods of multicriteria optimization and to outline the
advantages of using the simulated annealing method;
─ Develop an application software system to parallelize large-scale problem solving,
based on the simulated annealing method;
─ Without reducing the generality, as an example of solving a travelling salesman
problem, to evaluate the effectiveness of the proposed algorithm of parallel
calculations in terms of quality and timing of the task based on the experimental studies
and comparative analysis of the results obtained.</p>
      <p>The object of study – Is the process of paralleling the annealing method when
solving large-scale multicriteria optimization problems.</p>
      <p>The subject of the study – Is methods, algorithms and software for solving
largescale multicriteria optimization problems.</p>
      <p>Research methods. The simulated annealing method to solve large-scale
multicriteria optimization problems was analyzed in this work. For the parallelization, it
is suggested to use the many thread properties and Java programming tools.
Algorithm theory, object-oriented programming methods were used in the development of
the software.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Works</title>
      <p>
        The optimization problem as a whole is reduced to finding the extremum (minimum
or maximum) of the objective function with given constraints [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Its mathematical
formulation is as follows:
      </p>
      <p>The values of the vector variables must be defined: x  (x1, x2 ,..., xm ) , which
satisfy the limitation of appearance gi  (x1, x2 ,..., xm )  bi , for every i  1, ..., k and at
which the maximum or minimum of the objective function is reached
f (x)  (x1, x2 ,..., xm ) : f (x)  (x1, x2 ,..., xm )  (max, min) . The final solution to the
problem is a pair that consists of the optimal solution and the optimal value of the
objective function.</p>
      <p>
        The methods of mathematical programming give a great variety of algorithms for
solving this problem [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ]. In general, search algorithms implement methods of
descent to the extremum, in which the values of the objective function are
consistently improved until reaching the extremum. Depending on the possibility of algorithm
of finding a local or global extremum, they are divided into local and global search
algorithms.
      </p>
      <p>Local extremum search algorithms are designed to determine one of the local
extrema on the set of endless solutions in which the objective function takes the
maximum or minimum value. In their construction, both deterministic descent in the
extremum and random search can be used. The deterministic methods distinguish
between zero-order and gradient (1st and 2nd order) methods. The first ones are based
on calculations only of the values of the optimized function. The second use partial
derivatives of the second order. Methods of stochastic programming or neural
networks are used to find extremum in cases where the type of optimized function is not
fully known or its structure is too complex. The effectiveness of the optimal search
procedure - the ability to find the solution and the convergence to the solution on the
speed depend on the type of function and the method applied to it.</p>
      <p>
        Of the direct methods of multicriteria optimization in the search for local
extremum the most famous are [
        <xref ref-type="bibr" rid="ref13 ref14 ref15">13-15</xref>
        ]:
─ coordinate descent – alternate parameter optimization along axes by one of the
known one-dimensional methods;
─ spiral coordinate descent;
─ rotating coordinates (Rosenbrock method);
─ simplex search;
─ Hook-Jeeves sample search and more.
      </p>
      <p>The task of finding the global extremum of a function on a valid set X is to find
the point x  X , for which is executed: f (x )  f (x), f (x )  f (x) for each x  X .
Limitations related to computational error and other factors often do not allow finding
the exact solution to the problem. In this case, there is a search for an approximate
solution, that is, the point of many   optimal solutions
X  x  X : f (x)  f (x )   . Finding the exact solution can be considered as a
case of searching for a close solution with   0 .</p>
      <p>
        The global extremum search algorithms are divided into deterministic, statistical
and combined [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Often, the task of global optimization is reduced to the task of
finding local extrema and finding among them the global optimum, thus, using the
methods of finding local extrema.
      </p>
      <p>
        Determined methods for finding a global solution include the Gomori algorithm or
the cutting-plane method. The latter is an alternative basis for the construction of both
accurate and approximate algorithms for solving integer programming problems.
Currently, their high efficiency in combination with the branch and bound
method [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] is proven. Such hybrid computing schemes are commonly referred to as
branch and clipping method. All of these methods implement a common
computational strategy that consists in solving the sequence of relaxed linear programming
sub-tasks. In the clipping method, relaxed subtasks gradually improve the
approximation of a given integer problem, reducing the neighborhood of the optimal solution.
      </p>
      <p>In severe cases, optimality may not be obtained or proved by an acceptable number
of steps, however, even in this case, the clipping methods allow us to find an
approximate integer solution with a given error (in the previously known neighborhood of
the optimal solution).</p>
      <p>Cutting-plane method algorithms can be effectively used to solve both partial
integer programming problems, including the traveling salesman problem, the maximum
cut problem, the knapsack problem, and the overall integer linear programming
problem.</p>
      <p>Compared to branch and bound methods, cutting-plane methods are more
technological in programming because they do not require extra amount of RAM to store the
decision tree, but at the same time less versatile because they are not able to work
with relaxed subtasks that are convex programming tasks. The first cutting-plane
algorithm was proposed by R.E. Gomori in 1958. Currently, these methods are
effectively used to solve various tasks, including the travelling salesman problem.</p>
      <p>
        Recent studies [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] have also shown that the cuts proposed by Gomori are quite
actual at present. The advantage of this method is that any linearity in the original
statement of the problem remains. This algorithm is quite effective for solving a
certain class of problems – geometric programming. Its main disadvantage is the
requirement of the convexity of the valid area and the increasing dimension of the linear
programming problem from iteration to iteration.
      </p>
      <p>
        Genetic algorithms are a class of optimization methods based on imitations of
processes occurring in nature, in particular natural selection – a concept voiced from the
evolutionary theory of Charles Darwin [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. In accordance with Darwin's theory in
the natural environment, preference for survival and reproduction is given to
individuals most adapted to the conditions of a particular habitat. The main material for
natural selection is natural gene mutations and their combinations obtained by
reproduction. In the course of natural selection, individuals with the greatest fitness function –
a numerical characteristic that is determined according to a specific task - survive.
The most fit individuals get the opportunity to cross (crossover) and give offspring.
The resulting population is then affected by random mutations.
      </p>
      <p>Reformulate the optimization problem as the problem of finding the maximum of a
function f (x1, x2 ,..., xn ) , called the fitness function. It is necessary that
f (x1, x2 ,..., xn )  0 in a limited area of definition, continuity and differentiation are
absolutely not required. Each parameter of the fitness function is encoded by a row of
bits. The individual will be called a row, which is a concatenation of rows of an
ordered set of parameters.</p>
      <p>The versatility of genetic algorithms is that only parameters such as adaptability
and decision coding depend on a particular task. The rest of the steps for all tasks are
the same. With the function of fitness among all individuals, the population
distinguishes:
─ the most adapted, which get the opportunity to cross and give offspring;
─ the worst (bad decisions) that are removed from the population.</p>
      <p>In addition to the global extremum search methods described above, there is also
the method of simulated annealing that was selected in the article for further research.</p>
      <p>The algorithm of simulated annealing is based on the simulation of a physical
process that occurs during crystallization of a substance from a liquid state into a solid,
including when annealing of metal. The final state after crystallization corresponds to
the minimum energy of the lattice configuration.</p>
      <p>Before applying any optimization algorithm, the data on which the model will be
formed are selected according to certain requirements, namely:
1. Volume and representativeness, that is, the data should be as fresh as possible, and
the sample should be large depending on the number of parameters being
optimized.
2. The minimum of rules and parameters, because with the increase of parameters
that are optimized, the probability of fitting the model to historical data increases,
rather than reflecting the real patterns of market behavior.
3. The sample should be divided into two parts. One part of the data to create a
model, the other – to test the created model.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Setting the Тask</title>
      <p>
        Without reducing the generality, let us look at the main aspects of parallelizing the
annealing simulation method, as an example of solving a traveling salesman problem.
It is known that the traveling salesman problem has a wide application [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. However,
an important feature of these tasks is their large dimension, sometimes over one
million points. The traveling salesman problem belongs to the class NP because it has
factorial computational complexity. This, in turn, does not allow accurate resolutions
to be made for large dimension problems in an acceptable time. Therefore, there is a
need to analyze the possibility of parallelizing the solution of the problem and
developing an appropriate application software system [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. An algorithm based on an
annealing simulation method and a property such as multithreading [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] are proposed.
      </p>
      <p>The traveling salesman problem can be represented as a model on a graph, that is,
using vertices and edges between them. Thus, the vertices of the graph correspond to
the cities and the edges (i, j) between vertices i i j - ways of communication
between these cities. To each rib (i, j) it is possible to set the criterion of profitability
of the route Ci, j  0 , which can be understood as, for example, distance between
cities, time or cost of travel. Thus, the solution to the traveling salesman problem is to
find the Hamilton cycle of the minimum weight cycle in a fully weighted graph.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Research Methods and Tools</title>
    </sec>
    <sec id="sec-5">
      <title>4.1. An annealing simulation method</title>
      <p>The following describes the algorithm of the annealing method. This algorithm is
proposed in the paper to be used in solving large-scale multicriteria optimization
problems.</p>
      <p>The main elements of the annealing method are:
1. A limited set S .</p>
      <p>A valid target function J , that is defined at the set S . Let us mark S   S,,
the set of global minimum of the function J .</p>
      <p>For each i  S,, call the set S (i)  S {i} as the set of adjacent nodes of i .
4. For each i set of positive coefficients qij , j  S (i) , such that
 qij  1.
jS (i)</p>
      <p>Suppose that j  S(i) if and only if i  S (i).
5.</p>
      <p>Non-growing function T : N  (0, ), called the freezing schedule and
T (t)  temperature of the moment t.</p>
      <p>6. Initial conditions x(0)  S.</p>
      <p>The algorithm is based on a discrete-time inhomogeneous Markov chain x(t),, whose
development is as follows:
1. If the current state x(t) , equivalent to i , select the next node j for i
randomly, the probability of choosing an individual j  S(i) is qij .
2. Then the next state x(t 1) is defined as follows:
2.1.
2.2.</p>
      <p>If J ( j)  J (i), then x(t 1)  j.</p>
      <p>If</p>
      <p>J ( j)  J (i),
then
x(t 1)  j</p>
      <p>with the probability
exp(J ( j)  J (i) / T (t), else x(t 1)  i.</p>
      <p>Formally,
j  i, j  S(i).</p>
      <p> 1
P  x(t 1)  j x(t)  i  qij  exp 
 T (t)</p>
      <p>
max J ( j)  J (i) ,

of
if</p>
      <p>If j  i, j  S(i), then P x(t 1)  j x(t)  i  0.</p>
      <p>You can justify the described method by considering the inhomogeneous Markov
chain xT (t), for which temperature T (t) is kept constant level of T . Suppose that the
Markov chain is irreducible and aperiodic and qij  q ji for every i, j. Then xT (t)
is a Markov reversible chain with its invariant probability of distribution
1  J (i) 
 T (i)  exp  T  , i  S, where ZT - is the normalizing constant. At T  0,</p>
      <p>
        ZT 
probability distribution  T concentrates on the plural S  the global minimum. The
conditions of convergence of the algorithm are formulated by Hayek [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
      </p>
    </sec>
    <sec id="sec-6">
      <title>4.2. Multithreading in Java</title>
      <p>Java implements integrated multithreaded programming support. A multithreaded
program contains two or more parts that can be executed simultaneously.</p>
      <p>Each part of such a program is called a thread, and each thread specifies a separate
execution path. In other words, multithreading is a specialized form of multitasking.</p>
      <p>In a multitasking environment, the smallest element of managed code is thread.
This means that one program can perform two or more tasks simultaneously. For
example, a text editor can format text at the same time as it is printed, as long as the
two actions are performed by two separate threads.</p>
      <p>Multithreading allows you to write effective programs that make the most of the
available power of the processor of the system. Another advantage of multithreading
is that it minimizes downtime. This is especially important for interactive Java-based
networking environments, as they have idle time and downtime.</p>
      <p>For example, the speed of data transmission over a network is much lower than the
speed at which a computer can process it. Even reading and writing local file system
resources is much slower than the processing speed of the processor. And, of course,
the user enters the keyboard much slower than the computer can process.</p>
      <p>In single-threaded environments, your application is forced to wait for such tasks
to complete before moving on to the next one, even if the program is idle most of the
time, waiting for input. Multithreading helps reduce downtime because other threads
can run while one waits.</p>
      <p>Java assigns to each thread a priority that determines the behavior of that thread
relative to others. Thread priorities are given by integers that determine the relative
priority of one thread over the other.</p>
      <p>The priority value itself is irrelevant – the higher priority of thread is not executed
faster than the lower priority when it is the only executable thread at this time.</p>
      <p>Instead, the thread priority is used to make the decision when switching from one
running thread to another. This is called context switching. The rules that determine
when context switching should take place are quite simple.</p>
      <p>The thread may voluntarily give way to management. To do this, you can either
explicitly concede the execution queue, suspend the thread, or block the I/O wait
time. In this scenario, all other threads are checked, and the CPU resources are
transferred to the thread with the highest priority ready to execute.</p>
      <p>The thread may be interrupted by another, more priority thread.</p>
      <p>In this case, the low priority thread, which is not occupied by the processor, is
simply terminated by the high priority thread, no matter what it does.
5</p>
    </sec>
    <sec id="sec-7">
      <title>Results</title>
      <sec id="sec-7-1">
        <title>The main steps of the program:</title>
        <p>─ Set the initial temperature and random initial solution;
─ We get into a cycle that is active until the condition is reached.
─ Now we choose a neighbor making small changes in the decision.
─ We then decide whether a new decision is worth considering.
─ We reduce the temperature and make a new iteration of the cycle.</p>
      </sec>
      <sec id="sec-7-2">
        <title>Initialization of the temperature</title>
        <p>For better optimization when initiating a temperature variable, you should choose a
temperature that will initially allow practically any movement against the current
solution. This gives the algorithm a better idea of exploring the entire search space
before cooling and settling in a more focused area.</p>
      </sec>
      <sec id="sec-7-3">
        <title>Visualization of the problem and its results</title>
        <p>For a better understanding of the algorithm, we decided to visualize the results. In
Fig. 1 is shown the initial map of the cities to be crawled.</p>
        <p>In Fig. 2 is shown the operation of the algorithm for the number of cities: 20 and
cooling rate 0.1. And in Fig. 3 at the same number of cities and cooling rate – 0.0001.</p>
        <p>In Fig. 4 is shown the operation of the algorithm at a coolingrate of 0.1 and
the number of cities: 100. And in Fig. 5 – at a coolingrate of 0.0001 and the number
of cities: 100.</p>
        <p>From the results of testing the algorithm at different cooling rates, we can conclude
that the lower the cooling temperature, the better the algorithm works to find a
solution to the travelling salesman problem.</p>
        <p>For the sake of clarity and objective assessment of parallelization performance,
tests were conducted on different cities and PCs with different amount of cores.</p>
        <p>In the Tabl. 1 is shows the results of calculations performed on two-core PC
without parallelization.</p>
        <p>Tabl. 1. Solution time of theTSP without parallel on the 2-core, s</p>
        <p>In the Tabl. 2 is shown the results of the calculations performed on two
parallel nuclear PCs.</p>
        <p>Tabl. 2. Solution time of theTSP with 2-core parallel, s</p>
        <p>In the Tabl. 3 is shown the results of the calculations performed on four-core
nonparallel PCs.</p>
        <p>Tabl. 3. Solution time of theTSP without parallel on the 4-core, s</p>
        <p>In Fig. 6 the dependence of the program execution time on the number of flows on
two and four nuclear architectures with/without the use of parallel simulated
annealing method for the number of cities – 20 is presented.</p>
        <p>Here 1 – is dependency without parallelization on a dual-core processor; 2 –
without parallelization on quad-core; 3 – with parallelization on a dual-core processor; 4 –
with a quad-core parallel. These designations are preserved when the following
dependencies are displayed (see Fig. 7-8).</p>
        <p>In Fig. 7 the dependence of the program execution time on the number of threads
on two- and four-core architectures with/without the use of parallel simulated
annealing method for the number of cities – 100 is presented.</p>
        <p>In Fig. 8 shows the dependence of the program execution time on the number of
threads on two- and four-core architectures with/without the use of parallel simulated
annealing method for the number of cities – 600.</p>
        <p>In the process carrying out numerical experiments, it was found that for a small
number of cities, the execution time of the program at parallel is almost
indistinguishable from the execution time of the program in a single thread. But the larger the
number of cities, the better results at parallelization. Also, the program works more
efficiently with more cores of PC.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Conclusion</title>
      <p>In order to organize efficient calculations suitable for large-dimensional problems,
in this work was proposed a parallel algorithm for finding the global extremum – a
method of simulated annealing. An application software system has been developed
to give the opportunity to solve a large-scale traveling salesman problem. The
program is written in Java using a property such as multithreading. On the basis of a
number of numerical experiments, the advantages of the proposed approach were
analyzed: graphs of dependencies of the implementation time of the sequential and
parallel algorithm depending on the dimension of the processed data and the
multicore architecture of the corresponding computing system were constructed. On the
basis of coefficients of efficiency and acceleration the prospects of further
optimization of the computational process due to the modern development of multi-core
systems are investigated.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Baklan</surname>
            ,
            <given-names>I.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bidiuk</surname>
            ,
            <given-names>P.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nesterenko</surname>
            <given-names>O.V.</given-names>
          </string-name>
          :
          <article-title>Designing Intelligent Decision Making Systems, K</article-title>
          . NAU. 196 p. (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Gozhiy</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Basic Aspects of Application of Information Technologies in Scenario Planning Problems. Scientific Works of the ChDU of Petro Mohyla</article-title>
          : Mykolaiv, series: Computer Technologies, № 148, T.
          <volume>160</volume>
          ,
          <fpage>158</fpage>
          -
          <lpage>167</lpage>
          (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Trius</surname>
            ,
            <given-names>Y.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manko</surname>
            ,
            <given-names>M.O.</given-names>
          </string-name>
          :
          <article-title>Web-oriented consulting expert system on optimization methods</article-title>
          . Bulletin of the Cherkasy University. Series: Applied Mathematics. Computer Science, №
          <volume>18</volume>
          .
          <fpage>99</fpage>
          -
          <lpage>114</lpage>
          (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Litvin</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          :
          <article-title>Problems of optimizing the structure and content of ontologies and methods for solving them</article-title>
          .
          <source>Visn</source>
          . Nat. University of Lviv Polytechnic. “
          <article-title>Information systems</article-title>
          and networks”, №
          <volume>715</volume>
          .
          <fpage>189</fpage>
          -
          <lpage>200</lpage>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Prokudin</surname>
            ,
            <given-names>G.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Belous</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          :
          <article-title>One of the approaches to solving the network transport problem. Traffic safety at the crossroads of Ukraine, K.: OOO "Magazine" Rainbow"</article-title>
          ,
          <source>№. 1</source>
          ,
          <issue>2</issue>
          (
          <issue>15</issue>
          ).
          <fpage>52</fpage>
          -
          <lpage>56</lpage>
          (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Syerov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shakhovska</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fedushko</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Method of the Data Adequacy Determination of Personal Medical Profiles</article-title>
          .
          <source>Proceedings of the International Conference of Artificial Intelligence</source>
          , Medical Engineering, Education (
          <year>AIMEE2018</year>
          ).
          <source>Advances in Artificial Systems for Medicine and Education II</source>
          . Volume
          <volume>902</volume>
          ,
          <year>2019</year>
          . pp.
          <fpage>333</fpage>
          -
          <lpage>343</lpage>
          . https://doi.org/10.1007/978-3-
          <fpage>030</fpage>
          -12082-5_
          <fpage>31</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Mastykash</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peleshchyshyn</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fedushko</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trach</surname>
            <given-names>O.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Syerov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <source>Internet Social Environmental Platforms Data Representation, 13th International Scientific and Technical Conference on Computer Sciences and Information Technologies (CSIT)</source>
          , Lviv, Ukraine, pp.
          <fpage>199</fpage>
          -
          <lpage>202</lpage>
          . (
          <year>2018</year>
          ) doi: 10.1109/STC-CSIT.
          <year>2018</year>
          .8526586
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Bazylevyсh</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kutelmakh</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuz</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Methods of clustering of a set of points in a salesman problem with constraints</article-title>
          .
          <source>Visnyk of Lviv</source>
          National University, №
          <volume>672</volume>
          : Computer Science and Information Technology.
          <fpage>207</fpage>
          -
          <lpage>212</lpage>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Bazylevyсh</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kutelmakh</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prasad</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bazylevyсh</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Deсomposition and sсanning optimization algorithms for TSP. Proсeeding of the International Сonferenсe on Theoretiсal and Mathematiсal Foundations of Сomputer Sсienсe, Orlando</article-title>
          , USA.
          <fpage>110</fpage>
          -
          <lpage>116</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Vitlinsky</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tereshchenko</surname>
            ,
            <given-names>T.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Savina</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          :
          <article-title>Economic-mathematical methods and models: optimization: textbook,</article-title>
          K.: KNEU. 303 p. (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Samoilenko</surname>
            ,
            <given-names>M.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skokov</surname>
            ,
            <given-names>B.G.</given-names>
          </string-name>
          :
          <article-title>Operations Research (Mathematical Programming</article-title>
          .
          <source>Queuing Theory): Educ. Manual, Kharkiv: HNAMG</source>
          . 176 p. (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Dunaevskaya</surname>
            ,
            <given-names>O.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Akhiezer</surname>
            ,
            <given-names>E.B.</given-names>
          </string-name>
          :
          <article-title>Essence of mathematical methods and models for solving economic problems</article-title>
          .
          <source>International conferences: Research and optimization of economic processes "Optimum": Kharkov</source>
          .
          <fpage>128</fpage>
          -
          <lpage>134</lpage>
          (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Klimov</surname>
            ,
            <given-names>A.S.:</given-names>
          </string-name>
          <article-title>Numerical methods for solving the problem of optimal design of complex technical systems</article-title>
          . Vis. Nat. aviation. un-ty, №
          <volume>1</volume>
          .
          <fpage>133</fpage>
          -
          <lpage>139</lpage>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Zakharova</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Minashina</surname>
            ,
            <given-names>I.K.</given-names>
          </string-name>
          :
          <article-title>A review of multidimensional optimization methods</article-title>
          . Information processes, T.
          <volume>14</volume>
          , №
          <volume>3</volume>
          .
          <fpage>256</fpage>
          -
          <lpage>274</lpage>
          (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. Sorin Mihai Grad:
          <article-title>Vector Optimization and Monotone Operators via Convex Duality</article-title>
          .
          <source>Recent Advances</source>
          (Springer).
          <volume>269</volume>
          p. (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Larionov</surname>
            ,
            <given-names>Y.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Levikin</surname>
            ,
            <given-names>V.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khazhmuradov</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          :
          <article-title>Research of operations in information systems</article-title>
          . Kharkov: SMIT Company. 364 p. (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Solovyova</surname>
            ,
            <given-names>T. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khristoforova</surname>
            ,
            <given-names>E.I.</given-names>
          </string-name>
          :
          <article-title>The Gomori method for solving integer programming problems</article-title>
          .
          <source>Youth and Science: Proceedings of the VIII All-Russian Scientific and Technical Conference of Students, Post-Graduate Students and Young Scientists</source>
          ,
          <article-title>dedicated to 155-the anniversary of the birth of K. E</article-title>
          . Tsiolkovsky [Electronic resource], Krasnoyarsk: Siberian Federal University. Access mode: http://conf.sfu-kras.ru/sites/mn2012/section11.html (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Boyko</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shakhovska</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Information system of catering selection by using clustering analysis : 2018 IEEE Ukraine Student, Young Professional and Women in Engineering Congress (UKRSYW), October 2 - 6</article-title>
          , Kyiv, Ukraine, pp.
          <fpage>7</fpage>
          -
          <lpage>13</lpage>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Mochurad</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boyko</surname>
          </string-name>
          , N.:
          <article-title>Solving Systems of Nonlinear Equations on Multi-core Processors</article-title>
          .
          <source>DOI: 10.1007/978-3-030-33695-0_8</source>
          , 17 p. (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Schildt</surname>
          </string-name>
          , Herbert: Java.
          <source>The Complete Guide</source>
          ,
          <fpage>8</fpage>
          -th ed.
          <source>M .: ID Williams LLC. 1104</source>
          p. (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Bertsimas</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsitsiklis</surname>
          </string-name>
          , J.:
          <source>Simulated Annealing. Statistical Science</source>
          , Vol.
          <volume>8</volume>
          , №
          <volume>1</volume>
          .
          <fpage>10</fpage>
          -
          <lpage>15</lpage>
          (
          <year>1993</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Mochurad</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shakhovska</surname>
            ,
            <given-names>Kh.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montenegro</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Parallel Solving of Fredholm Integral Equations of the First Kind by Tikhonov Regularization Method Using OpenMP Technology</article-title>
          .
          <source>Advances in Intelligent Systems and Computing IV. DOI: 10.1007/978-3-030-33695-0_3</source>
          , 11 p. (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>