A Game-Theory Method to Design Job Rotation Schedules to Prevent Musculoskeletal Disorders Based on Workers’ Preferences and Competencies

Job rotation is an organizational strategy based on the systematic exchange of workers between jobs in a planned manner according to specific criteria. This study presents the GS-Rot method, a method based on Game Theory, in order to design job rotation schedules by considering not only workers’ job preferences, but also the competencies required for different jobs. With this approach, we promote workers’ active participation in the design of the rotation plan. It also let us deal with restrictions in assigning workers to job positions according to their disabilities (temporal or permanent). The GS-Rot method has been implemented online and applied to a case in a work environment characterized by the presence of a high repetition of movements, which is a significant risk factor associated with work-related musculoskeletal disorders (WMSDs). A total of 17 workstations and 17 workers were involved in the rotation, four of them with physical/psychological limitations. Feasible job rotation schedules were obtained in a short time (average time 27.4 milliseconds). The results indicate that in the rotations driven by preference priorities, almost all the workers (94.11%) were assigned to one of their top five preferences. Likewise, 48.52% of job positions were assigned to workers in their top five of their competence lists. When jobs were assigned according to competence, 58.82% of workers got an assignment among their top five competence lists. Furthermore, 55.87% of the workers achieved jobs in their top five preferences. In both rotation scenarios, the workers varied performed jobs, and fatigue accumulation was balanced among them. The GS-Rot method achieved feasible and uniform solutions regarding the workers’ exposure to job repetitiveness.


Introduction
Although robots are now widely used in modern industry, human resources still represent an essential part of it. As the present industrial processes are characterized by a high degree of production flexibility, the workforce also needs to be flexible.
Job rotation is an organizational strategy based on the systematic exchange of workers between jobs in a planned manner. A design of job rotation is to plan and schedule the assignment and sequencing jobs between workers. An optimal program depends on the variability in the assignment solutions that are effective in reducing injury risks, improving productivity, and, last but not least, being acceptable to those affected. PE also contributes to reducing the number of musculoskeletal injuries, creating a more human-centered work, improving the organizational climate, and helping health promotion within the work environment [18].
Game theory consists of a collection of models that helps to understand situations in which decision-makers interact [19]. Game theory is the mathematical study of strategy and conflict, in which an agent's success in making choices depends on the choice of others [20]. They can be understood as a dynamical graph system [21].
The Gale-Shapley algorithm (GS) [22] is fundamental in game theory, gives a solution to the stable marriage problem, and is simple to apply. When preferences are strict, the deferred acceptance algorithm yields a unique stable matching in O(n 2 ) time. Since it was first applied to solve the college admissions problem, it has been applied to a myriad of contexts, and it also gave birth to a new theory of market design [23]. A recent description of the formulation and solution to some of these problems can be found in [24][25][26]. The GS algorithm has been applied to analyzing the capacity of sharing in a network of enterprises [27], and also for decision-making of reconfigurable manufacturing systems [28]. However, to the best of our knowledge, so far, it has not been used to solve the job rotation problem.
In the job rotation problem, a company requires its employees to swap their jobs (possibly on a regular basis) in order to avoid, for instance, exposure to monotonous [29] or risky ergonomic tasks. For the first rotation, a set of N workers has to be matched to a set of N jobs. In the next rotation, new matchings between workers and jobs have to be found so that no worker repeats his previous job position. The quest for such matches can be understood as a stable marriage problem [22]. The elements of each set have an ordered list of preferences with respect to the members of the other set. A solution to this problem consists of finding pairs of elements (job-worker) with one element from each set that are stable marriages, i.e., the breakup of two pairs cannot yield a new pair with better preferences for both members.
This paper proposes the GS-Rot method based on the Galey-Shapley algorithm [22], which is intended to design job rotation schedules based on game theory. The GS-Rot method can design job rotation schedules from two points of view, either by giving priority to workers' job preferences or to their level of competence to carry out the jobs. The proposed method promotes the workers' active participation in the design of the rotation plan by considering their preferences for job assignments. A case study was carried out in an assembly line of repetitive jobs as an example of its application, the main conclusions of which were: its flexibility was able to generate job rotation schedules according to different scenarios (with or without rotation, and also giving priority to workers' preferences for assignments or to their skills); its efficiency in terms of computational cost for finding feasible schedules; its capability to obtain schedules that balance exposure to repetitiveness; and last but not least, its flexibility to introduce new assignment criteria.

Problem Definition
The problem to be solved consists of scheduling R rotations in the assignment of N workers to N job positions. For its design, we will consider workers' preferences for the jobs and their degree of competence for each job. We will also consider organizational restrictions and an evaluation of the ergonomic quality of the proposed schedules.
We also want the worker-job assignments to be stable, i.e., there must be no couple of worker-job pairs such that, once broken, we could make a new, more profitable worker-job pair from the point of view of worker preferences and level of competence for the job.

Adaptation of the Gale-Shapley Algorithm (GS) to the Job Rotation Problem
The GS algorithm is applied to two sets of equal size, X and Y, in which each element in X has an ordered list of preferences with respect to the members of Y, and conversely. The X and Y sets are not treated equally. In each iteration, the algorithm gives priority to the preferences of the members of one of the sets. The elements in this set will be called requesters, and the others will be called requested. Different admissible solutions to the problem will be found according to which set belongs to the requesters.
To be matched, the GS algorithm requires the preference lists of each requester and requested. In the adaptation of the GS algorithm to the job rotation problem, we first consider that the requesters will be the workers, and the requested will be the job positions. For the converse assignment, we proceed in a similar way.
In the GS-Rot method, each worker will rank all the job positions according to his preferences. This will be called the list of preferences of job positions for worker i. We denote the order k-th of preference of worker i for job j as P(i,j).
We will also consider an ordered list of preferences of workers for each job j, which will be based on the skills required to carry it out. This will be called the list of competencies for job position j. We denote the order k-th of competence for worker i at job j as C(i,j). We will also add a table of ergonomic fitness in which the ergonomic risk of each worker in each job position has been computed. The ergonomic fitness of worker i at job position j is denoted by EF(i,j) so that any given rotation can be scored in terms of ergonomic quality.
The GS algorithm only provides a single assignment of workers to job positions. However, for the job rotation problem, we require a list of paired assignments for each rotation. After each rotation, we will thus modify the lists of job positions and competencies. If only one assignment of workers to jobs were to be implemented, there would be no job rotations.

General Description of the GS-Rot Method
Let us assume that we have N workers and N job positions and we have to schedule R rotations. We consider the lists of preferences and competencies as given. Initially, we take them without any modification. As priority will be given to the workers' preferences, it will be called an assignment based on preferences.
Let us introduce a counter for the rotations, named r, and initialize it at 1. The method works as follows: Step 1. Let us compute the r rotation. We first assign each worker to the job position of his first preference.
Step 2. Job positions with two or more requests will be provisionally assigned to the most suitable worker, i.e., the one who ranks highest in the list of competencies for that job. The other workers are considered as rejected.
Step 3. For each rejected worker in the previous step, we assign him/her to the next job position in his/her list of preferences. Those workers whose request has not been rejected in the previous step keep their assignment.
Step 4. We repeat the combination of Steps 2 and 3 until no worker is rejected. In this last case, we have already obtained the r rotation of the agenda. We denote the job assigned in rotation r to worker i as A(i,r).
Step 5. Once we have assigned the workers to jobs for rotation r, we will then update the preferences and competencies lists of every worker before returning to Step 1 and starting to compute the next rotation r + 1, as long as r ≤ R. Penalties are introduced in both lists to avoid re-assigning a worker to the same job as before.
Conversely, if the requesters are the job positions and the workers are the requested, we will call it an assignment based on competencies. The steps of the GS-Rot method are similar to the previous ones, but in this case, the job positions choose the workers. When a number of requests coincide, the workers' preferences are consulted. This strategy gives preference to the competence level of the workers as regards their preferences. Figure 1 illustrates the flow chart of the GS-Rot method.

Definition of the Worker's Preference Lists
We denote the order of preference of job j for worker i as P(i,j). We assign 1 to his first preference, 2 to the second, and so on. When N is low, we can rank "each worker's" preference and competence for each job position. When N is high, and it is not feasible to individually rank all elements, we propose that workers evaluate each job position between 1 and T, where T indicates the number of subgroups of preferred jobs.
When a worker assigns the maximum score to a job, it may indicate that he has experience in this position and that he considers that he is qualified for the job. However, it may also indicate that he wants to do it for a change from his last job or to be assigned to a new job in which he can learn new competencies. Once a worker has been evaluated for all the positions, the positions are ranked from highest to lowest. In the case of tied evaluations, the order is randomized. For example, If the positions are P0, …, P5, and the grades for these positions are indicated between brackets P0(1), P1(2), P2(2), P3(3), P4(3), P5(3), then positions P3, P4, and P5 are tied, as well as P0 and P2. We break the ties by assigning random numbers to each one and ordering them according to this last number.

Definition of the Worker's Competencies Lists
For the definition of the list of competencies, we propose to number (Ns) all the skills required for any job. For every skill s, we compute a score SkC(j,s), which determines if skill s is required for job j. For instance, we can score each skill for every job as 1, if necessary, and 0 if not necessary. Later, we score the workers' ability for each skill required for each job; WSk(i,s) stands for worker i's ability at skill s.
In the next example, we score as 1 if the worker has this skill and 0 if not. Once we have graded the job skills and the workers level of skills for each job, we compute the competency level of every worker i for each job j, denoted by CL(i,j), as follows, see (Equation (1)):

Definition of the Worker's Preference Lists
We denote the order of preference of job j for worker i as P(i,j). We assign 1 to his first preference, 2 to the second, and so on. When N is low, we can rank "each worker's" preference and competence for each job position. When N is high, and it is not feasible to individually rank all elements, we propose that workers evaluate each job position between 1 and T, where T indicates the number of subgroups of preferred jobs.
When a worker assigns the maximum score to a job, it may indicate that he has experience in this position and that he considers that he is qualified for the job. However, it may also indicate that he wants to do it for a change from his last job or to be assigned to a new job in which he can learn new competencies. Once a worker has been evaluated for all the positions, the positions are ranked from highest to lowest. In the case of tied evaluations, the order is randomized. For example, If the positions are P 0 , . . . , P 5 , and the grades for these positions are indicated between brackets P 0 (1), P 1 (2), P 2 (2), P 3 (3), P 4 (3), P 5 (3), then positions P 3 , P 4 , and P 5 are tied, as well as P 0 and P 2 . We break the ties by assigning random numbers to each one and ordering them according to this last number.

Definition of the Worker's Competencies Lists
For the definition of the list of competencies, we propose to number (Ns) all the skills required for any job. For every skill s, we compute a score SkC(j,s), which determines if skill s is required for job j. For instance, we can score each skill for every job as 1, if necessary, and 0 if not necessary. Later, we score the workers' ability for each skill required for each job; WSk(i,s) stands for worker i's ability at skill s.
In the next example, we score as 1 if the worker has this skill and 0 if not. Once we have graded the job skills and the workers level of skills for each job, we compute the competency level of every worker i for each job j, denoted by CL(i,j), as follows, see (Equation (1)): Then we rank all workers from the highest to the lowest level of competence for every job position obtaining the competence list, denoted as C(i,j), in the example showed in Table 1 with j = 1, C(1,1) = 2, C(2,1) = 1, C(3,1) = 3. Table 1 gives an example of this computation. As previously indicated, we undo ties using random numbers. Table 1. Example of the computation of workers' competence for a specific job position j. In this case, we have three workers, i = 1, 2, 3, and also 3 competencies, s = 1, 2, 3. Here, worker 2 has the highest competency level, followed by workers 1 and 3.

Definition of the Ergonomic List of Jobs
In order to evaluate the fitness of a solution in terms of ergonomic quality, we needed to evaluate the ergonomic risk level of all job positions, and we denoted the score for the ergonomic risk of type e in job j as ER(j,e). This can be done attending to one or more risk factors, depending on the planner's choice. For instance, for working environments with repetitiveness, the ergonomic list could include a score to indicate the presence of risks associated with each job. This can be obtained by applying Sue Rodger's method [30] or the OCRA method [31]. If several factors are considered, we should homogenize the risk assessments to be comparable. Such values will be called the ergonomic list of job positions.

Penalties for the Assignments
Two types of penalties will be introduced in the GS-Rot method for assignments of workers to job positions: (1) Penalties for taking a job position already taken: after obtaining an assignment in the r rotation, we update the competence lists introducing penalties for workers in job positions that they have already taken. This is done in order to force workers not to repeat the same positions in the next rotation: If a worker is assigned to job position j in rotation r, then we move him to the last position in the competence list of the job position j for the rotation r + 1. We also update the preference list of that worker in the same way by setting job positions already taken as the last preference of each worker. (2) Penalties introduced by the planner: the planner can explicitly prohibit some assignments or indicate the maximum time that a job position can be taken by a worker. This is useful in order to include medical prohibitions or recommendations. If one assignment is forbidden, then we consider the next position in the worker's preference list. If a worker does not find an acceptable assignment, this will lead to an undefined state in the solution given by the method, according to the degree of restriction of the penalties.

Fitness Evaluation of the Solution
The total fitness of a solution, E, will indicate the quality of the job assignments to workers in each rotation. This is done by simultaneously considering the fitness of preferences (E p ), competencies (E c ), and ergonomic criteria (E e ). Equations (2)-(5) show a proposal of how fitness can be obtained. If we want to favor some criteria over others, some weights can be introduced in (2). As can be noted, the lower the value of the fitness, the better the solution.
We recall that A(i,r) stands for the job position assigned in rotation r to worker i. The fitness of preferences and competencies will be given by We denote the ergonomic fitness of a solution as E e . This weighs the risk to which the worker is exposed, plus the accumulated fatigue. For its computation, let us consider that we are going to use Ne different risk criteria. We also make D(r) stand for the duration of the rotation r without pauses. E e is calculated for each worker (i) according to the exposure to each risk (e), the time exposed to it (D(r)), and the number of rotations performed previously (r). Thus, the worker exposure to risk increases with time exposed (D(r)), and it is higher with existing accumulative fatigue due to previous rotations (r).
By ER(i,A(i,r),e), we denote the level of ergonomic risk of type e to which worker i is exposed in rotation r when assigned to job A(i,r) according to the ergonomic list of job positions. For the computation of the ergonomic fitness, we consider that it is proportional to the exposure time and accumulative fatigue represented by introducing factors D(r) and r.
For the computation of E e we have also taken into account the variability and the recovering of accumulated fatigue [13]. F(i,A(i,r),r,e) denotes the accumulated fatigue of worker i with respect to the risk e, when doing the job prescribed in rotation r + 1, after doing the job in rotation r, which depends on the variation of the risk level exposure when changing jobs. The ergonomic risk score of type e to which worker i is exposed when assigned to job A(i,r) in rotation r will be denoted by ER(i,A(i,r),r,e), which takes numerical values (scores) representing low (L), medium (M) or high (H) level of risk. We consider that there is no fatigue in the first rotation. Fatigue decreases when the worker is exposed to lower risk and increases in positions of medium or high risk. It also depends on the risks involved in the previous job, so that the lower the fatigue, the higher the ergonomic fitness. According to the previous and the next level of risk, we set 5 different fatigue levels: I(g), with g from 1 to 5. Its definition is given in Equation (6). In order to clarify the results, we will call the second term of (5) the accumulated fatigue of the rotation (denoted by F a ).

Case Study
The GS-Rot method was used to obtain a rotation plan for N = 17 workers and jobs in a work environment characterized by the presence of a high repetition of movements, which is a major risk factor associated with work-related musculoskeletal disorders (WMSDs), taking into account a job's repetitiveness risk level, the workers' preferences and competencies, as well as some organizational restrictions.
We also wanted to evaluate the quality of the rotation agendas in terms of exposure to repetitiveness with a rotation every 2 h in an 8-h day, so that R = 4. We considered the following increments for the computation of the fatigue level in (Equation (6)): I(1) = 0, I(2) = I(3) = 2, I(4) = 3, and I(5) = 4 [13].

Jobs
We also set 14 penalties: workers 6 and 10 cannot drive and cannot be assigned to job 5. Worker 13 cannot take job 6 since he cannot work at heights. The planner also decided that worker 3 cannot do jobs 1,5,6,7,8,9,10,12,13,16, and 17 more than 4 h per day, but can combine them, for example, he can do job 1 for 2 h and job 5 for 2 h. In order to evaluate the workers' cumulative repetitiveness of the solutions, we used Sue Rodgers' method [30] to obtain a severity level for every job in terms of strength, duration, and frequency required for every part of the body in carrying out each task. According to the score obtained, the jobs were classified into 3 severity levels: Low (2), Medium (5), and High (7). Jobs 13 and 17 were identified as high, jobs 1, 7, 8, 10, 11, 12 as medium, and jobs 2, 3, 4, 5, 6, 9, 14, 15, and 16 as low. Other methods, such as OCRA, could have been applied in that context to assess the repetitiveness risk level [31]. Table 3. Jobs competencies lists (C). A value in row i, column j, C(i,j) indicates the order of competence of worker i in job j, e.g., worker 1 is the 5th in the competence level for job 1 (C(1,1) = 5); and worker 1 is the 1st in the competence level for jobs 6 and 7 (C(1,6) = 1; C(1,7) = 1).

Results
In this case study case, the GS-Rot method was implemented in JavaScript online software. To evaluate the method's capacity for generating rotations, we compared the results of four different scenarios: (1) Assignment by considering workers' preferences as requesters without rotations (AP) (2) Assignment by considering job competencies as requesters without rotations (AC) (3) Assignment by considering workers' preferences as requesters with rotations (APR) (4) Assignment by considering job competencies as requesters with rotations (ACR) In all the scenarios, GS-Rot was able to obtain acceptable assignments (Table 5) in a short time (mean 10.5 ms) on a 3.4 GHz Processor with 3.5 GB of RAM memory.

Fitness Analysis
The solution with the best fitness score was AP (E = 1317), while ACR and APR had the worst fitness score (E = 1418 and 1429, respectively). The best score for the fitness of preferences was obtained by the AP (E p = 84) and the worst by AC (E p = 398). The best fitness with competencies was obtained by AC (E c = 134) and the worst by APR (E c = 427). The best ergonomic fitness was obtained for the agendas obtained through ACR (E e = 808) and APR (E e = 810), since the part of the score due to fatigue in these scenarios was lower than the scenarios without rotation, (F a = 64) for the ACR and (F a = 64) for the APR case. All of this data is shown in Tables 4 and 5.  When the method gave priority to workers' preference with respect to the competence level, the results were in agreement with it. These solutions presented a worse score for E c . The situation is symmetrical with the converse case.
When introducing rotations in the scenarios driven by workers' preferences or competencies, as expected, the variability of the jobs done by each worker is higher, so that, the cumulative fatigue is lower than in the non-rotational cases.

Analysis of Preferences
In the AP scenario, all the workers (100%) were assigned a job in their top five preferences, and 41.18% obtained their first option. Of the jobs, 47.04% were assigned to workers at the top of their competence list, and 76.45% in the top 10 places. When introducing rotations in APR, almost all the workers (94.11%) got an assignment among their top five preferences, with 35.29% given their first option. Likewise, 48.52% of job positions were assigned to workers in the top five of their competence lists, with 79.39% in the top 10.
As expected, the worst results in terms of preferences were obtained when the assignments prioritized competencies (scenarios AC and ACR). In AC, although 55.88% of the workers got one of their top five preferences, some were assigned to lower-ranked places: 2.94% of the workers obtained their sixth preference. Other positions with the corresponding percentage of workers were: positions 8 (8.82%), 9 (2.94%), 13 (14.71%), 14 (8.82%), and 17 (5.88%). The rate of assignments to the top five preferences (55.87%) was maintained in ACR when the rotations were included. Here, we also have other assignments in positions: 6 to 14 and 17. All of this data is summarized in Figure 2.
We also computed the sum of the positions in their respective preference lists of the jobs that were assigned to all the workers in all the rotations ( Figure 3). As can be seen, the GS-Rot method achieved more uniformity in the degree of satisfying preferences when the rotation gave priority to the preferences. Figure 4 gives the total sum of preferences in the 4 rotations for every worker. High values in total assigned positions of preferences (peaks in the graph of Figure 4) indicate the presence of less preferred assignments by workers in the assignment. The GS-Rot method provided more uniformity in the level of satisfied preferences in AP and APR than in AC and ACR. their top five preferences, some were assigned to lower-ranked places: 2.94% of the workers obtained their sixth preference. Other positions with the corresponding percentage of workers were: positions 8 (8.82%), 9 (2.94%), 13 (14.71%), 14 (8.82%), and 17 (5.88%). The rate of assignments to the top five preferences (55.87%) was maintained in ACR when the rotations were included. Here, we also have other assignments in positions: 6 to 14 and 17. All of this data is summarized in Figure 2. We also computed the sum of the positions in their respective preference lists of the jobs that were assigned to all the workers in all the rotations ( Figure 3). As can be seen, the GS-Rot method achieved more uniformity in the degree of satisfying preferences when the rotation gave priority to the preferences. Figure 4 gives the total sum of preferences in the 4 rotations for every worker. High values in total assigned positions of preferences (peaks in the graph of Figure 4) indicate the presence of less preferred assignments by workers in the assignment. The GS-Rot method provided more uniformity in the level of satisfied preferences in AP and APR than in AC and ACR.

Analysis of Competencies
In the AC case, most of the workers were in their top five of their competence lists (85.29%), with 32.35% assigned to the first option. The rest of the workers were assigned to an option in the 6th (5.88%), 7th (5.88%), or 8th (2.94%) place. However, when prioritizing competencies, in AC, only

Analysis of Competencies
In the AC case, most of the workers were in their top five of their competence lists (85.29%), with 32.35% assigned to the first option. The rest of the workers were assigned to an option in the 6th (5.88%), 7th (5.88%), or 8th (2.94%) place. However, when prioritizing competencies, in AC, only 58.88% of the workers got assignments in their top five preferences (in contrast to the 100% in AP), and 78.58% got an assignment in their top 10 preferences.

Analysis of Competencies
In the AC case, most of the workers were in their top five of their competence lists (85.29%), with 32.35% assigned to the first option. The rest of the workers were assigned to an option in the 6th (5.88%), 7th (5.88%), or 8th (2.94%) place. However, when prioritizing competencies, in AC, only 58.88% of the workers got assignments in their top five preferences (in contrast to the 100% in AP), and 78.58% got an assignment in their top 10 preferences.
When introducing rotations in ACR, 58.82% of workers got an assignment among their top five competence lists, and 11.76% achieved their first option. No workers were assigned to the last four places in their competence list ( Figure 5). With rotation under competence priority (ACR), the satisfied workers' preferences were lower than with APR, as expected. In ACR, 55.87% of the workers achieved jobs in their top five places, the rest were assigned jobs between preferences 6 and 17 (only 1.47% were assigned to their last preference), and 86.74% were in their top 10. In general, the sums are lower for the AC and ACR than for AP and APR ( Figure 6). It can be seen again that the GS-Rot method achieves uniformity in the level of satisfied competencies in AC and ACR. The peaks in Figure 6 show the number of workers assigned to the last place in their competence list. In general, the sums are lower for the AC and ACR than for AP and APR ( Figure 6). It can be seen again that the GS-Rot method achieves uniformity in the level of satisfied competencies in AC and ACR. The peaks in Figure 6 show the number of workers assigned to the last place in their competence list.  In general, the sums are lower for the AC and ACR than for AP and APR ( Figure 6). It can be seen again that the GS-Rot method achieves uniformity in the level of satisfied competencies in AC and ACR. The peaks in Figure 6 show the number of workers assigned to the last place in their competence list. For every job, we also computed the sum of the places in the workers' competence lists assigned to them in all the rotations. These results are shown in Figure 7. As we can see, the GS-Rot method achieves more uniformity in the level of satisfied competencies in AC and ACR than in AP and APR. For every job, we also computed the sum of the places in the workers' competence lists assigned to them in all the rotations. These results are shown in Figure 7. As we can see, the GS-Rot method achieves more uniformity in the level of satisfied competencies in AC and ACR than in AP and APR.

Ergonomic Analysis
We finally computed the accumulated fatigue per worker (AFW) after each rotation scenario as the sum of the Sue Rodgers level of risk of every position multiplied by the length of the rotation and the position in the rotation (Equation (5)). Figure 8 shows the results of the risk of repetitiveness accumulated by each worker for different scenarios. It can be seen that the scenarios with rotations (APR and ACR) are able to spread the risk among the workers. However, in AP and AC, without rotation, some workers would appear to be over-fatigued (workers 5 and 16 in AP, workers 5 and 10 in AC). The distribution of the accumulated fatigue is shown in Figure 9 and also illustrates how rotation is able to balance the fatigue within workers.

Ergonomic Analysis
We finally computed the accumulated fatigue per worker (AFW) after each rotation scenario as the sum of the Sue Rodgers level of risk of every position multiplied by the length of the rotation and the position in the rotation (Equation (5)). Figure 8 shows the results of the risk of repetitiveness accumulated by each worker for different scenarios. It can be seen that the scenarios with rotations (APR and ACR) are able to spread the risk among the workers. However, in AP and AC, without rotation, some workers would appear to be over-fatigued (workers 5 and 16 in AP, workers 5 and 10 in AC). The distribution of the accumulated fatigue is shown in Figure 9 and also illustrates how rotation is able to balance the fatigue within workers.

Ergonomic Analysis
We finally computed the accumulated fatigue per worker (AFW) after each rotation scenario as the sum of the Sue Rodgers level of risk of every position multiplied by the length of the rotation and the position in the rotation (Equation (5)). Figure 8 shows the results of the risk of repetitiveness accumulated by each worker for different scenarios. It can be seen that the scenarios with rotations (APR and ACR) are able to spread the risk among the workers. However, in AP and AC, without rotation, some workers would appear to be over-fatigued (workers 5 and 16 in AP, workers 5 and 10 in AC). The distribution of the accumulated fatigue is shown in Figure 9 and also illustrates how rotation is able to balance the fatigue within workers.

Discussion
The GS-Rot method has been proved to be a useful tool for designing job rotation schedules based on worker's preferences, required competencies, and ergonomics. The method provides job rotation schedules in acceptable short computing time so that planners are able to recalculate solutions to deal with any changes in production or human resources that affect the number and type of workers and jobs involved in the rotation.
GS-Rot can also find different acceptable solutions for a group of workers and job positions, according to whether the priority is given to job preferences or to maximizing their level of competence, with or without rotations. In the present case study of 17 workers and jobs, feasible job rotation schedules were obtained in a short time. In the rotation scenarios, with priority for both preferences and competencies, the method can introduce variability of the jobs done by each worker, while fatigue accumulation is lower than in the non-rotational scenarios. The workers did not consecutively repeat assignments, and the rotation schedules spread out repetitiveness among the workers. In this case, the GS-Rot method achieved uniformity in the level of satisfying preferences. However, uniformity decreased when the rotation gave priority to competence over job preferences. The rotations (APR and ACR) balanced the workers' fatigue accumulation much better than the scenarios with no rotation (AP and AC).
It should be remembered that the workers' participation in the rotation plan by considering their preferences can be of paramount importance for facilitating their acceptance of the solution and its deployment. It is worth mentioning that GS-Rot is not limited to generating agendas based on preferences or competencies. It can also introduce new assignment criteria in the requesters and requested lists. Other criteria can also be considered for planning the assignments, such as experience in the job, former injuries, training, and medical recommendations, or combinations of the foregoing.
With the job, rotation makes it possible to assign workers to workstations compatible with their limited capacities and to restrict the time that they are exposed to risk factors to which they are especially sensible [5]. The GS-Rot method allows obtaining solutions for disabled workers' integration by applying penalties to certain assignations to avoid a worker to be assigned to a job that cannot perform due to physical, psychological, or communication limitations. However, it does not imply that positions considered "light" are assigned to a single worker, with the consequent rejection of other workers.
Finally, we should also mention that the system for introducing penalties is still open and subject to the inclusion of new criteria for computing the updated lists. For instance, they could be updated after each rotation according to the accumulated ergonomic risk, which would reduce the risk of

Discussion
The GS-Rot method has been proved to be a useful tool for designing job rotation schedules based on worker's preferences, required competencies, and ergonomics. The method provides job rotation schedules in acceptable short computing time so that planners are able to recalculate solutions to deal with any changes in production or human resources that affect the number and type of workers and jobs involved in the rotation.
GS-Rot can also find different acceptable solutions for a group of workers and job positions, according to whether the priority is given to job preferences or to maximizing their level of competence, with or without rotations. In the present case study of 17 workers and jobs, feasible job rotation schedules were obtained in a short time. In the rotation scenarios, with priority for both preferences and competencies, the method can introduce variability of the jobs done by each worker, while fatigue accumulation is lower than in the non-rotational scenarios. The workers did not consecutively repeat assignments, and the rotation schedules spread out repetitiveness among the workers. In this case, the GS-Rot method achieved uniformity in the level of satisfying preferences. However, uniformity decreased when the rotation gave priority to competence over job preferences. The rotations (APR and ACR) balanced the workers' fatigue accumulation much better than the scenarios with no rotation (AP and AC).
It should be remembered that the workers' participation in the rotation plan by considering their preferences can be of paramount importance for facilitating their acceptance of the solution and its deployment. It is worth mentioning that GS-Rot is not limited to generating agendas based on preferences or competencies. It can also introduce new assignment criteria in the requesters and requested lists. Other criteria can also be considered for planning the assignments, such as experience in the job, former injuries, training, and medical recommendations, or combinations of the foregoing.
With the job, rotation makes it possible to assign workers to workstations compatible with their limited capacities and to restrict the time that they are exposed to risk factors to which they are especially sensible [5]. The GS-Rot method allows obtaining solutions for disabled workers' integration by applying penalties to certain assignations to avoid a worker to be assigned to a job that cannot perform due to physical, psychological, or communication limitations. However, it does not imply that positions considered "light" are assigned to a single worker, with the consequent rejection of other workers.
Finally, we should also mention that the system for introducing penalties is still open and subject to the inclusion of new criteria for computing the updated lists. For instance, they could be updated after each rotation according to the accumulated ergonomic risk, which would reduce the risk of injuries due to ergonomic factors. In future studies, we intend to apply the GS-Rot method to environments with multiple ergonomic risk factors.

Conclusions
In this study, we have described the new method GS-Rot to calculate job rotation by considering not only workers' job preferences but also the competencies required for different jobs. Moreover, the method can also deal with restrictions in assigning workers to job positions, that could be useful for disabled (permanent or temporary) workers integration. The workers themselves can actively participate in designing the rotation plan taking into consideration their job assignations preferences. Mover, we have assessed the feasibility of the method by applying it in a case study in a work environment characterized by the presence of a high repetition of movements. Job rotation schedules are calculated in a short time, and almost all the workers (94.11%) were assigned to one of their top five preferences. When jobs were assigned according to competence, 58.82% of workers got an assignment among their top five competence lists. The GS-Rot method achieved uniform solutions as regards the workers' exposure to job repetitiveness and cumulative fatigue.
Finally, we are aware that the study is limited with regard to the jobs and workers involved. Although the results are promising, more cases of study will be needed to validate the method. Likewise, to validate the post-implementation result of the rotation schedules proposed by the GS-Rot method remains pending, and this will require the collection of data after its application. These data should be compared with the musculoskeletal incidents before the schedule adopted. Due to the cumulative nature of the WMSDs, a sufficiently long period of observation will be necessary (at least two years) [5]. Furthermore, the degree of satisfaction of workers should be compared to previous solutions in which their preferences were not considered. Additionally, we plan to improve the GS-Rot online tool developing a user-centered interface to be usable and accepted by planners in real scenarios.