1 Introduction

Problems with planning, scheduling, and the control and allocation of resources are the primary issues that should be taken into account and solved during the production control [15, 16, 20]. They occur in production with a job-shop, flow-shop, open-shop and project-type organization [11]. They refer to automated and flexible manufacturing systems as well as to smart manufacturing [23]. In diverse forms and scopes, they are also present in logistics, distribution, transport, supply chain, planning of classes at universities, etc. Literature devoted to this issue is very extensive (Section 2). A number of tools and IT systems have been developed to help and optimize decisions in the area of planning, scheduling and allocation of usually constrained resources in production control. The most interesting systems of this class of APS (Advances Planning Scheduling) systems include: Asprova APS, DSX, Preactor APS, etc. (https://www.g2.com/categories/advanced-planning-and-scheduling-aps, Accessed April 042021) as well as other dedicated systems and algorithms [23]. The result of the operation of such systems is a plan/schedule of task completion over time, allocation of tasks to specific machines/work stations/CNC machines, vehicles, etc. In more advanced systems, there is also a possibility of allocating tasks to constrained additional resources such as, e.g., tools, employees, software, etc. and a possibility of a dynamic change of schedule, reception of an answer to the what-if question in case of changes in task performance or machine unavailability.

In the modern production processes, which are characterized by a significant degree of automation, robotization and saturation with state-of-the-art IT technologies, especially in smart manufacturing, the problem of constrained production resources is no longer as crucial as it used to be for the production systems of past generations. The critical resources in modern production systems are employees who have high and specialist competences, qualifications, and experience, etc. This follows from the fact that very often they cannot be replaced with technological solutions. An additional problem related to this type of resource (i.e., employee competence) is its slight availability on the market, high costs and risk of employee absence during completion of the industrial process.

The paper proposes a model of configuration, selection and allocation of employee competence for process performed according to a pre-defined plan/schedule. Thus, the proposed model may be used to support decisions within the scope of selection, configuration and supplementation of the set of available employee competences in the production/distribution/organizational process, both in a proactive and reactive mode (Section 3). In particular, it allows for finding answers to a number of questions, both general and detailed, such as: Do we have a sufficient set of competences to execute a pre-set plan/production schedule? Which and how many competences are missing? Which and how many competences will be missing if specific employees are absent? etc. Moreover, the proposed model can be used to support decisions both in a proactive and reactive way.

The main contributions of this work are: (a) the original mathematical model of the problem used in the proactive and reactive approach, (b) the AMPL implementation model, (c) the structure of data for the modeled problem in Graph NoSQL Database, and above all (d) an original method of solving the modeled problem in the form of a dedicated genetic algorithm. The modifications concerned the introduction to the algorithm of the presolving procedure and the original method of representing the modeled problem.

The rest of the article is organized in the following way. Section 2 provides a literature overview of the problem of staff allocation in scheduling problems. Section 3 provides a comprehensive description of the modeled problem, including illustrative example, mathematical model, scope of decision support, etc. Implementation methods and computational examples are given in Section 4. The final section is a summary and conclusions.

2 Literature review

The issue of allocating employees to tasks pending execution, project stages, work positions, etc. is most often formulated in literature as employee timetabling or staff scheduling [10, 13]. Such problems refer to finding work timetables for an organization’s staff which allow for performance of a specific set of orders, services, projects, etc. There are a number of varieties of this problem such as university timetabling problem, nurse scheduling problem (NSP), crew scheduling problem, etc. The examined problems may differ by objective functions, constraints, etc., as well as by computational complexity. In practice, on account of the discrete and combinatorial character of the above-listed issues, these are most frequently NP-hard problems.

In industrial practice, the problem of allocation of employees is usually analyzed in the context of classic problems of planning and scheduling, such as machine scheduling problem, also known as operation problem [1, 6, 24]. The machine scheduling problem is common in the machine, electronic, IT and automotive industry, etc.

Both of the optimization problems listed above, namely employee allocation and machine scheduling, are most often analyzed together and consist in the allocation of employees to machines/work positions with the aim of performing a given production schedule. The literature is dominated by an approach consisting in sequential solving of both problems, i.e., first the employee/personnel allocation problem is solved and subsequently, relying on the received solution, the machine scheduling problem is tackled. Such approach usually results in finding sub-optimal solutions for the entire issue (an optimum solution for the first problem does not guarantee an optimum solution for the second one). There are also integrative approaches where both problems are solved jointly. Such approaches were proposed, for example, in [33, 7, 8]), where employees were treated as an additional resource indispensable to service machines and handle tasks, and where the problem of scheduling with additional constraints was solved.

Both accurate and approximate methods are used to solve integrated problems. The most promising accurate methods include hybrid approaches integrating mathematical programming methods and constraint programming [3, 26, 27]. As far as approximate methods are concerned, these are dedicated heuristics and meta-heuristics [2, 24]. A significant drawback of integrative approaches is their inability to handle the increase in the dimension of the modeled problem, which results in a higher number of decision variables and constraints, and this in turn significantly increases the time of solving the modeled problem.

Very interesting approaches have been proposed in relation to Industry 4.0 in [19, 21], which confirm the transformation of employee competences from performing simple tasks to knowledge-based activities including technical, transversal and contextual skills.

The approach proposed by the authors, as opposed to the integrative and sequential approach, allows solving a problem with smaller dimensions. This is due to the fact that it is not necessary to solve the scheduling problem, but only to determine the required employee competences (whether the company has them, which are missing, etc.) necessary to perform the tasks according to given schedule. This is justified, because in practice the contracting authority often imposes a predetermined schedule for the implementation of projects, production or transport tasks. Additionally, in the proposed approach we examine employee competence (which can be multidimensional and multilevel) and not simple permissible or impermissible allocations of employees to specific tasks. The presented approach also makes it possible to indicate which competences and which employees should be supplemented with them.

The proposed implementation methods turned out to be more effective and flexible than the methods of mathematical programming usually applied to such problems [5, 9, 18]. This concerned both the hybrid approach (Section 4.1) and the dedicated genetic algorithm (Section 4.2) developed by the authors. The particular effectiveness of this genetic algorithm resulted from the application of a dedicated presolving procedure. In the available literature on the application of evolutionary methods to solve discrete combinatorial problems [17, 31, 32], this is a unique solution.

3 Problem description

The problem of configuring employee competence in the industrial or organizational system may be formulated as follows: a specific set of tasks (projects), K, is to be performed. In order to perform a k task, k∈K one of the employees i from the I set has to be allocated to it (i∈I). For the k task to be performed by the i employee, the employee must have adequate competence. Various types of constraints may be imposed on tasks k∈K and employees i∈I, specific for a given case (these constraints do not affect the methodology of solving the basic problem). The most important constraints of the modeled problem include constraints specifying:

  • Work time limit of employee i∈I.

  • Task performance schedule.

  • Sequence of task performance, which usually follows from an imposed schedule, even though there may be additional determinants.

  • A situation in which not every employee i∈I can perform every task k∈K.

  • A situation in which every employee i∈I may have a specific number of competences (limit).

  • Time for performance of a set of tasks resulting from a schedule or additional determinants.

The main question to which the answer is sought in a problem formulated in this manner is as follows: Is the set of employee competences held by us sufficient to execute the tasks according to the pre-defined schedule? In order to illustrate the problem of employee competence configuration, an illustrative example is given- Example 1.

3.1 Ilustrative example

Example 1

A company is analyzed that has a production system with a job-shop type organization which consists of three different machines (M1...M3). The company employs 10 employees to service them (i1..i10). Employees may have six different types of competences (e1..e6). Table 1 presents the competence held by every employee (1 means that the employee has the given competence).

Table 1 Employee competence

Four orders are to be performed (o1..o4). Order o1 order consists of four tasks: k1, k2, k3, k4, order o2 consists of four tasks k5, k6, k7, k8, order o3 consists of three tasks k9, k10, k11 whereas order o4 consists of four tasks k12, k13, k14, k15. In total, there are 15 tasks k to be performed. A task performance schedule is given and thus tasks on machines M1, M2 and M3, which is shown in Fig. 1.

Fig. 1
figure 1

Task performance schedule (every order is marked with a different color)

Competence that is required for performance of individual tasks for an illustrative example is presented in Table 2 (1 specify the required competences to perform the task).

Table 2 Competence required for performance of individual tasks from orders o1..o4

Attention: If, for example, the e1 and e5 competence is required for the k1 task (in Table 2 marked with 1), this means that the allocated employee must have both types of such competence.

By combining the data from Tables 1 and 2, information is procured as to which employee can perform which task. Table 3 shows the possible allocation of employees to specific tasks as part of individual orders. Figure 2 presents all possible allocations of employees to tasks, whereas Fig. 3 shows both employees’ competences, as well as possible allocations for performance of individual tasks. Figures are presented in the form of graphs generated from the Neo4j database, where data visible in Tables 1, 2 and 3 is presented (https://neo4j.com/).

Table 3 Possible allocations of employees to tasks
Fig. 2
figure 2

Employee competence required for performance of a set of tasks for the illustrative example Example_1

Fig. 3
figure 3

Potential allocations of employees to tasks on account of required competence for the illustrative example Example_1

Figure 4 presents a Gantt chart which shows one of the possible allocations of employees to tasks that guarantees performance of the set of tasks according to a pre-defined schedule (Fig. 1). The proposed example is also a basis for a positive answer to the question: Do we have a sufficient set of competences to execute a set of tasks in line with the pre-defined schedule? The allocation from Fig. 4 was generated by the operator based on data from Tables 1, 2 and 3. This required multiple adjustments, certain dexterity and the operator’s experience, as well as time calculated in minutes. In a number of practical cases, such manual allocation does not guarantee success, whereas the number of iterations and changes increases quickly along with growth of dimensions of the analyzed problem. In such (manual) mode, it is hard to quickly find answers to other decision-making questions presented in Table 4. Therefore, a mathematical model was proposed for configuration of employee competences (Section 3.4) which allows for it.

Fig. 4
figure 4

Sample allocation of employees to tasks for Example_1 generated by the operator, compliant with competences held and a pre-defined schedule (Fig. 1)

Table 4 Questions about the issue of employee competence configuration

3.2 Unavailability of employees

A significant aspect of the analyzed problem of employee competence configuration is the fact that the i (i∈I) employees may be unavailable due to various causes (e.g., sick leave, quarantine, planned holiday leave, training, etc.). Assume that, uj denotes the case of unavailability of selected employees (e.g. u1 = {i3, i7} means that we are analyzing a case where the i3, i7 employees are unavailable, whereas if u2 = {i3} it denotes a case where the i3 employee is unavailable, where i3, i7 ∈ I, etc.). U denotes a set of all such analyzed (interesting to us) cases of employee unavailability uj∈U. It is easy to calculate that if we have 10 employees and if we examine all possible absences of an individual employee, the U set will comprise 10 elements, if we want to account for all possible absences of two employees, the U set will comprise 45 or 55 elements if we also take individual absences into account, etc. In operating practice, a situation where the U set has to be taken into account with elements specifying absence of random two, three, four, etc. employees happens very rarely. Most frequently, there are absences of individual employees resulting from holiday leave, trainings or sudden events such as accidents, illness, etc. Nevertheless, for example, to ensure robustness of the schedule of task performance to employee absenteeism (lack of specific competence), the U set has to account for all possible absences of employees, which results in a significant increase in the number of its elements. Given the limited number of available employees which results in limited availability of employee competence, the p probability of execution of a set of tasks with the occurrence of certain cases of employee unavailability was determined. Such probability was determined with the use of Definition_1.

Definition_1

The set of unavailability cases has the form of U = {u1, u2, …, uLK}, wherein LK is the number of all elements in the set U. The L parameter specifies the number of elements from the U set for which performance of a set of tasks will not be possible (L = 0 means that when any case of unavailability of uj takes place, tasks will be performed; L = 3, means that when three cases of unavailability of uj occur (e.g., if a situation u3 or u7 or u11, etc. occurs), tasks will not be executed. On the other hand, if another case of unavailability of uj occurs, tasks will be performed. The L parameter may be converted to the p probability of task execution with the L unavailability of elements from the U set. The mode of calculation of the p probability is presented with the use of formula (f1).

$$ p=\frac{LK-L}{LK}\cdot 100 $$
(f1)

3.3 Scope of decision support

In reference to the presented issue of employee competence configuration, numerous questions can be formulated to which the decision-maker has to find an answer in planning and scheduling processes. These are both general and detailed questions. Obviously, they refer to the aspect of employee competence. The most important of them are presented in Table 4.

Such presentation of the problem and formulation of constraints allows for using the proposed model of the problem (Section 3.4) to assist the decision-making process both in a proactive and a reactive mode. In a proactive mode, the model allows for selection of such competences of individual employees that guarantees execution of a pre-defined set of tasks according to a specified schedule, in spite of the absence of any employee, any two employees, etc. In such mode, it is possible to receive answers to questions Q5 – Q8 (Table 4). A reactive mode model may also be used if during the execution of tasks or at the moment of commencement of their execution, information is received about the absence of specific employees. In this mode, it is possible to receive answers to questions Q1 – Q4 (Table 4). Obviously, many of these questions may also be posed during processes of production, distribution, etc. with the pre-defined schedule at any T moment.

3.4 Mathematical model of the employee competence configuration problem

Based on the premises presented in Section 3, a formal model of the employee competence configuration problem (1)...(10) was proposed. It was formulated as BIP (Binary Integer Programming). Indices, parameters and decision variables of the models are presented in Table 5, whereas a description of the significance and the function of individual constraints is in Table 6. The formula of the model objective function depends on the Q1..Q8 question to which an answer is sought. For example, in order to receive an answer to questions Q1 and Q4, no objective function is required, but only fulfilment of the model’s constraints. For question Q2, the objective function (9) determines the minimum number of new competences that the employees must accomplish. For other questions, the objective function may have a slightly different form than (9).

Table 5 Indices, parameters, decision variables
Table 6 Description of model constraint functions
$$ \sum \limits_{i\in I}{X}_{u,i,k}+{Y}_{u,k}=1\forall k\in K,u\in U $$
(1)
$$ {Gx}_{i,k}\le {Go}_{i,k}+{G}_{i,k}\forall i\in I,k\in K $$
(2)
$$ {X}_{u,i,k}\le {Gx}_{i,k}\forall i\in I,k\in K,u\in U $$
(3)
$$ {X}_{u,i,k}\le {F}_{u,i}\forall i\in I,k\in K,u\in U\wedge i\in U $$
(4)
$$ \sum \limits_{k\in K}{Y}_{u,k}\le St\cdot {Wx}_u\forall u\in U $$
(5)
$$ \sum \limits_{u\in U}{Wx}_u\le L $$
(6)
$$ {\displaystyle \begin{array}{c}{X}_{u,i,k}\in \left\{0,1\right\}\forall i\in I,k\in K,u\in U\\ {}{Gx}_{i,k}\in \left\{0,1\right\}\forall i\in I,k\in K\\ {}{Y}_{u,k}\in \left\{0,1\right\}\forall u\in U,k\in K\\ {}{Wx}_u\in \left\{0,1\right\}\forall u\in U\end{array}} $$
(7)
$$ \mathrm{Cost}\_\mathrm{Chang}=\sum \limits_{i\in i}\sum \limits_{k\in K}\left({Gk}_{i,k}\cdot {Gx}_{i,k}\right) $$
(8)
$$ \operatorname{Min}\ \mathrm{Cost}\_\mathrm{Chang} $$
(9)
$$ {X}_{u,i,k1}+{X}_{u,i,k2}\le 1\forall i\in I,k1,k2\in K,u\in U\wedge {R}_{k1,k2}=1 $$
(10)

In practice, the proposed model can be the basis for building a decision support system for managers in the area of production and/or distribution of any form of organization. Such a system may support the manager in making decisions regarding real situations, such as: (a) Whether to proceed with the execution of the order(s) based on the resources available?, (b) Should training be organized for employees in order to obtain specific competences?, (c) How to plan a budget related to supplementing employees’ competences?, (d) How to organize a team of employees so that they can carry out orders in the event of their absence? etc.

4 Methods and techniques

Due to the nature of the modeled problem (BIP-Binary Integer Programming), the MP (Mathematical Programming) environment seems natural to solve it. There are many MP solvers on the market such as: CPLEX, LINGO, S.C.IP, Gurobi etc. Unfortunately, due to the combinatorial nature of the problem and high computational complexity (NP-hard problem), their effectiveness is limited to problems of small size. Therefore, to model and solve the problem of competence configuration, a modified version of the proprietary hybrid approach was proposed [26, 27], which integrates methods and techniques of mathematical programming and constraint logic programming (CLP) in one integrated framework. For the presented problem, this framework has been supplemented with the dedicated genetic algorithm. The general framework diagram for this approach is shown in Fig. 5. The presented framework makes it possible to model and solve the problem of employee competence configuration using three alternative ways: (a) classical mathematical programming, (b) hybrid approach and (c) dedicated genetic algorithm. In the computational experiments, all three above methods were compared (Section 4.3). Section 4.1 describes the proprietary hybrid approach. The description of the dedicated genetic algorithm is presented in section 4.2.

Fig. 5
figure 5

Modeling and problem solving using an integrated framework

For the implementation of the proposed integrated framework (Fig. 5), the following tools and environments were used: AMPL modelling language (https://ampl.com/), Neo4j (Graph NoSQL database) into which the data instances of the modeled problem (parameters, obtained outcomes, etc.) were uploaded, GUROBI mathematical and constraint programming solver (http://www.gurobi.com/, Accessed April 042021) and C++ for dedicated genetic algorithm.

Fig. 6
figure 6

The method of coding the problem (X-employee inaccessibility, Ex(m) - schedule execution method, IL-last employee number)

4.1 Hybrid approach (b)

A proprietary hybrid approach was proposed as an alternative way of solving the modeled problem. [25, 28]. This approach uses presolving, which is the transformation of the modeled problem. The transformation is performed with constrained logic programming (CLP) methods and problem data instances. The obtained model after transformation is characterized by a smaller number of decision variables and constraints. Additionally, some of the constraints are simplified. This results in a significant reduction in the size of the solution space, which shortens the solution time. The model after transformation is solved using mathematical programming methods [26].

4.2 Dedicated genetic algorithm (c)

A dedicated genetic algorithm was proposed as a new way of solving the modeled problem. Compared to the classical genetic algorithm, it has been supplemented with the presolving procedure, specialized problem representation (Fig. 6), (Section 4.2.1), repair function (Section 4.2.2) .

4.2.1 Presolving procedure

The idea of presolving procedure is presented in Figs. 7, 8, while its location in the genetic algorithm is shown in Fig. 10. This procedure performs two functions simultaneously. On the one hand, it enables the generation of a specialized problem representation with the coding shown in Fig. 6 through direct constraint handling. On the other hand, by eliminating unacceptable allocation and exclusion, the size of the potential solutions is reduced. More precisely, to obtain chromosomes (individuals) with such coding, based on data and, all possible combinations of tasks were generated for each employee that he can perform during the implementation of a given schedule due to his competences. Each such combination of tasks was given a unique number/code No(i) and is the largest inseparable set of tasks to be performed due to a given schedule. For example, for employee i = 7, a list of combinations of tasks to be possible performed by him is presented in Table 7. The proposed representation and coding method (Fig. 6) ensures that each chromosome meets constraints (2), (3), (4), (5), i.e., the employee performs only those tasks for which he is competent. Practically, the rest of the constraints apart from (1) in the proposed coding method are also satisfied.

Fig. 7
figure 7

The inputs and outputs of presolving procedure

Fig. 8
figure 8

Presolving procedure algorithm

Table 7 Combination of possible tasks for employee i = 7

Each employee is assigned a No (i) code that specifies which tasks they can perform, and a set of all employees with assigned codes is a way to execute the Ex(m) schedule; a set of all such ways is one of the acceptable solutions to the configuration problem. The algorithm which is the basis of the presolving procedure is shown in Fig. 8.

4.2.2 Repair function

Unfortunately, the proposed coding (Fig.6) does not guarantee that the constraint (1) will be met. Therefore, a repair function has been developed to ensure that they are met. The function determines which tasks have not been allocated and then checks if there are employees who could perform them. If there are such employees, tasks are assigned to them. If this is not possible, a penalty for inadmissibility of the chromosome |(individual) is set. The detailed algorithm for repair function is presented in Fig. 9. The evaluation function was based on an assessment of each chromosome in terms of costs. Usually, these were the costs of the necessary changes or supplements to employee competences (Cost_Chang). In the case of impossibility to execute orders, a penalty was also added.

Fig. 9
figure 9

Algorithm for repair function

4.2.3 Genetic operators

Individuals are subject to genetic operations adapted to the presented problem, i.e., tournament selection, one-point crossover and uniform mutation. Tournament selection ensures proper selection pressure and prevents premature genetic algorithm convergence. On the other hand, crossover and mutation introduce appropriate diversity into the population. The genetic algorithm terminates when it reaches the number of iterations set by the program user or an additional stop criterion defined by the lack of improvement in the quality of the best individual in the population in the next 50 generations. For the proposed representation and genetic operators thus generated, the genetic algorithm is started according to the diagram in Fig. 10.

Fig. 10
figure 10

Diagram of the dedicated genetic algorithm used

4.3 Computational examples

In order to verify the proposed mathematical model (section 3.4) and implementation, a number of calculation experiments were conducted. The experiments were carried out in two phases. At the first phase for the instance of data from the illustrative example Example_1 (Section 3.1), experiments in three series were performed S1..S3. In the second phase of the experiments, the efficiency of the proposed model and implementation thereof was analyzed.

Series S1 refers to a reactive approach, whereas series S2 and S3 refer to a much more interesting and more complex proactive approach. Table 8 presents details of experiments for individual series, i.e., which questions from Table 6 were taken into account in individual implementations for every series. In S1 it was analyzed whether the held set of competences is sufficient to perform a set of tasks according to the pre-defined schedule (Fig. 1).

Table 8 Scope of implementation of questions in individual experiment series

Implementation of the model allowed for finding all permissible allocations of employees to tasks which guarantees their execution according to the pre-defined schedule and gives a positive answer to the Q1 question. One of such allocations in the form of a Gantt chart is presented in Fig. 11.

Fig. 11
figure 11

Sample allocation of employees to tasks for the Q1 question

In the second series of experiments (S2), the impact of the absence of a random employee and two random employees was examined on the execution of tasks according to the pre-defined schedule (Fig. 1). In this series, implementation of the model taking into account various versions of the Q4 question and the Q5 and Q6 questions was used. In both cases of absence, all possible permissible allocations of employees to tasks that guaranteed execution of the pre-defined schedule were found. In the first case, there were 10 such allocations (Fig. 12), whereas in the second 45. Figure 13 presents four permissible allocations of employees to tasks selected out of 45. For other data instances where the number of competences is insufficient to meet the schedule, implementation of the model from this series allows for finding an answer to questions Q6.

Fig. 12
figure 12figure 12

Set of possible permissible allocations to tasks in case of the absence of a random employee (Q4 and Q5)

Fig. 13
figure 13

Set of 4   sample permissible allocations to tasks in case of the absence of two random employees (Q4 and Q5)

The third series of experiments (S3) refers to a situation where the impact of the absence of three random employees is examined. For the illustrative example Example_1 it is possible to generate 120 of such allocations. The proposed implementation of the model included questions Q4, Q5, Q6. It turned out that the answer to the Q4 was negative if the p = 1 probability was taken into account. There were six cases of unavailability of u1..u6, which were presented in Table 9. For such cases it is impossible to generate the permissible allocation of employees to tasks, i.e., such allocation that would allow for performance of these tasks according to the pre-defined schedule (Fig. 1).

Table 9 Cases of unavailability of employees (i) that prevent schedule performance

Obviously, one may venture saying that the answer to the Q4 question is positive, yet with the probability of 0.95 ((120–6)/120 ≈ 0.95). Figure 14 presents three sample Gantt charts, the upper for the u1 unavailability and the bottom two for permissible allocations.

Fig. 14
figure 14

Two permissible and one not permitted allocation of employees to tasks with respect to unavailability of three employees

In order to guarantee performance of a schedule with the p = 1 probability, it was necessary to adequately supplement competences. Table 10 presents a modified set of employee competences in relation to the configuration from Table 2. It was received by finding an answer to the Q5 question. New competences that had to be acquired by adequate employees in order to guarantee performance of the schedule were marked in red and bold in the table (Q6). Table 11 presents the new modified possible allocations of employees to tasks that allow for performance of the schedule in the absence of three random employees. Figure 15 presents allocation of employees to tasks in case of the unavailability u1 which after supplementation of competences in line with Table 10 became a permissible allocation.

Table 10 New configuration of competence
Table 11 New possible allocations of employees to tasks
Fig. 15
figure 15

Allocation of employees to tasks in the absence of three (u1 from Table 9) after change of competence

In the second stage of experiments, model implementation efficiency was examined. The experiments were carried out with the use of an integrated framework (Fig. 5), which enables three methods of implementing the modeled problem: (a) mathematical programming, (b) hybrid approach and (c) dedicated genetic algorithm.

Two versions of the model were selected for the experiments. The first with the question Q4 (reactive example) and the second with the question Q5 (proactive example). Table 12 presents the received results for the Q4 question for a single u, whereas Table 13 presents results for the Q5 question encompassing a sub-set amounting to 80 cases of unavailability of employees u. For all implementations (a), (b), (c), ten experiments were performed for data instances which differed by the number of K tasks, E number of competences, P employees, etc.

Table 12 Results from reactive approach (Q4)
Table 13 Results from proactive approach (Q5)

It is easy to note that the hybrid approach allows for a reduction of decision variables in the model by approx. 40–60% in relation to the MP approach.

As for the computation time, both methods (b) and (c) turned out to be extremely effective and shorten the time of calculations in case of the Q4 question (reactive approach) up to 70 times, whereas in case of the Q5 question (proactive approach) up to 8 times in implementation (b) and up to 25 times in implementation (c) in relation to implementation (a). This is greatly significant in the reactive approach where decisions should practically be made on-line. For the more demanding proactive case, the use of the hybrid approach and dedicated genetic algorithm allows significant reduction in solution time. When analyzing the obtained results in more detail (Tables 12 and 13), it is clear that the application of the MP-based approach (a) is ineffective both in the reactive (Q4) and the proactive (Q5) case. It can also be seen that methods (b) and (c) make it possible to obtain a solution in an acceptable time. Especially for larger data instances (Fig. 16), the use of the dedicated genetic algorithm (c) is more promising. This is due to the fact that the computation time does not increase as much with the increase in the size of the data instance as it is in the case of the hybrid approach (b).

Fig. 16
figure 16

Computation times of individual methods for a proactive approach (Q5-Table 13)

5 Conclusions

The proposed model of employee competence configuration may provide a basis to support decisions related to selection and supplementation of the competences of employees engaged in the production process, feasibility tests of a pre-defined production schedule, and to ensure the robustness of the performance of a production schedule to employee absenteeism, holiday planning and employee training, etc. In addition, the model allows you to find the allocation of employees with specific competencies for tasks. Due to the mode of problem formalization and implementation in AMPL (Appendix), it may be solved in an environment of mathematical programming, such as LINGO, SCIP, CPLEX, Gurobi, (https://en.wikipedia.org/wiki/List_of_optimization_software), etc., which confirms its significant universality. Application of the dedicated genetic algorithm to its implementation is very efficient, as was shown during the computational experiments (Table 13, Fig. 16). This efficiency results from the proposed dedicated presolving procedure of the modeled problem (Fig. 8) and the appropriate handling of constraints (repair function, method of coding, etc.).

In the course of further work, implementation of the Q7 and Q8 questions is planned, along with the possibility of finding answers to all questions at any moment of T time of schedule performance. Extension of the model is also planned, consisting in introduction of work time limitations of individual employees, as well as a possibility of undertaking performance of tasks partially executed by other employees and fuzzy logic mechanisms [34]. Another area of model extension will consist in introduction of costs of use of employees with specific competences. In future research, it is planned to use the proposed model or its modified versions for project management [22], assembly lines [14], transportation [4], supply chain management [12] and teacher management [29, 30].