UDC 519.854.2 PAVLOV A.A. THE OPTIMALITY SIGNS OF FEASIBLE SOLUTIONS OF INTRACTABLE COMBINATORIAL OPTIMIZATION PROBLEMS In the article for several types of intractable single-stage scheduling problems the optimality signs of a feasible solution are formulated which are the theoretical basis for the construction the polynomial component of the PDCalgorithms for these problems. Introduction Most of the discrete mathematical models constructed for the analysis and synthesis of complex systems are either NP-complete or are not easier than NP-complete problems. In particular, most of the scheduling problems belong to this class [1]. Analysis of difficulties encountered in the calculations on the way of effective methods creation for solving such problems has led to the following problem: is it possible to exclude the search of all, or almost all the variations in the problem? This problem is explored in the theory of NP-complete problems that has been formed on the basis of works by Stephen Cook, Richard Karp, Leonid Levin et al [2]. If the hypothesis P ≠ NP is true then exact polynomial algorithms for solving this class of problems do not exist [2]. It can only be possible to set off in certain classes of NPcomplete problems the subclasses (defined by the restrictions imposed on the parameters of a combinatorial problem) for which the exact polynomial algorithms are generated [2]. In general, the effective are only approximate and heuristic algorithms. In [1, 3, 4], the new approach is exposed to the possibility of obtaining exact solutions for NPcomplete problems of sufficiently high dimension, which was formed as a theory of PDC algorithms. PDC-algorithm is an algorithm [1] consisting of the polynomial and the exponential component, which may contain conditions of the original problem decomposition into sub-problems of smaller dimension (usually the polynomial component is a part of the exponential component). The upper bound of the polynomial component complexity is known. The polynomial component is generated by the logical-analytic conditions (p-conditions), the fulfillment of which by a feasible solution obtained as a result of the polynomial part of the PDC-algorithm defines it as an optimal. p-conditions are found in a result of theoretical studies of the corresponding class of intractable combinatorial optimization problems. The average efficiency of the polynomial component of the PDC-algorithm is found by statistical methods [1]. The polynomial compo- nent of the PDC-algorithm is synthesized in such a way that the sequential procedure of feasible solutions constructing was the most effective in terms of realization of the p-conditions (the optimality signs of feasible solutions). Sometimes the exponential component of the PDC-algorithm is replaced by an algorithm of polynomial complexity which leads to an approximate (suboptimal) solution [1]. Despite common methodology of PDC-algorithms construction, their particular implementation for the various classes of intractable combinatorial optimization problems (in particular their polynomial component) leads to completely different algorithms [1, 3, 4]. Thus, the construction of the PDC-algorithm for an intractable combinatorial optimization problem is uniquely determined by the ability to produce for this class of problems the constructive (simply checked) optimality signs of a feasible solution. In this paper a number of new single-stage scheduling problems are formulated, for each of them the p-conditions (optimality signs of a feasible solution) are found. The results implement a possibility of constructing for these classes of combinatorial optimization problems efficient PDC-algorithms. The vast number of new singlestage scheduling problems studied below are generated by a multi-stage network scheduling problem presented in [5] which is the formal representation of the third level of the four-level model of planning, decision making and operational control in the network systems with limited resources [5]. Note. These presented below new single-stage scheduling problems have not been studied on the subject of what class of problems (P or not easier than NP-complete) they belong. However, it does not matter: the PDC-algorithm may appear necessary computational procedure even in cases when: a) An exact polynomial algorithm for the problem solution is unknown; b) An exact polynomial algorithm will be constructed (proof that the problem belongs to class P), or if it will be proved that P = NP, but the 2 Признаки оптимальности допустимых решений труднорешаемых задач комбинаторной оптимизации PDC-algorithm will appear statistically more effective. This might be in the case when the complexity of the exact polynomial algorithm is significantly higher than the complexity of the polynomial component of the PDC-algorithm. Problem 1.1 Given a set of jobs J, the number of independent machines m, for each job j J the duration lj is known, j = 1, n . All the jobs have the common due date d. The processing of each job can start at any moment of time, it will proceed without interruption until job completion. All machines operate without interruption with the common moment of launch (release time). The problem is to construct a feasible schedule of jobs j J that has the maximal release time of jobs r or the minimal total earliness of jobs in relation to the common due date. As shown in [6], the optimal schedule for one of the criteria is automatically an optimal schedule for another criterion. In [6] the first sign of optimality of a feasible schedule is given: on a uniform schedule (processing times of all machines are the same) the absolute optimum is achieved for both criteria. If this condition is not met, the optimal is a feasible schedule that satisfies the second criterion for optimality: a feasible schedule is optimal for both criteria if Ci (where Ci, i = 1, m , is the total processing time of the machine i) it is true that for any i ≠ j, i, j = 1, m , | Ci – Cj | = 0 b, where b is an arbitrary rational number such that i = 1, n the numbers li / b are integers; li > 0, i = 1, n , is the processing time of the i-th job and is an arbitrary rational number (an example of this schedule is shown in Fig. 1). imizing the release time of jobs r. Indeed, rmax does not satisfy the inequality rmax ≥ d – Cmin, Cmin = min Ci. (1) i 1, m Indeed, Fig. 1 shows that for r ≥ d – Cmin the constructed feasible schedule is impossible, since the inequality is satisfied: n Cmin ∙ m < li i 1 due to the fact that li and Ci are integers, rmax ≤ d – – Cmin – 1. But for r = d – Cmin – 1 a feasible schedule has been built, so rmax = d – Cmin – 1. Note. Due to the fact that Ci are integers, i, j, i ≠ j, | Ci – Cj | are natural numbers. The general case. b > 0 is rational number, li > 0, i = 1, n , are rational numbers, i li / b are natural numbers. By changing the scale this problem is reduced to the previous one: lˆi , i 1, n , are the new durations expressed in natural numbers, where the unit of measurement equals to b. In the new units the feasible schedule (Fig. 1) reduces to this special case above. Proposition 1. The number b is the common divisor of the numbers li, i = 1, n , that is evenly divided by other common divisors aj, j = 1, k , of these numbers, and i li / b, i li / j aj are integers. Proof. If i j is satisfied Ci Cj (|Ci – Cj| = = b > 0, see Fig. 1), then necessarily |Ci – Cj| = klal, l = 1, k , where l kl are integers. Indeed, since i li / al, l = 1, k , are integers, then al the number |Ci – Cj| can be represented as klal where kl is an integer. Hence, b is evenly divided by al, l = 1, k . Corollary. b is the greatest common divisor of the numbers li, i = 1, n . Let k is the number of machines, each of which has the total working time d – b (see Fig. 1), where d is the common due date. Let’s denote n lˆ li b . i 1 Fig. 1. Proof. Consider the special case of such a schedule when li, i = 1, n , are integers and b equals to 1. This schedule is optimal by criterion of max- Proposition 2. a) if lˆ / m is integer then the second criterion of optimality can not be implemented (k does not exist); b) if lˆ / m is fractional number then k is the only number from {1, ..., m – 1} for which lˆ / m – k / m is integer. Proof. Fig. 1 shows that n m ∙ Cmax = li – k ∙ b i 1 Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 or d1 = lˆ / m – k / m, where d1 = Cmax / b is integer, n li b lˆ is integer. If lˆ / m is integer then for i 1 any k = 1, m 1 d1 is fractional number, which is impossible. If lˆ / m is fractional number then only for one k {1, …, m – 1}, d1 is an integer. Problem 1.2 The problem 1.2 differs from the problem 1.1 so that the machines start at different times t1,н ≤ t2,н ≤ … ≤ tm,н where ti+1,н – ti,н = di, i = = 1, m 1 , are given numbers. The problem is to find a feasible schedule which is optimal by one of the two criteria: 1) t1,н is maximum; 2) the total earliness of jobs against the due date is minimum: n min d tik i 1 where tiк is the end of processing at machine i. Proposition 3. If j 1 n m m 1 m 1 d d (2) li > i i dl i 1 j 2 i 1 l 1 i 1 then: a) a feasible schedule which is optimal by one of two criteria is optimal by another one; b) the first and second signs of optimality of a feasible schedule for the problem 1.1 are also signs of optimality of a feasible schedule for the problem 1.2. c) Proposition 1 for the problem 1.1 is also true for the problem 1.2. Proposition 2 for the problem 1.1 is true for the problem 1.2 if all the numbers di, i = 1, m 1 , are evenly divided by b. Proposition 3 clearly follows from [6], the proofs of Propositions 1 and 2 given for the problem 1.1, and is illustrated by Fig. 2. Fig. 2. Note. Condition (2) is necessary to ensure that in any feasible schedule maxi Ci > tm,н. 3 Problem 1.3 Statement of the problem is different from the problem 1.1 statement in that the machines can start at arbitrary times. The problem is to find a feasible schedule in which this would be fulfilled: max ti,н is the minimum possible. Proposition 4. The sign of optimality of a feasible schedule for the problem 1.3 is a fulfillment of the following conditions: 1) The total earliness is zero; 2) The schedule is uniform (ti,н = const) or | ti,н – tj,н | = 0 b (3) where b > 0 is the greatest common divisor of чисел li; li / b are integer numbers, i = 1, n . The number k of machines that have ti,н < max tj,н is the onj 1, m ly one and is defined in the Proposition 2 (problem 1.1). Proof of Proposition 4 obviously follows from [6] and the research of the problem 1.1 and is illustrated by Fig. 3. Fig. 3. Problem 2 Given a set of jobs J, the number of independent units m, for each job j J the processing time lj is known, j = 1, n . The processing of each job can start at any moment of time, it will proceed without interruption until completion of jobs. All machines works without interruption. Restrictions are set for the completion times of the machines, i.e. conditions must be met: tiк ≤ di, d1 ≥ d2 ≥ … ≥ dm, i = 1, m where tiк is the moment of finishing work by the machine i. Due dates for the jobs’ completion times are not set. It is needed to find a feasible schedule for which min ti,н → max. i 1, m Proposition 5. If 4 Признаки оптимальности допустимых решений труднорешаемых задач комбинаторной оптимизации n m 1 i 1 i 1 n 1 li di di 1 m 1 m 1 j 1 d i d i 1 d l d l 1 , i 2 i 1 l 1 then a sign of optimality of a feasible schedule is: pt. 1) tiк = diк, i = 1, m ; pt. 2) is identical to pt. 2) of Proposition 4, and the number k of machines that have ti,н < max tj,н is j 1, m the only one if the numbers di – di+1, i = 1, m 1 , are evenly divided by b. Proof of Proposition 5 follows from the proof of Propositions 3 and 4 and is illustrated by Fig. 4. Fig. 4. Problem 3 Given a set of independent jobs J = { 1, n } each of which consists of a single operation with processing time lj, j = 1, n . Given due dates dj, j = 1, n . Interruptions during the processing are not allowed. There is one machine for the jobs processing. Jobs enter the system simultaneously. Note. The jobs’ numbering implements fulfillment of inequalities: d1 ≤ d2 ≤ … ≤ dn. The problem is to construct a feasible schedule that simultaneously satisfies: 1) The moment of starting processing of the jobs r is the maximum rmax (criterion 1); 2) The total earliness of jobs with respect to due dates is minimal (criterion 2). In [7] it is shown that the optimal by criterion 1 sequence is the one ordered by non-decreasing values of the due dates. In [7] an algorithm A (having linear of n complexity) to find rmax is proposed. It’s also shown in [7] that the upper bound on the deviation of the total earliness with respect to the due dates of this feasible schedule from that of feasible schedule which is optimal by criterion 2 is i (4) d r l j i , i max l j jmin i 1 , n i 1 j 1 i max 0, max l j li , j i 1, n where a is the nearest lower integer from a. Proposition 6. The sign of optimality by both criteria for a feasible schedule is: Pt. 1. A sequence ordered by non-decreasing values of the due dates with rmax defined in [7] (algorithm A) is also optimal by criterion of minimization the total earliness of jobs with respect to the due dates, if in it (4) is equal to zero. Pt. 2. Assume (4) is not zero. Step 1. In a feasible schedule (1, 2, ..., n) with rmax of [7] find the minimum natural index p for which: in the schedule (1, 2, ..., n) there are jobs with numbers from the set {i = 1, p 1 } for which inequality tpк ≤ di is true where tpк is the completion time of the job p. Reorder these jobs (together with the job p) in decreasing order of their durations. It is shown in [7] that such rearrangement reduces the total earliness if there are disordered jobs of different durations. Step 2. Then we find the next (in ascending order) smallest natural index p for which the procedure described above can be implemented and a set of jobs that will be arranged in non-decreasing order is not the same as the previous one (for further values of the index p to previous). Such steps may be no more than n – 1. Assume the resulting total earliness is equal to . Then, if n 1 i l j i 0 , (5) di rmax l j jmin i 1, n i 1 j 1 then the obtained feasible schedule is optimal for both criteria. Proof of Proposition 6 follows from the proof of Theorems 4 and 5 [7]. Corollary. If a feasible schedule obtained in Pt. 2 of Proposition 6, has the expression (5) greater than zero then the obtained feasible schedule is strictly optimal for the first criterion, sub-optimal for the second criteria with the upper bound of deviation from the optimal value of the second criterion given by formula (5). Problem 4.1 Given m independent parallel machines of equal performance working without interruptions that process n jobs (li is the processing time of job i, i = 1, n ). Jobs should be completed till due dates di. The start times of machines are arbitrary. The Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 problem is to construct a feasible schedule that minimizes the following criterion: ri1 max{ min ri } ; i 1, n ril max{ min ri , i 1, n, i jk , k 1, l 1}, l 2, n , (6) i where i1 is the number of the machine that has the earliest start time in an optimal schedule (it is the latest for all feasible schedules); il, l 2, n , is the number of machine that has the next in value earliest start time after the machines ik, k 1, l 1 (it is the latest for all feasible schedules with fixed rik , k 1, l 1 ). Obviously, the inequalities di – li ≥ 0, i = 1, n , are true. Renumber jobs in the non-decreasing order of numbers di – li, and let these inequalities satisfied: d1 – l1 < d2 – l2 < … < dn – ln. Constructing the #1 optimality sign of a feasible schedule. Pt. 1. To the first machine assign as first the job with the index 1. r1 = d1 – l1. Number r1 corresponds to the maximum value of ri1 in (6). Let the following inequalities satisfied: di + lj > dj, i = 1, m , j = i 1, m . Then assign to the machine j, j = 2, m , first the job with the index j and the moment of machine starting rj = dj – lj. Proposition 7. An arbitrary feasible schedule for which the Pt. 1 satisfied is optimal by criterion (6). Proof. Indeed, if in any feasible schedule an algorithmic procedure of Pt. 1 is not met, it leads immediately to fulfillment of this: rl1 r1 ≽ r r m lm in accordance with the preorder – lexigraphical order, where r1 rm corresponds to an arbitrary feasible schedule for which the Pt. 1 is done, and rl 1 rl m are start times of machines for any feasible schedule. Note. If in accordance with Pt. 1 all jobs are assigned on a smaller number of devices then the corresponding rj are formally set equal to +∞. Constructing the #2 optimality sign of a feasible schedule. Pt. 2. To the first machine assign as first the job with index 1. r1 = d1 – l1. (d1 – l1 is maximum possible value of ri1 in (6)). Assume k2 – 1 is the maximum natural number for which the following inequality is true: 5 l d1 l j dl , l 1, k2 1 . (7) j 2 Then to the first machine are sequentially assigned jobs with indexes 1, 2, ..., k2 – 1. The job with index k2 is assigned as first to the second machine. If the inequality min{ d1 k 2 1 l j lk 1, dk 2 j 2 2 lk 2 1} d k 2 1 is not satisfied then to the third machine as first assigned the job with index k2 + 1 at the moment of time r3 d k 2 1 lk 2 1 . In this case k3 = k2 + 1. Otherwise, the inequalities should be satisfied: min{ d1 max{ d1 k 2 1 l j , dk } lk 1 dk 1 , j 2 2 2 2 (8) k 2 1 l j , dk } lk 1 dk 1 . j 2 2 2 2 (9) Then the job with index k2 + 1 is assigned to the machine corresponding to the minimum in (8). If (8) is satisfied and (9) is violated then the optimality sign #2 of a feasible schedule for this individual tasks is violated. Similarly, sequentially assigned to the first or the second machine are the jobs with indexes k 2 2, k3 1 (k3 is the maximum natural number possible). In this case, if the current job can be assigned to a machine with a smaller processing start time, then assigning it to a machine with bigger processing start time should lead to a violation of the due date (analog of the inequalities (8), (9)). The job with the index k3 is assigned as first to the third machine at the time r3 d k3 l k3 . Similarly, there is a further consistent assignment of jobs with indexes k3 + j to the machines. A necessary condition for the optimality sign #2 is the requirement that the assigning job can be assigned to only one machine (with a minimum release time) from the current set of machines onto which the assignment of jobs is done. If the job can be assigned to none of the current set of machines, it is assigned as first to the next machine in a time equal to the due date of the job minus its duration. The distribution of work ends either when all the jobs are assigned to l machines (l < m) or with the assignment to the m-th machine as first the job km, rm dkm lkm . The distribution of jobs in accordance with Pt. 2 is complete. Let J1 is a set of jobs which includes all of the jobs with indexes from the set { 1, km } or { 1, kl } if the jobs were distributed to l machines (l < m). Impose the following condition to be true. Let’s enu- 6 Признаки оптимальности допустимых решений труднорешаемых задач комбинаторной оптимизации merate all the jobs from the set J1 in the order of their assignment to the machines. Then for each job with the index j ( j 2, km kl ) should be satisfied: dj – tjк < lp, p l 1, km kl , (10) where tjк is the completion time of the job j. Then the following proposition is true: Proposition 8. An arbitrary feasible schedule that satisfies Pt. 2 and the condition (10) is optimal by criterion (6), i.e. rl1 r1 (11) ≽ r r m lm in accordance with the preorder – lexigraphical or der, where r1 rm corresponds to an arbitrary feasible schedule for which the Pt. 2 and the condition (10) are fulfilled, and rl 1 rl m are the processing start times of machines for any feasible schedule. Note 1. If, in accordance with Pt. 2 became loaded l machines (l < m) then in (11) rl+j, j 1, m l , are formally set to the values +∞. Indeed, from the logic of the jobs distribution to machines (Pt. 2), and also in conjunction with the fulfillment of the conditions (10), (8) (9) and their analogues at the subsequent stages of distribution, it follows that any change in the order of assignment of jobs (except cases when in (8), (9) and their analogues the minimum is not the only one) leads to degradation in lexigraphical order of the processing start times of the machines. Note 2. If all of the jobs are distributed to l machines, l < m, then the Pt. 2 in the Proposition 7 is finished with the assignment as first to the l-th machine the job with the number kl. Note 3. Signs of optimality #1 and #2 let us construct the polynomial component of the PDC-algorithm for the Problem 4.1: the algorithm of polynomial complexity is constructed to obtain a feasible schedule in which jobs from a set J1 are preassigned in accordance with the Proposition 8 (with regard to Note 2). In this case, the algorithm must take into account when assigning not yet distributed jobs the time reserves dj – tjк, k 1, km kl , that remained after the assignment of the jobs of the set J1 according to the Proposition 8. If the polynomial algorithm has built a feasible schedule then for it the optimality sign (Proposition 8) is true, and this schedule is optimal by lexigraphical criterion (6). If it fails to build a fea- sible schedule then the Problem 4.1 is solved by the exponential component of PDC-algorithm or an approximate or heuristic polynomial algorithm that approximates the exponential component of the PDC-algorithm. Note 4. Let’s present one of the most statistically effective strategies for constructing an approximate polynomial algorithm. An approximation algorithm is identical to the polynomial part of the PDC-algorithm (Note 3) except that the requirement is removed in the optimality sign #2 that a job can be assigned to only one machine of the current set of machines (conditions (8), (9) and their generalization). That is, the current job is assigned to the machine with the smallest release time, though perhaps it could be assigned as first without violation of its due date to other machines from the current set. It’s impossible to claim that in this case a feasible schedule is optimal, but with the fulfillment of the condition (10) it leads to the fact that if the current job is not assigned to the machine with a minimum release time, it can only be assigned only as first to one of the current machines set. And this means that the number of feasible variants of the initial schedule is considerably reduced. It is obvious that in the simulation of arbitrary individual problems, for which the condition (10) is satisfied, the logic of the algorithm to assign a next job to the machine from the current set of machines with the minimum release time almost always leads to the fulfillment of the condition (11). Thus, constructing a feasible schedule with modified in such way the optimality sign #2 (the empirical sign of optimality) almost always leads to a strict solution of the Problem 4.1 by lexigraphical criteria (6). Problem 4.2 It differs from the Problem 4.1 in that for jobs with indexes from the set J1 J = { 1, n } the limitations for the completion time of the jobs tlк l = 1, n are not the due dates dl (tlк ≤ dl), but the limitations in the form tlк [dl – l, dl] l J1, see [5], l > 0. In particular, if l is small then this restriction corresponds to the practical implementation of the formal restriction to complete the job just in time (tlк = dl). For the Problem 4.2 the optimality sign #1 remains unchanged (Proposition 7). The optimality sign #2, the Proposition 8, as well as the empirical sign of optimality change in the following way. Either indexes of all the jobs assigned in accordance with Pt. 2 to the machines, beginning from the Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №56 second machine, do not belong to J1, or for these jobs this is satisfied: tlк [dl – l, dl] l J1. Problem 5.1 There are m independent parallel machines of different performance running without interruption that execute n jobs ( li j is the processing time of the job i at the machine j). The jobs should be completed by the due dates di. Processing start times of the machines are arbitrary. The problem is to build a feasible, optimal by criterion (6) schedule. For the problem 5.1 we can obviously generalize the optimality sign #1 of a feasible schedule proposed for the Problem 4.1. Constructing the #1 optimality sign of a feasible schedule. Pt. 1. Consider the following monotonic nondecreasing sequence of numbers: di1 li1j1 , di2 li2j2 , ..., dim limjm , where di1 li1j1 min {( di min li j ), i 1, n, j 1, m} (15) i j jp di p li p min {(di min li j ), i 1, n, j 1, m, i 7 dil li p di p p l 1, m, l 1, m 1 . jl Then the following proposition is true: Proposition 9. An arbitrary feasible schedule, in which the job il is assigned as first to the machine jl, l 1, m , at the time r jl dil liljl , is an optimal schedule by criterion (6). Problem 5.2 This is a generalization of the Problem 5.1, identical to the generalization of the Problem 4.1 to the Problem 4.2. For the Problem 5.2 the optimality sign of a feasible schedule (Proposition 9) remains valid. Indeed, all ri [di – l, di], i 1, m , by construction. Conclusions The paper presents the basics of the Theory of PDC-algorithms. New formulations of the singlestage scheduling problems were made. The optimality signs of a feasible schedule for them were found which are the basics of PDC-algorithms constructing. j i {i1 , i p 1}, j { j1, j p 1}} In this case, at each machine achieved only one minimum. Let all the inequalities are satisfied: References 1. Згуровский М.З., Павлов А.А. Принятие решений в сетевых системах с ограниченными ресурсами: Монография.– К.: Наукова думка. – 2010. – 573 с. 2. Garey M.R., Johnson D.S. Computers and Intractability: A Guide to the Theory of NPCompleteness. W. H. Freeman 1979, ISBN 0-7167-1044-7 3. Конструктивные полиномиальные алгоритмы решения индивидуальных задач из класса NP. / А.А.Павлов, А.Б.Литвин, Е.Б.Мисюра, Л.А.Павлова, В.И.Родионов, под редакцией А.А.Павлова.– К.: Техника, 1993.– 126 с. 4. Pavlov A., Pavlova L. PDC-algorithms for intractable combinatorial problems. Theory and methodology of design.– Uzhhorod, «Karpatskij region» shelf №15, 1998.– 320 pp. 5. Pavlov A.A., Misjura E.B., Lisetsky T.N., Sperkach M.O., Khalus E.A. The four-level model of planning, decision making and operational control in the network systems with limited resources // Вісник НТУУ “КПІ”. Серія «Інформатика, управління та обчислювальна техніка». – К.: “ВЕК+”, 2013. – №58 – 14 с. 6. Pavlov A.A., Misjura E.B., Sperkach M.O. Research of the properties of the scheduling problem of the tasks execution with common due date for parallel machines by different criteria of optimality // Вісник НТУУ “КПІ”. Серія «Інформатика, управління та обчислювальна техніка». – К.: “ВЕК+”, 2012. – №57.– С. 15–17. 7. Pavlov A.A., Misjura E.B., Khalus E.A. Properties’ research of the scheduling problem for a single machine by minimizing the total earliness of tasks with the condition of the schedule feasibility // Вісник НТУУ “КПІ”. Серія «Інформатика, управління та обчислювальна техніка». – К.: “ВЕК+”, 2012. – №56.– С. 98–102.