Keywords

1 Introduction

Service outsourcing, an important part of high level modern service [1], is very important to industrial restructuring and promotion. The scope is widespread: hospital [2, 3], finance [4, 5], insurance [6], logistics [7] and so on. For the reason of fewer requirements to the staffs and low enter doorsill, the business is highly competitive and the profit space is limited [8]. Data entry outsourcing industry has the problem of the low staff utilization rate: the shortage/redundance of staffs in the program group are the common occurrence. The group has to temporarily transfer some staffs form other group or has no extra orders to distribute to the workers. Even worse, the group cannot deliver the qualified orders on schedule. The company has to pay hefty fines and lose customer trust. However, few studies focus on the operation system of data entry companies. Some papers mainly pay attention to clinical data collection and entry into the information system [911].

This paper studied the multilevel and multiskill staff scheduling problem in the data processing company. Depending on the mathematical model, the staff schedules can be generated which can help company deliver the data with low production cost in time.

2 Methodology

2.1 Problem Description

Data entry belongs to system operation service: it mainly process and integrates the data (including information) from bank, insurance and so on. The data processing process in the outsourcing company is shown in Fig. 1.

Fig. 1
figure 1

Data entry process flowchart

Segmental model derived from set-covering model proposed by Dantzig [12] and Edie [13] is one kind of developed mathematical model adopted by many researchers [14, 15] for labor staffing problem. Its Basic idea is deciding how shifts covered all the time intervals, then solve the staff demand problem in every time intervals to get the staff arrangement.

According to idea of segmental model, a two-step staff scheduling model, considered the whole data processing process in the outsourcing company was built with the unique constrains coming from the reality.

2.2 Model Construction

Some terms are explained as follows:

Level of the order processing: the process of the data processing outsourcing business can be divided into three steps: classification, data entry and output. The original order should be transformed to final data product after several treatments. The order processed has transitivity in every level: the order processed in the previous level is the input in the next level.

Order type: the order type can be accepted by the operation system. Only with the same arrival time, delivery time and needed skill can two order be the same order type.

And the parameters used in the model can be seen as follows:

  • I: the set of the order type,

  • G: the vector of the arrival time of the order.

  • M: the vector indicates the number of the accepted order D: the vector indicates the delivering time of the order

  • F: the vector indicates the finishing time of the order

  • T: the vector indicates the processing time of the order

  • L: the vector of the loss when there is back order.

  • Z: the set of the staff skill

  • N: the vector of the number of the staff in every skill group

  • S: the set of skill type

  • Q: the set of the working shift

  • P: the set of the time interval

  • \( {c_{i,q}}_{{}_v} \): The cost of the type I order processed in the working shift q v

  • C I × V : The vector indicates order-working shift cost

  • \( {e}_{i,{p}_u} \): The cost of the type I order processed in time interval p u :

  • E I × U : The vector indicated order- time interval cost

  • \( {y}_{i,{p}_u} \): The staff number needed to process type I order.

  • Y: the matrix indicates the labor request consideration of the order type and time interval

  • X: the matrix indicates the staff scheduling consideration of the order type and working shift.

For the same type order, there is relationship between the staff demand in the time interval and the practical staff supply: Y = X × R. When the skill s j can cover the order; the number of the working staff in the skill group can be expressed as \( {\sum_{i\in J\otimes I}{y}_{i,{p}_u}} \) (\( {\sum_{i\in J\otimes I}{x}_{i,{q}_v}} \)).

In this staff scheduling problem, the known condition included O, S, T, N, R, M, D, P, Q, C, E, J ⊗ I, q v  ⊇ p u (1 ≤ i ≤ I, 1 ≤ j ≤ J), we can make Y satisfy some requirements to solve X.

  • Step 1: labor scheduling problem

    $$ \min \left[{\displaystyle \sum_{i=1}^I{\displaystyle \sum_{u={g}_i}^V{e}_{i,{p}_u}}{y}_{i,{p}_u}}+{\displaystyle \sum_{i=1}^{I/2}{\displaystyle \sum_{u={d}_{i+I/2}}^V\left({l}_{i+I/2}\frac{u-{d}_{i+I/2}}{t_{i+I/2}}{y}_{i+I/2,{p}_u}\right)}}\right] $$
    (1)

Constrains:

$$ {y}_{i,{p}_u}=0,\kern1em \forall i\in \left[1,I\right],u\in \left[1,{g}_i\right] $$
(2)
$$ \frac{d-{g}_i}{t_i}{\displaystyle \sum_{u={g}_i}^d{y}_{i,{p}_u}}\le {m}_i\le {\displaystyle \sum_{u={g}_i}^V\left(\frac{u-{g}_i}{t_i}{y}_{i,{p}_u}\right)},\kern0.5em i\in \left[1,I\right],{d}_i\le V $$
(3)
$$ {\displaystyle \sum_{\xi ={g}_{i+I/2}+1}^u \frac{p_{\xi}-{p}_{\xi-1}}{t_{i+I/2}}{y}_{i+I/2,{p}_{\xi}}}{\le} {\displaystyle \sum_{\Delta ={g}_i+1}^{u-{t}_{i+I/2}}\frac{p_{\Delta}{-}{p}_{\Delta {-}1}}{t_i}{y}_{i,{p}_{\Delta}}},\kern0.5em \forall i{\in} \left[1,I/2\right],u{\in} \left[{g}_i,V\right] $$
(4)
$$ {\displaystyle \sum_{i\in {J}^{\prime}\otimes I}{y}_{i,{p}_u}}\le {n}_{j^{\prime }},\kern0.5em \forall u\in \left[{g}_i,V\right],{n}_i\in N,i\in \left[1,I\right],{j}^{\prime}\in \left[1,J\right] $$
(5)
$$ {\displaystyle \sum_{i\in {J}^{{\prime\prime}}\otimes I}{y}_{i,{p}_u}}\le {\displaystyle \sum_{j^{{\prime\prime} }}{n}_{j^{{\prime\prime} }}},\forall u\in \left[{g}_i,V\right],{n}_i\in N,i\in \left[1,I\right],{j}^{{\prime\prime}}\in \left[1,J\right] $$
(6)
$$ {y}_{i,{p}_u}\ge 0,{y}_{i,{p}_u}\in \mathbb{Z} $$
(7)

Constraint (2) ensures no staffs are assigned before orders arrival. Constraint (3) guarantees the number of order processed should be between processing ability and the number of the accepted order in the defined period. Constraint (4) indicates the processing sequence from level 1 to level 2: the number of the accumulated order in the level2 should be no more than that in the level 1 at any time; Constraint (5) indicates the number of the workers assigned for the order I should less than the number of the worker in the skill group at any time; Constraint (6) indicates the total number of the workers assigned for the order I should less than the total number of the worker from all skill group. Constraint (7) guarantees the number of the workers should be positive integer.

  • Step 2: labor staffing problem

    $$ \min \left[{\displaystyle \sum_{i=1}^I{\displaystyle \sum_{v=1}^V{c}_{i,{q}_v}}{x}_{i,{q}_v}+{\displaystyle \sum_{i=1}^{I/2}{\displaystyle \sum_{v={d}_{i+I/2}}^V\left({l}_{d_{i{+}_{I/2}}}\frac{v-{d}_{i+I/2}}{t_{i+I/2}}{x}_{i+I/2,{q}_v}\right)}}}\right] $$
    (8)

Constrains:

$$ {x}_{i,{q}_v}=0,\kern0.75em \forall i\in \left[1,I\right],v\in \left[1,{g}_i\right] $$
(9)
$$ X\times A\ge Y,\kern0.5em \forall u,v\in \left[1,V\right],\forall i\in \left[1,I\right],{\displaystyle \sum_v\frac{v-{g}_i}{t_i}{x}_{i,{q}_v}}<{m}_i $$
(10)
$$ {x}_{i,{q}_{v+1}}{=}{x}_{i,{q}_{v+2}}=\cdots ={x}_{i,{q}_V}{=}0,\kern0.5em \forall i\in \left[1,I\right],\forall v\in \left[1,V\right],{\displaystyle \sum_v\frac{v-{g}_i}{t_i}{x}_{i,{q}_v}}\ge {m}_i $$
(11)
$$ {\displaystyle \sum_{\xi ={g}_{i+I/2}+1}^u\frac{q_{\xi }-{q}_{\xi -1}}{t_{i+I/2}}{x}_{i+I/2,{p}_{\xi }}}\le {\displaystyle \sum_{\Delta ={g}_i+1}^{u-{t}_{i+I/2}}\frac{q_{\Delta}-{q}_{\Delta -1}}{t_i}{x}_{i,{q}_{\Delta}}},\kern0.5em \forall i\in \left[1,I\right],v\in \left[1,V\right] $$
(12)
$$ {\displaystyle \sum_{i\in J\otimes I}{x}_{i,{q}_v}}\le {n}_j,\kern0.5em \forall {q}_v\in \left[1,V\right],{n}_i\in N,i\in \left[1,I\right],{j}^{\prime}\in \left[1,J\right] $$
(13)
$$ {\displaystyle \sum_{i\in J\otimes I}{x}_{i,{q}_v}}\le {\displaystyle \sum_{j^{{\prime\prime} }}{n}_{j^{{\prime\prime} }}},\kern0.5em \forall u\in \left[{g}_i,V\right],{n}_i\in N,i\in \left[1,I\right],{j}^{{\prime\prime}}\in \left[1,J\right] $$
(14)
$$ {x}_{i,{q}_v}\ge 0,{x}_{i,{q}_v}\in \mathbb{Z} $$
(15)

Equation (9) ensures no workers are arranged before order arrival. Constraint (10) indicates the worker assigned in every working shift should satisfy the labor demand solved in step 1. Constraint (11) expresses that no workers should be assigned to the working shift once the number of accumulated processed order has equaled to the total order demand (workers assigned in every working shift is more than that in the time intervals belonged to the working shift. The practical progress is faster than which described in the “labor scheduling model”. So the labor staffing in the working shift needs to be stopped compulsively.). Constraint (12) indicates that the processing sequence should from level 1 to level 2, and the number of the accumulated order in level 2 should no more than that in level1 at any time; the formulation from (13), (14), (15) has the similar meaning as the formulation from (5), (6), (7).

3 Results

3.1 Model Input

The data collected for the model is from the company ICP founded in 2002. According to the field research, we choose the number of the arriving order in program A, B, C and VR in 1 day and the demand can be defined. The entry step can be simplified into two step; all the workers can be divided into four skill group: Z = {z 1,z 2,z 3,z 4}, four group respectively have 15, 15, 12 and 10 workers (Fig. 2).

Fig. 2
figure 2

Correspondence of skill group and order type

The specific information of four programs can be seen in Tables 1 and 2.

Table 1 Arrival time, delivery time and order amount
Table 2 Process time, labor and back order cost

3.2 Mathematical Results

We solve the model by IBM ILOG CPLEX Optimization Studio12.3 and get the objective function value f(x) = 287.9 and the specific order-interval scheduling plan for the company ICP (see Table 3).

Table 3 Order-interval staffing result

The above results are plugged into the 2nd step model and get the order-shift scheduling plan (see Table 4) with the total cost of 285.5.

Table 4 Order-shift scheduling result

4 Discussion

Order-shift scheduling plan is generated on the basis of order-interval plan. There are just some dedicate differences of the total cost between 1st step model and 2nd step model; order-shift scheduling plan emphasizes on the processing deadline so that there is no need to arrange staff when one kind of the order have been delivered to the customer. While some staff assigned to the shift cannot process the order before the orders arrive and they just make production preparation, for example debugging the computer or the work platform and rapid response to the orders arrived earlier. From the aspect of the company, the orders can also be postponed to the next shift with more staffs to finish them. We should consider this problem to decrease staffs’ idle time and deliver the orders in time.

5 Conclusion

The multilevel, multiskill labor staffing and scheduling model is proposed from the aspect of the data processing company. The effectiveness of the model is confirmed by the empirical data from the company ICP. The main contributions of the paper are

  1. A.

    The efficient operation system with low cost is very important for data processing companies. The core part is labor staffing and scheduling. Few studies focus on this kind of problem which the companies are eager to solve. This paper just makes up for the blank.

  2. B.

    The two-step model is proposed under the condition of deterministic demand with multilevel and multiskill. It can be reduced to linear programming model which is finally solved by IBM ILOG CPLEX Optimization Studio12.3

  3. C.

    The practical data collected from the company is used for the model. The result proves the validity of the scheduling model.

However, the model in this paper just considers two level processes. Actually the processes of data processing are more than two steps. Further research is needed to extend the model for more levels and balance the labor assignment between intervals and shifts.