Robotik süreç otomasyonu için iş çizelgeleme algoritması
Job scheduling algorithm for robotic process automation
Yazar: GÜLŞAH DORUK
Danışman: DOÇ. DR. OSMAN KAAN EROL
İstanbul Teknik Üniversitesi / Lisansüstü Eğitim Enstitüsü / Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı / Kontrol ve Otomasyon Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: Performans değerlendirme = Performance evaluation ; Robotik süreç otomasyonu = Robotic process automation ; Çizelgeleme modeli = Scheduling model

Özet:
Son yıllarda gelişen teknoloji çözümleri geçmişte insanlar tarafından yürütülen bir çok iş sürecinin otomatikleşmesini sağlamıştır. Robotik Süreç Otomasyonu ile yazılım robotları bir çalışanı taklit ederek önceden tanımlanmış zaman ve emek alan ancak katma değeri düşük ve tekrarlı işleri tamamlayabilmektedir. Bankacılık ve finans, sigortacılık, sanayi ve üretim, e-ticaret, enerji ve kamu, müşteri hizmetleri, telekomünikasyon gibi bir çok farklı alan robotik süreç otomasyonunun uygulama alanıdır. Robotik süreç otomasyonunda kısıtlı sayıda bulunan robot kaynağının optimum şekilde kullanılması da süreçlerin otomatikleşmesini ve hızlanmasını sağlayan bu yazılım çözümünün verimliliğine katkı sunacaktır.
Bu tez çalışmasında robotik süreç otomasyonu için kaynak tahsis süreci bir iş çizelgeleme problemi olarak ele alınmıştır. İş çizelgeleme belirli bir zaman aralığında kısıtlı miktardaki kaynağın bir ya da daha fazla amaç fonksiyonunu en iyilenmesime çalışılarak tahsis edilmesi sürecidir. Bu problemlerde genellikle temel amaç daha az kaynak kullanımı ile daha kısa sürede işlerin tamamlanmasıdır. Çizelgeleme ile her bir işin hangi kaynak ya da kaynaklar tarafından tamamlanacağına ve işlerin hangi sırayla yapılacağına karar verilir ve işlerin tahmini başlangıç ve bitiş zamanları hesaplanır.
Tez çalışmasında robotik süreç otomasyonu için kaynak tahsisi problemi çok amaçlı bir optimizasyon problemi olarak modellenmiştir. Amaç fonksiyonları robotlara atanan iş miktarının en çoklanması ve toplam zaman maliyetinin en azlanması şeklinde belirlenmiştir. Amaç fonksiyonları arasında leksikografik sıralama yapılmış ve sırası ile amaç fonksiyonları en iyilenmeye çalışılmıştır. Robotlar tarafından tamamlanması beklenen süreçler arasında öncelikle sezgisel deterministik bir yöntem ile atama önceliği sıralaması yapılmıştır. Süreçlere bu sıralama ile kaynak tahsisi yapılmıştır. Daha sonra ise stokastik bir komşuluk arama yaklaşımı olan Tek Atlamalı Büyük Patlama Büyük Çöküş algoritması kullanılarak iterasyonlar boyunca daha iyi bir atama önceliği sıralaması aranmıştır.
Algoritmanın etkinliğinin değerlendirilmesi amacıyla gerekli parametreleri girdi olarak alan probleme uygun simülasyon veri üreticisi oluşturulmuştur. Algoritmanın stokastik yapısı sebebiyle simülasyon verileri ile tüm koşumlar 100 kez tekrarlanmıştır ve grafiklerde verilen sonuçlar tüm koşumların ortalamasını yansıtmaktadır. Başlangıç ataması ile birinci aşama ve ikinci aşama çözümlere ait sonuçlar grafiksel olarak sunularak karşılaştırma yapılmıştır.

Abstract:
Robotic Process Automation is a software solution that focuses on the automation of human tasks that has emerged in recent years. Robotic Process Automation allows companies to automate their work by focusing on repetitive, rule-based human tasks that are often completed by humans. The robot is a software program imitate people's operations in computer systems, in other words, it is a program capable of operating on applications by using the computer just like a human. It perceives computer screen like a human and mimics keyboard, mouse movements. Robotic Process automation automates these processes, primarily taking the low-value-added and repetitive workload on humans. While it reduces the errors in the processing of these repetitive processes that are prone to human error, it also reduces the completion times of the tasks.
This software technology, which can replace employees in tasks and automate them, allows employees to be involved in complex tasks with higher added value by removing repetitive tasks with low added value. The goal here is not to replace all human operators, but to assist in processing large volumes of transactions. Some of the operations that the robot can perform are writing/ reading on databases, receiving/ reading/ sending e-mail attachments, copying and pasting, filling out forms and pulling data from the screen. Robotic Process Automation, which allows robots to handle data collection, copying, controlling and similar processes, creates the opportunity for humans to focus on more complex tasks that require interpretation and reasoning. Thanks to this technology solution, which is developing and becoming widespread day by day, many companies modernize their business processes with Robotic Process Automation.
Task assignment for Robotic Process Automation is an optimization problem. Finding the best possible task assignment for processes that need to be completed in certain time periods will ensure that limited resources are used with maximum efficiency. At the same time, it will create a situational awareness by providing planning information about the end times of business processes. For this purpose, it is necessary to decide which robot will process the operations of which work process in which time interval.
Optimization is basically defined as the art of making good decisions. The decision-making process requires choosing among many alternatives depending on a need. The optimization process, which is used in the decision-making process in many fields such as economics, mathematics, engineering, management science, is the selection of the best alternative among the available alternatives according to some criteria. With the simplest example, optimization is the process of systematically reaching the maximum or minimum value of an objective function according to the need. Optimization algorithms are generally classified as deterministic algorithms that do not contain randomness in their structure, thus producing the same result each time they are run, and stochastic algorithms that contain randomness in their structure, thus producing slightly different results each time they are run. Stochastic algorithms are basically divided into two as heuristic and meta-heuristic. Metaheuristic algorithms differ from heuristic algorithms in that they can offer a general solution independent of the problem. Genetic algorithms, ant colony optimization, particle swarm optimization, artificial bee colony algorithm and the big bang big crunch optimization algorithm based on this thesis are in the meta-heuristic optimization algorithm class. For the problem addressed in the thesis study, Single Leap Big Bang Big Crunch algorithm based on the Big Bang Big Crunch algorithm was used as the optimization method. Single Leap Big Bang Big Crunch (SL-BBBC) algorithm was proposed by Genç et al in 2012 to solve the airport gate assignment problem. The proposed method creates the first assignment quickly with a deterministic heuristic approach. Afterwards, it aims to improve the solution obtained by stochastic evolutionary methods.
Big Bang Big Crunch (BB-BC) optimization algorithm was published by Erol and Eksin in 2006. The algorithm is an evolutionary optimization method, inspired by the Big Bang and Big Crunch theory, which are among the most important theories explaining the formation of the universe.
In this thesis, a scheduling problem has been handled and the mathematically modeled objective functions have been tried to be optimized under certain constraints. In this thesis, a resource allocation problem for robotic process automation has been optimized. The problem is modeled as a multi-objective optimization problem. The objectives were determined as maximizing the amount of work assigned to the robots and minimizing the total time cost. These two objective functions are optimized in lexicographic order. The lexicographic method is used in multi-objective optimization problems when there are hierarchical priority order between the objectives. With the lexicographic method, the objective functions are tried to be optimized after the objectives are ranked according to the degree of importance. After optimizing the most important objective function, the first objective function, the second objective function, which is less important, is tried to be optimized. Thus, each objective function is solved one by one. The solution obtained from the problem, which is solved with a single objective for optimization at each stage, is evaluated as a new constraint in addition to the existing constraints in the definition of the problem while trying to optimize the next objective function. Single Leap Big Bang Big Crunch algorithm was used as a solution method. In order to evaluate the performance of the algorithm, simulation test data were produced in the MATLAB environment. Parameters suitable for the definition of the problem used in data generation are explained in detail in the thesis.
The assignment process of the jobs was managed by making an assignment order among the jobs. The scheduling process of the jobs was continued, starting with the job with the highest priority in the assignment order. The earliest deadlines were taken as the starting order, and the jobs were ordered by starting from the closest deadlines. Afterwards, a better ordering was tried to find to optimize the objective functions using the Single Leap Big Bang Big Crunch algorithm. The initial solution and the final solution were compared, and the improvement rates were analysed. The result graphics obtained from the simulation data were evaluated and the results were shared. SL-BBBC algorithm has a stochastic nature thus the results given represents the average of 100 runs for each single case. Average increment of amount of jobs assigned to robots for 1. level is 7.37% and average decrease of total time cost of assigned jobs in 2.level is 0.71% and additional 0.16% increase in amount of jobs assigned for standart deviation of 𝜎=16.