<!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>Features of Constructing Scheduling Algorithms in Enterprise Planning Systems*</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Adyghe State University</institution>
          ,
          <addr-line>Maykop</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>Features of the implementation of scheduling algorithms that underlie modern concepts of production planning (Advanced Planning &amp; Scheduling, Enterprise Resource Planning, and Manufacturing Execution Systems) are considered in the article. A generalized scheduling problem is formulated and its belonging to the NP class is proved by polynomial reduction to the traveling salesman problemа. Conceptual schemes of algorithms for solving this problem at different stages of the schedule's life cycle have been developed: an algorithm without decision-making procedures; an algorithm using decision-making procedures and an algorithm with optimization of an acceptable schedule. For each type of algorithm, a place in the hierarchy of enterprise planning systems is defined, the main provisions on work efficiency in a complex production system are formulated, and the mathematical apparatus of scheduling theory is considered and some recommendations for its application are given. The interrelation of the application of analytical and heuristic procedures in finding an acceptable solution is shown.</p>
      </abstract>
      <kwd-group>
        <kwd>planning algorithms</kwd>
        <kwd>scheduling systems</kwd>
        <kwd>greedy algorithms</kwd>
        <kwd>heuristic algorithms</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Schedule theory is used in such subject areas as production management, traffic
management, project planning, resource management in computer systems. However, the
variety of mathematical models and scheduling methods usually poses an inevitable
problem for applied mathematicians and programmers to construct fast algorithms and
their effective software implementation, taking into account the specifics of the
problem being solved. The use of standard solutions for such purposes is extremely limited
*
and inefficient. A more promising solution is the use of an object-oriented approach,
which implies the creation of a system of classes and mechanisms for their interaction
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        To date, to solve the task of scheduling, the capabilities of information systems are
actively used, taking into account the world experience of the largest enterprises in
various industries. Such systems are based on the concept of Enterprise Resource
Planning (ERP), covering a wide range of planning and resource management tasks. Along
with ERP, systems designed to solve highly specialized tasks are widespread. Among
these systems, the following can be distinguished: Advanced Planning &amp; Scheduling
(APS) – development of detailed plans with the ability to control and account for
changes; Manufacturing Execution System (MES) – solving tasks of operational
scheduling and scheduling; and Supply Chain Management (SCM) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>The task of scheduling is one of the main ones in scheduling theory. A characteristic
feature of most problems of this class is their NP - complexity, that is, the impossibility
of finding the exact solution in polynomial time. Complexity theory allows us to answer
the question of whether a particular problem belongs to the class of polynomially
solvable – P. The problem of the relation of the classes of problems P and NP has existed
for many years, therefore heuristic algorithms are used to solve NP problems that find
feasible solutions in polynomial or pseudopolynomial time.</p>
      <p>
        From a mathematical point of view, the task of scheduling is formulated as the
problem of combinatorial optimization of servicing a finite set of operations in a system
containing a limited set of pieces of equipment. A lot of algorithms have been
developed that give an exact solution to classical problems in a time-limited by a polynomial
in the length of the input data. For example, these are various sorting algorithms; classic
algorithms for solving single-instrument problems of scheduling theory; schedule with
interruptions, satisfying the deadlines for an arbitrary number of machines; schedule
for two machines with a minimum total service time and others [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>However, for most of the practical problems arising in industry, transport, and other
specialized technical systems, algorithms for finding optimal solutions in polynomial
time are unknown. This is also because such problems are difficult to formalize (or
impossible), that is, mathematical models of such problems may contain several
assumptions that affect the quality of the output data, or schedules.</p>
      <p>
        One of the ways to solve this problem is the transition from the search for the optimal
solution to the acceptable one. The Boolean penalty function was chosen as the
objective function, for which the result can be easily interpreted into the economic indicators
of the schedule (cost) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>The development of new and modification of existing mathematical models of
scheduling problems in various fields of industry, as well as algorithms for finding
feasible solutions to such problems, is an actual direction in the development of scheduling
theory.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Mathematical Schedule Problem</title>
      <p>Consider the following problem. There are many devices E = {1, …, n}. A certain fund
of time corresponds to each device Hk (k  E). Nomenclature are available N = {1, … ,
m}, on which many operations are defined R = {rij, i  N, j = 1, … , pi}. Precedence
relationships are defined over the entire set of operations j – 1 j. The processing time
of the rij operation on the device is known as Ek – to(rijk). The “classic criteria” is the
minimization of the total processing time of an item, that is:</p>
      <p>This problem belongs to the class NP. We prove this statement using the lemma "on
reducibility".</p>
      <p>Lemma 1 (“on reducibility”)
Let the tasks U, Q  NP. Then the following statements are true:
1. If Q  P, and the problem U polynomially reduces to the task Q, then U  P.
2. If Q  NP, and the problem U polynomially reduces to the task Q, then U  NP.</p>
      <p>
        It is known that the salesman problem  NP [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Let’s carry out the polynomial
reduction of the formulated problem (we denote it by U) to the traveling salesman
problem using Lemma 1.
      </p>
      <p>Let’s represent the set E in the form of a directed graph G without loops with many
vertices V = {1, 2, ... , k}. The arcs between the vertices have weights corresponding to
the values of to(rijk) elements of the set R. The minimum execution time for one element
corresponds to the existence of a Hamiltonian graph in the task Q. Obviously, the
reduction of the sets R and E to the sets G and V is polynomial.</p>
      <p>If the Hamilton cycle exists in the traveling salesman problem, then it follows that
problem U also has an optimal solution. Therefore, if the problem Q is polynomially
solvable, then the problem U  P. And vice versa, if there is no polynomial algorithm
for problem Q, then problem U is not solvable in polynomial time.</p>
      <p>
        The relationship between the classes P and NP is opened in the theory of
NPcompleteness. However, the fact that no polynomial algorithm was found for any
NPcomplete problem indirectly confirms the strict inclusion hypothesis P  NP, that is P
≠ NP [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Scheduling Algorithms Without Any Decision-Making</title>
    </sec>
    <sec id="sec-4">
      <title>Procedures</title>
      <p>Let’s consider the special case when it is required to find any feasible solution in task
U. The optimization criteria, in this case, is not defined.</p>
      <p>
        Tasks of this type are the most common in practice. The obvious solution, in this
case, is the following – it is necessary to take the operation rij and assign it to the
machine Ek from the set R at each iteration. In this case, two conditions must be taken into
account: preservation of the relations of the precedence of operations; the sum of all
operations assigned to the machine does not exceed the value Hk [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>The algorithm for solving the problem is presented in Fig. 1. Here Sorting(R) –
sorting procedure for multiple operations, Error – flag of an error that occurs when one of
the conditions of the loop. The error occurs in two cases: when at the next iteration it is
impossible to assign an operation rij to Ek; when, as a result of the assignment, the
moment of execution of the operation rij+1 occurs before the completion of the processing
of the operation rij.</p>
      <p>
        This task can be considered as the task of assessing the possibility of performing
item N on a variety of device E in the hierarchy of production planning systems [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ].
These are various workshop tasks: calculating the schedule for the workshop, shift, a
separate machine, the entire enterprise.
      </p>
      <p>
        The method of sorting the set of input data affects the result of solving the problem.
It can find a valid or optimal (in some cases) solution on the same set of input data
using sorting. For example, the sequence EDD (requirements are served in
non-decreasing deadlines) is given an optimal solution to the problem 1 || ∑Uj. In terms of
scheduling theory, this problem has the following formulation: minimizing the number of
late requirements [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>Heuristic procedures together with optimal sequences can be used to solve such
problems.
They are based on the knowledge of domain experts, calculations, and other empirical
data. The heuristic method for sorting a set of input data is based on the following
position: the elements of the set R are divided into several groups, the elements of each
of which are sorted according to a certain rule. Thus:</p>
      <p>R = (X1, X2, … , Xn)
where Xi – is the setting in which operations are sorted following rule i; n – several
groups/rules.</p>
      <p>
        So, the work of [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] offers the following methodology for splitting the set of
operations. The initial set is divided into three subsets: large works (their number is limited
by a constant), medium (have a small total length), and small (short works). The process
of building a schedule runs from large to small jobs. At the same time, medium and
small operations are assigned to machines using a greedy algorithm. In terms of
scheduling theory, such a technique is the most consistent with the maximum load criterion
for machines:
where Hk – actual device load Ek.
      </p>
      <p>Indeed, most of the time fund of the device is in lengthy operations. The other
operations are more flexible, that is, characterized by shorter processing times, and can be
reassigned to other machines.</p>
      <p>
        Despite the relative simplicity of the implementation, the assumption made in the
formulation of the original problem significantly narrows the scope of the algorithm for
calculating the schedule without decision-making procedures. Such algorithms are
actively used in systems of the APS class, for which the main factor is the time for
constructing a schedule at very large values N [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-5">
      <title>Scheduling Algorithms with Decision-Making Procedures</title>
      <p>
        For several other production tasks, a simple answer to the question of the existence of
an acceptable solution is not enough. Such tasks belong to the class of operational
planning and are characterized by small values of the planning horizon. To find solutions
to such problems, advanced algorithms are used. They can still apply the sorting
procedure for the input set of operations [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ]. But in this case, the application of this
procedure can only become one of the favorable factors for reducing the computational
complexity of the combinatorial problem, but it is not a factor determining the quality
of the solution. The efficiency of scheduling calculation algorithms with
decision-making procedures, based on the name, is determined by the branching depth in the search
tree for alternative solutions (Fig. 2).
      </p>
      <p>The choice of a vertex is determined by a set of rules that are formed during the
statement of the problem. As with sorting, rules can be analytical or heuristic.</p>
      <p>
        The procedure Pull is responsible for choosing the operation rij from the set R The
difference between analytical and heuristic rules is that in the second case, the
consequences of the choice are not evaluated. The heuristic rules for choosing a vertex are
based on the service time of operation rij on the device Ek. The following rules are
existed [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]: Shortest imminent operation (SIO), Longest remaining time (LRT), First
off – first on (FOFO), First in – first out (FIFO), Last in – first on (LIFO), and Pair
comparison (R). There are also combinations of the above rules, for example, LRT +
SIO, LRT + R, etc. Here the “+” sign plays the role of a condition. That is, if the first
rule cannot be applied, then preference is given to another, but not vice versa.
      </p>
      <p>
        A large number of rules are explained by the variety of production planning tasks.
The inclusion of a rule in the Pull procedure must be justified analytically or
empirically. In practice, expert judgment and weighting methods are used for these purposes.
[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>Verification of the possibility of exclusion of the considered vertex Ek is the basis of
analytical rules. Consider the following example. Let it be an operation rij on an
iteration of the algorithm. It is necessary to decide on the appointment of this operation on
the device from the set E. As in the original statement of the problem, the duration of</p>
      <p>According to the condition of the problem, this value can be different when moving
from one machine to another.</p>
      <p>The criteria for assigning the operation rij to the device Ek consists of the fulfillment of
the condition:
(1)
(2)
processing an operation on machines from the set E and time funds Hk are known Based
on these data, it is possible to determine the amount of time required to complete the
processing of a nomenclature unit Ni in an iteration l:
where tsl – total processing time of a nomenclature unit Ni at an iteration l.</p>
      <p>
        The more effective is the assignment, the lower the value (1). Most of the
computational work is involved in calculating and checking conditions of (2). This problem is
reduced to the task of finding a critical path on a graph [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], where the vertices are
machines from the set E, and in the arcs are values of (2).
      </p>
      <p>
        It should be noted that in practice, analytical rules in a “pure form” are rarely used
due to the high computational complexity. The balance between the accuracy of the
algorithm and the speed of its operation is regulated using the constant C, which limits
the depth of the search. The computational complexity of the schedule calculation
algorithm with decision-making procedures is influenced by the number of rules in the
procedure Pull. At the same time, search operations are not typical for heuristic rules.
They have constant computational complexity, which is numerically equal to the
sorting time of the set R, by the selected criterion. Therefore, algorithms that use heuristic
rules in the Pull procedure are faster than algorithms based on analytical rules [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
5
      </p>
    </sec>
    <sec id="sec-6">
      <title>Optimization Schedule Algorithms</title>
      <p>
        Algorithms with optimization as input receive the calculated allowable schedule, and
the algorithms considered earlier get a lot of operations [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Denote it as Schedule0.
The goal of the optimization algorithm is to find the best solution compared to
Schedule0, taking into account the selected optimization criteria F. Consider the algorithm for
solving this problem in the general form (Fig. 3).
      </p>
      <p>Since optimization is carried out according to a given criterion, it is necessary to
obtain an acceptable schedule at the initial iteration taking into account F. This schedule
is taken as the base. If an error occurs during the next iteration, the algorithm will return
the base schedule as a result. To limit the computational complexity of the algorithm,
the number of optimization operations is introduced, denoted as n. The larger is the n
value, the more accurate the output schedule can be. It is impossible to guarantee a
direct proportional dependence of the number of iterations n on the quality of the
schedule because of the convergence of heuristic algorithms that are used to solve the
optimization problem.</p>
      <p>
        CalculateSchedule procedure solves the optimization problem taking into account
the criterion F, passed as an argument. As a result, the order of rijk assignments in the
Schedule is changed. In addition to solving the optimization problem, it solves the
problem of choosing the initial operation (a return point).
The return point is the vertex on the graph from which the search for the best path in
terms of the problem is started. For large R, the analytic problem of finding a return
point by exhaustive search has complexity n! which does not apply to practical
problems. In particular, the iterative transition method to the previous vertex (branch and
bound method) and the method of returning to the initial vertex also do not provide an
acceptable speed. The following heuristic approaches to determining the return point
are proposed in the literature [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]: consider the return point as the part of the valid
Schedule solution in which only large works are assigned; taking into account that the
speed of the algorithm for calculating the schedule and the number of search vertices
are known, it should be taken as the return point for which the total time of the algorithm
will not exceed the specified value T.
      </p>
      <p>At each iteration, the schedule is calculated for the current set of Schedule
assignments, taking into account criteria F. The graphic meaning of the solution is the
following. Many assignments are represented as a directed graph with vertices rijk. Starting
at some vertex marked with a return point, the algorithm tries to find a different
sequence of assignments. If such a sequence exists, and the value of the criterion Fi is
greater than the similar value of F for the previous iteration, then the solution is
considered improved. This defines the task of finding the critical path.</p>
    </sec>
    <sec id="sec-7">
      <title>Conclusion</title>
      <p>Features of scheduling algorithms used in modern production planning systems were
identified in the article. Knowing the features of the functioning of the corresponding
algorithms at different stages of the life cycle of the schedule makes it possible to
balanced the use of limited computing power and time resources.</p>
      <p>The described methodology for decomposing a complex problem into many simple
ones can be applied by developers of production planning systems. As a further
direction of research development, it is planned to develop a prototype of an information
system for scheduling and synchronization based on an open architecture, which in
terms of MES is a function of Operations – Details Scheduling (ODS).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Anichkin</surname>
            <given-names>A. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Semenov</surname>
            <given-names>V. A.</given-names>
          </string-name>
          <article-title>Actual sheduling theory models and methods</article-title>
          .
          <source>Works of ISP RSA</source>
          . Vol.
          <volume>26</volume>
          . No.
          <issue>3</issue>
          . pp.
          <fpage>5</fpage>
          -
          <lpage>6</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Chernenko</surname>
            <given-names>A. A.</given-names>
          </string-name>
          <article-title>Features of increasing the efficiency of business processes in enterprises of various types by using the capabilities of industrial information systems</article-title>
          .
          <source>New technologies of MSTU</source>
          . Vol.
          <volume>4</volume>
          . pp.
          <fpage>64</fpage>
          -
          <lpage>66</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Lazarev</surname>
            <given-names>A. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gafarov</surname>
            <given-names>E. R.</given-names>
          </string-name>
          <article-title>Scheduling theory. Tasks and algorithms</article-title>
          . M.: MSU of Lomonosov. pp.
          <fpage>40</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Lazarev</surname>
            <given-names>A. A.</given-names>
          </string-name>
          <article-title>Scheduling theory. Estimates of the absolute error and the scheme for the approximate solution scheduling theory problems</article-title>
          . M.: MPTI. pp.
          <fpage>93</fpage>
          -
          <lpage>96</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Shkurba</surname>
            <given-names>V. V.</given-names>
          </string-name>
          <article-title>Calendar planning. Constructive optimization</article-title>
          .
          <source>Automation &amp; Telemechanics</source>
          . Vol.
          <volume>10</volume>
          . pp.
          <fpage>122</fpage>
          -
          <lpage>125</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lavalle Steven M.</surname>
          </string-name>
          <article-title>Planning algorithms</article-title>
          . Cambridge University Press. pp.
          <fpage>236</fpage>
          -
          <lpage>237</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Chernenko</surname>
            <given-names>A. A.</given-names>
          </string-name>
          <article-title>Production schedule management in the information system of operativecalendar planning</article-title>
          .
          <source>Bulletin of the Adyghe State University. Ser. Natural-mathematical and technical sciences</source>
          . Vol.
          <volume>3</volume>
          . No.
          <volume>206</volume>
          . pp.
          <fpage>122</fpage>
          -
          <lpage>128</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. ISA -
          <volume>95</volume>
          .
          <fpage>00</fpage>
          .
          <fpage>01</fpage>
          - CDV3 Enterprise - Control
          <source>System Integration, Part</source>
          <volume>1</volume>
          : Models and Terminology. Research Triangle Park, North Carolina, USA: International Society of Automation,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Williams Theodore J. The</surname>
          </string-name>
          <article-title>Purdue enterprise reference architecture. Computers in industry</article-title>
          . Vol.
          <volume>24</volume>
          . No.
          <issue>2</issue>
          . pp.
          <fpage>141</fpage>
          -
          <lpage>158</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Moore</surname>
            <given-names>J. M.</given-names>
          </string-name>
          <article-title>An n job one machine sequencing algorithm for minimizing the number of late jobs</article-title>
          .
          <source>Manag. Sci</source>
          . Vol.
          <volume>15</volume>
          . No.
          <issue>1</issue>
          . pp.
          <fpage>102</fpage>
          -
          <lpage>109</lpage>
          ,
          <year>1968</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Sevastyanov S</surname>
          </string-name>
          . V.
          <article-title>Geometry methodes and effective algorithms in scheduling theory: dissertation of the doctor of physical and mathematical sciences</article-title>
          .
          <source>Novosibirsk: Sobolev RSA Institute</source>
          ,
          <year>2000</year>
          , pp.
          <fpage>37</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Liqing</surname>
            <given-names>Li</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Hai</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Sichuan</given-names>
            <surname>Mianyang</surname>
          </string-name>
          .
          <article-title>Integrated Production Planning and Scheduling System Design</article-title>
          .
          <source>IEEE</source>
          . pp.
          <fpage>732</fpage>
          -
          <lpage>734</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Dasgupta</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Papadimitriu</surname>
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vazirni</surname>
            <given-names>U.</given-names>
          </string-name>
          <string-name>
            <surname>Algorithms</surname>
          </string-name>
          . M.:
          <string-name>
            <surname>MCIMO</surname>
          </string-name>
          . pp.
          <fpage>106</fpage>
          -
          <lpage>108</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Pinedo Michael L. Scheduling</surname>
          </string-name>
          : Theory, Algorithms, and Systems. Springer Science &amp; Business Media. pp.
          <fpage>209</fpage>
          -
          <lpage>212</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Smolyar</surname>
            <given-names>L. I.</given-names>
          </string-name>
          <article-title>Discrete production operative scheduling models</article-title>
          .
          <source>M.: Science</source>
          . pp.
          <fpage>192</fpage>
          -
          <lpage>193</lpage>
          ,
          <year>1978</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Velychko</surname>
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gordiyenko</surname>
            <given-names>T.</given-names>
          </string-name>
          <article-title>Methodologies of expert's competence evaluation and group expert evaluation</article-title>
          .
          <source>Article in Metallurgical and Mining Industry</source>
          . pp.
          <fpage>262</fpage>
          -
          <lpage>264</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. Cormen Thomas H.
          <article-title>Algorithms unlocked</article-title>
          . The MIT Press, Cambridge, Massachusetts. pp.
          <fpage>237</fpage>
          -
          <lpage>237</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Levitin</surname>
            <given-names>A. A.</given-names>
          </string-name>
          <string-name>
            <surname>Algorithms</surname>
          </string-name>
          .
          <article-title>Introduction into development and analyse</article-title>
          . M.: Villiams. pp.
          <fpage>283</fpage>
          -
          <lpage>284</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Zagidullin</surname>
            <given-names>R. R. Engineering</given-names>
          </string-name>
          <string-name>
            <surname>Planning</surname>
          </string-name>
          . Stariy Oskol: TNT. Pp.
          <volume>315</volume>
          -
          <fpage>319</fpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Farkas</surname>
            <given-names>G. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martinek</surname>
            <given-names>P</given-names>
          </string-name>
          .
          <article-title>Production plan scheduling on SMT manufacturing lines</article-title>
          .
          <source>IEEE 23rd International Symposium for Design and Technology in Electronic Packaging (SIITME)</source>
          . pp.
          <fpage>103</fpage>
          -
          <lpage>104</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>