Robotic Process Automation (RPA) Using an Integer Linear Programming Formulation

Abstract RPA is used to complete repetitive tasks usually completed by humans. A robot is a software programed to mimic the operations of humans on computer systems. Robots are configured to accomplish these tasks using algorithms from the machine learning and artificial intelligence field. Using RPA leads to reduced errors in the processing of tasks and reduced completions times to carry out the tasks. This paper calculates the number of software licenses required to carry out thousands of transactions for financial services and proposes an assignment of the transactions to the robots. A two-phase linear integer optimization process is proposed. The first phase calculates the number of robots required to complete all of the tasks and the second phase assigns the tasks to the robots. Many different transaction types for financial services are to be completed, and each type has precise market operating hours, maximal delays in their treatment, different processing times and different volumes. The objective function minimizes the total number of robots, but also limits the number of robot startups and reconfigurations, since these operations take time to complete. The key behind the fast computing times to solve the problem is the formulation, where periods are defined at intersections of market operating hours. Preliminary tests are conducted on a real case provided by a bank in North America and a synthetic test case and show that the problem is solved quickly.