{'fraction_non_alphanumeric': 0.020611702127659573, 'fraction_numerical': 0.0026595744680851063, 'mean_word_length': 4.901960784313726, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Optimizing a Business Process Model by Using Simulation

In this paper we present the problem of optimizing a business process model with the objective of finding the most beneficial assignment of tasks to agents, without modifying the structure of the process itself. The task assignment problem for four types of processes are distinguished and algorithms for finding optimal solutions to them are presented: 1) a business process with a predetermined workflow, for which the optimal solution is conveniently found using the well-known Hungarian algorithm. 2) a Markovian process, for which we present an analytical method that reduces it to the first type. 3) a non-Markovian process, for which we employ a simulation method to obtain the optimal solution. 4) the most general case, i.e. a non-Markovian process containing critical tasks. In such processes, depending on the agents that perform critical tasks the workflow of the process may change. We introduce two algorithms for this type of processes. One that finds the optimal solution, but is feasible only when the number of critical tasks is few. The second algorithm is even applicable to large number of critical tasks but provides a near-optimal solution. In the second algorithm a hill-climbing heuristic method is combined with Hungarian algorithm and simulation to find an overall near-optimal solution for assignments of tasks to agents. The results of a series of tests that demonstrate the feasibility of the algorithms are included.