# Temporary Workforce Planning with Firm Contracts: A Model and a Simulated Annealing Heuristic

Authors: Muhammad Al-Salamah
Journal: Mathematical Problems in Engineering
 (2011)

---

## Abstract

The aim of this paper is to introduce a model for temporary staffing when temporary employment is managed by firm contracts and to propose a simulated annealing-based method to solve the model. Temporary employment is a policy frequently used to adjust the working hour capacity to fluctuating demand. Temporary workforce planning models have been unnecessarily simplified to account for only periodic hiring and laying off; a company can review its workforce requirement every period and make hire-fire decisions accordingly, usually with a layoff cost. We present a more realistic temporary workforce planning model that assumes a firm contract between the worker and the company, which can extend to several periods. The model assumes the traditional constraints, such as inventory balance constraints, worker availability, and labor hour mix. The costs are the inventory holding cost, training cost of the temporary workers, and the backorder cost. The mixed integer model developed for this case has been found to be difficult to solve even for small problem sizes; therefore, a simulated annealing algorithm is proposed to solve the mixed integer model. The performance of the SA algorithm is compared with the CPLEX solution.


---

## Body

## 1. Introduction

Temporary employment has been advocated as a means of flexible employment by which companies can effectively adjust the workforce level when faced by fluctuating demand [1, 2]. Most manufacturing companies, such as, and especially, in hi-tech industry, face the frequently occurring problem of manpower planning. Production planners need to plan the production by determining the delivery dates and invested capital, and one of the most important and most serious planning activities is the planning of the workforce size needed to meet the production demands. Manpower planning is not an easy task given the high costs involved. Most of these companies revert to temporary employment to absorb and accommodate short-term requirements for manpower. Essentially, manpower planning, among many things, tries to obtain the right mix of company-owned workers who have low setup costs and high variable costs and contracted workers who have high setup costs and low variable costs. The significance of the problem comes from the fact that this problem confronts the hardware-assembly industry, such as the PC assembly companies in Saudi Arabia.These manufacturing companies have fixed capital investments in production equipment; hence their fixed costs are primarily a function of the workforce size. Short-term employment entails two expenses a company should be willing to pay: the training cost and nonproductive pay. At the beginning of the contract, contracted workers will go through a training period during which they are not carrying out any productive work. The worker contracts are considered to be firm and the worker has to serve and will be paid for the duration of the contract. The contract covers the training period, which typically lasts for a small fraction of the duration of the contract.These PC assembly companies hire workers with technical college degrees, who are skilled in the technical matters of assembly of electronic components and wiring. When those workers are hired on temporary contracts, they receive training on the assembly procedures in the plant, and, because of their technical background, the workers pick up the work very quickly and become as skillful as the regular workers. Other tasks, such as packaging and delivery, do not require a technical background, and the workers hired for these tasks are trained on the production procedures of the company, and they can master these tasks in a very short period of time.A typical PC assembly plant has the design shown in Figure1. The PC assembly process consists of three main stages. The first stage is the assembly stage, where the components of the PC are assembled and added to the PC case. The finished cases are delivered to the next stage, which is the software installation stage. In this stage, the hardware is tested before the software can be installed. Then, the cases are taken to the final stage, which is packaging. From packaging, the PC units are delivered to storage. The two stages that require technical education are the assembly and software installation stages, which can only be fulfilled by workers with a technical college education.Figure 1
PC assembly process.The forms and types of temporary employment vary across countries and industries according to employment laws and manpower needs and strategies [3]. In the major European countries, the duration of the contract can range from twelve months to an unlimited period, with provisions for repeated contracts [4].Thelabor laws in the Kingdom have a provision for temporary employment. The laws permit firms and companies to employ workers on a nonpermanent basis for a specific period or for the duration of a particular job. The Labor Law (LABOR LAW, Royal Decree no. M/51, 27 September 2005,https://mol.gov.sa/en/Pages/LaborLaw.aspx, accessed on November 5, 2010) created by the Royal Decree no. M/51 defines temporary work as follows:Work considered by its nature to be part of the employer’s activities, the completion of which requires a specific period or relates to a specific job and ends with its completion. (Labor Law, 2005, page 7)The law hence permits companies to engage in temporary work that would require temporary employment. Under this law companies are not limited to a specific number of temporary workers, and the law does not limit the applicability of temporary employment contracts to specific types of jobs. As stated in the Labor Law, the provisions and laws apply to any contract whereby a person commits himself to work for an employer and under his management or supervision for a wage. However, the law under Article 26 of Chapter 1, Part II, puts restrictions on the manner in which workers are recruited, and, in fact, firms are required to have plans for the nationalization of jobs. The article states that firms, regardless of their number of workers, should exert every effort to attract and employ nationals, provide conditions to keep them in the job, and avail them of an adequate opportunity to prove their suitability for the job by guiding, training, and qualifying them for their assigned jobs. The article also requires firms to let the share of nationals in the total employed be no less than seventy-five per cent.Article 6 of Chapter 2 of Part I of the Labor Law identifies the provisions that are related to temporary workers. The article states that temporary workers are subject to the provisions on duties and disciplinary rules, the maximum working hours, daily and weekly rest intervals, overtime work, official holidays, safety rules, occupational health, work injuries, and compensation as well as other provisions that are decided by the Ministry of Labor. Under this article, temporary workers have the same privileges and responsibilities as regular workers. In terms of workload, a worker may not work for more than eight hours a day on a daily basis or more than forty-eight hours a week on a weekly basis. During the month of Ramadan, the actual working hours for Muslims is reduced to a maximum of six hours a day or thirty-six hours a week (Article 98, Chapter 2, Part VI). In special cases, the number of working hours can be raised to nine hours a day or reduced to seven hours (Article 99, Chapter 2, Part VI).The law specifies the rest times for workers as a matter of duration and timing. By law, workers should have a break at every five hours at a minimum, and the break should not last for less than thirty minutes. In terms of work duration, the daily workload should not exceed eleven hours. Workers should be compensated for overtime working hours by an additional amount equal to the hourly wage plus fifty per cent of the basic wage (Articles 101 and 107, Chapter 3, Part VI). The law specifies the duration of the temporary employment. Article 2 of Chapter 1, Part 1, declares that temporary employment contracts should not exceed ninety days. Implicit in this law is the possibility of contract renewal.Traditional periodic workforce review models permit planners to adjust the workforce level every period, with the flexibility to hire temporary workers without long-term commitment; in most cases, a layoff cost is incurred. This flexibility may not always be available to a company; laws, as explained above, or the company’s own policies may impose fixed-term contracts. We offer an alternative formulation of the traditional temporary manpower planning model with fixed contract duration that can extend to several time periods.


## 2. Literature on Periodic Workforce Review Models

The literature on temporary employment management can be classified as in the following: work commitment (i.e., [4–7]), worker attitude (i.e., [8, 9]), economics of temporary employment (i.e., [10–13]), and worker accident (i.e., [14, 15]). Traditionally, human management decisions have been solved using optimization mathematical models. Recently, many mathematical models have been proposed that would evaluate in economic terms the benefits of temporary employment and find the optimal mix of the regular and temporary workforce. Some notable periodic review models on temporary employment include Berman and Larson [16], Herer and Harel [17], Pinker and Larson [18], and Techawiboonwong et al. [19]. An extensive review of research related to temporary workers is reported by Connelly and Gallagher [7]. Generally, mathematical models are constructed to optimize a measure of benefit or load, subject to workload demand and manpower balance constraints.Lee and Vairaktarakis [20] have studied a class of serial assembly system lines which are formed by arranging several production cells or stations in series where all stations have the same production cycle. The developed model will find a sequence of n job, which minimizes the maximum workforce requirements over all production cycles.Foote and Folta [10] studied the use of temporary workers as an option for a workforce expansion decision. They concluded that there must be a particular reason for a tradeoff between these two types of workers. Kandel and Pearson [6] studied the optimal balance between permanent employment and temporary contracts between a firm and its workers: the tradeoff between higher productivity on the one hand and flexibility on the other. Through an examination of the optimal policy using an irreversible investment model, they found that higher expected growth in demand implies increases in the proportion of permanent workers, while an increase in the variability of demand lowers their proportion. An increase in the absolute cost advantage of the permanent workers naturally increases their optimal proportion in the labor force.Wirojanagud et al. [21] developed a mixed integer programming model to determine the amount of hiring, firing, and cross-training in a staffing decision problem, in which workers are inherently different, to minimize the total costs, which include training, salary, firing, and missed production costs over multiple time periods.Song and Huang [22] considered the planning problem of transferring, hiring, or firing employees among different departments or branches of an organization under an environment of uncertain workforce demands and turnover, with the objective of minimizing the expected cost over a finite planning horizon. The organization could transfer the employees from one department to another, hire, or fire employees to meet the workforce demands, under the conditions that there may be constraints on the number of employees that could be transferred, hired, or fired in each period.Techawiboonwong et al. [19] studied temporary employment in a labor-intensive industry. To aid the decision makers, an MIP model was proposed to determine the type (skilled or unskilled) and the number of temporary workers to hire or lay off in each period. The skill levels are mandated by the nature of the manufacturing process. In this treatment of the problem, temporary workers can be laid off in any period but there is a cost associated with the layoff. It is assumed that the pool of regular workers is cross-trained, and therefore they are not restricted to being assigned only to specific workstations.


## 3. A Temporary Employment Model with Extended Contract Durations

We model the temporary employment planning problem with fixed-term temporary employment contracts that can extend to several periods as an MIP model. We argue that firms can lower their workforce-related costs if they adopt a fixed-term contract policy. The assumptions of the model are illustrated next. Training is required for temporary workers; but we assume, from an observed case, that temporary workers, after training, become as skillful as regular workers and that their performance is comparable to those of the regular workers when considering important manufacturing variables such as quality, scrap rate, and setups. This assumption holds true especially in the case presented earlier of the PC assembly process, in which temporary workers have a technical degree education and, when they are hired, receive training on the internal procedures of the company and the assembly process, which can be mastered very quickly. Therefore, we assume that the training period is negligibly short. For the sake of a wider coverage of the problem described here and all similar problems, we consider a multiproduct, multistage manufacturing/assembly process.The manufacturing/assembly process under consideration is illustrated in Figure2. This general process consists of a number of production lines: each line is for a specific product. Each line has a number of manufacturing/assembly stages. Every product line is equipped with an individual inventory. Regular workers are cross-trained and they can be freely assigned to stages and product lines. Each stage of any line can be operated by a pool of regular and temporary workers. While regular workers are cross-trained, temporary workers are hired for specific tasks and stages. This assumption is close to the case of the PC assembly process, in which temporary workers are hired to perform specific jobs. Following the assumption of Techawiboonwong et al. [19], work in process is not considered.Figure 2
Multistage, multiproduct process with individual inventory.Unlike the model by Techawiboonwong et al. [19], our MIP model does not have the flexibility of overtime allowance. In our manufacturing/assembly process, there are P product lines; for each line, there are J stages or workstations. Let p and j be the indices for product and stage, respectively. The length of the planning horizon is T, and t is the time index. Define the following parameters:μpj: unit processing time for product p in stage j,κt: production time in period t,αj,βj: labor productivity rating of temporary and regular workers, respectively,Y̅: total regular workers,λpj: wage of temporary worker assigned to stage j of product p,δpj: training cost of temporary worker assigned to stage j of product p,ξp: inventory holding cost of product p per period,ρp: backorder cost of product p per unit,I̅p: inventory level limit for product p,σ: duration of the contract,Dtp: demand forecast for product p in time t.The decision variables are as follows:Xtpj: number of temporary workers available for stage j of product p in time t,Ytpj: number of regular workers assigned to stage j of product p in time t,Ztp: quantity of production from product p in time t,Wtpj: number of temporary workers hired in time tfor stage j of product p,Itp: inventory level of product p in time t,Btp: backorder quantity of product p in time t,Htpj: assigned hours of regular workers to product p in stage j,Gtpj: assigned hours of temporary workers to product p in stage j.The MIP model for temporary workforce planning with fixed-term contracts, referred to henceforth as TWPS-FTC, is as follows.TWPS-FTC:(3.1)min∑t=1T{∑p=1P{∑j=1J{λpjXtpj+δpjWtpj}+ξpItp+ρpBtp}}subjectto(3.2)Xtpj=∑τ=t-σ+1tWτpj∀t,p,j,(3.3)Itp-Btp=It-1p-Bt-1p+Ztp-Dtp∀t,p,(3.4)Itp≤I̅p∀t,p,(3.5)Ztpμpj≤Htpj+Gtpj∀t,p,j,(3.6)Xtpj≥αjGtpjκt∀t,p,j,(3.7)Ytpj≥βjHtpjκt∀t,p,j,(3.8)∑j=1J∑p=1PYtpj≤Y̅∀t,(3.9)Xtpj,Ytpj,Ztp,Wtpj,Itp,Btp∈{0,1,2,…}∀t,p,j,Htpj,Gtpj≥0∀t,p,j.
The objective function consists of the temporary employment wages, training costs of temporary workers, inventory holding costs, and backorder costs. Constraint set (3.2) ensures that the number of available temporary workers in time t is equal to the number of temporary workers hired in the current period and those whose contracts end in the current period, and all the temporary workers in between. As initial values, W-1pj=W-2pj=0 for all p and j. Since hiring a temporary worker whose contract duration is going to extend beyond the end of the planning horizon is not permissible, we require Wtpj=0 for t=T-σ+2,…,T for all p and j. Constraint set (3.3) is the set of inventory balance constraints. We impose the restriction that there should not be a backorder in the last period; hence, BTp=0 for all p. The inventory capacity constraint is managed by constraint set (3.4). Constraint set (3.5) restricts the production hours to the available temporary and regular worker hours. Constraint sets (3.6) and (3.7) ensure the availabilities of temporary and regular workers to meet the planned production hours, respectively. The level of the regular workforce is imposed by constraint (3.8).


## 4. Simulated Annealing Solution Approach

The model TWPS-FTC has3(|J|+1)|T||P| integer variables, where |·| is the cardinality of the set. Even for relatively small problems, MIP models are hard to solve to optimality. The simulated annealing heuristic has been successfully applied to manpower planning, such as that mentioned by Brusco and Jacobs [23, 24], Thompson [25], Ahire et al. [26], Lim et al. [27], Li et al. [28], Seçkiner and Kurt [29], and others. The simulated annealing heuristic that is proposed here to solve TWPS-FTC generates an all feasible solution in every run of the heuristic. The SA heuristic has only two free variables to change: assignment set of regular workers (Ytpj variables) and the production set (Ztp variables). Therefore, the dependent variables Xtpj, Wtpj, Itp, Btp, Htpj, and Gtpj are calculated from the determined sets.The simulated annealing algorithm proposed to solve TWPS-FTC requires four rules. The first rule specifies the generation of the initial assignment set of regular workers and the production set. This rule is required to start the simulated annealing algorithm. The second rule specifies the way the neighborhood solution is generated from the current solution. The third rule specifies the generation of a feasible solution. The fourth rule determines the acceptance criterion of a solution and the termination criterion of the algorithm.In the following subsections, we will explain how the initial sets are generated randomly and we show how the values ofXtpj, Wtpj, Itp, Btp, Htp, and Gtpj are generated so that the generated solution becomes feasible. The main steps of the SA algorithm can be outlined as follows.(1)
Generate a random initial set.(2)
Generate a feasible solution.(3)
Loop until the stopping criterion is satisfied:
(a)
generate a neighborhood solution,(b)
generate a feasible solution,(c)
evaluate the fitness function,(d)
compare and accept or reject the new solution.The fact that the production assignment determines inventory and backorder values [30] will make it possible to generate a feasible solution, as will be explained in the following sections.


### 4.1. Generation of the Initial Assignment Set of Regular Workers

In each period of the planning horizon, the company hasY̅ regular workers to assign to the different product lines and stages. The initial assignment set of the regular workers can best be generated randomly. The following steps illustrate the mechanism for the random generation of the assignment set.(1)
Start with the first period in the planning horizon.(2)
Repeat until all regular workers are assigned:
(a)
randomly choose a product line and a stage,(b)
assign to the chosen product line and stage one regular worker. If regular workers have been assigned to this particular line stage before, add this worker to the existing workers.(3)
Advance to the next period, and repeat step (2) until the last period of the planning horizon is covered.Letp* and j* be the randomly determined values of the product line and stage, respectively. Then, p*=⌊U(1,|P|)+0.5⌋ and j*=⌊U(1,|J|)+0.5⌋, where ⌊·⌋ is the floor function and U(a,b) is a uniform number generator between a and b.


### 4.2. Generation of a Neighborhood Solution from the Assignment Set of Regular Workers

The neighborhood search structure (NSS) generates a new solution from the current candidate solution by slightly modifying its formation. The structure we adopt in this algorithm is of reassignment, or a move operation as in Jin et al. [31]. A neighborhood solution from the assignment set of regular workers is generated from a current set by randomly reassigning a regular worker to a different stage in the same product line or to a different line and stage. The steps involved in generating a neighborhood solution are as follows.(1)
Repeat the following steps until a stage is found with regular workers assigned:
(a)
randomly choose a period in the planning horizon,(b)
randomly choose a product line,(c)
randomly choose a stage.(2)
Reduce the regular workers assigned by one.(3)
Randomly choose a product line and stage in the same period.(4)
Increase the assigned number of regular workers by one.These steps are illustrated in Figure3. The assignment of regular workers can be organized in a matrix; the rows are for the product lines and the columns are for the stages. In this representation, there are matrices equal to the number of periods in the planning horizon. The choice of the period is made randomly by computing t*=⌊U(1,|T|)+0.5⌋. Within this period, random product line and stage are selected by computing p*=⌊U(1,|P|)+0.5⌋ and j*=⌊U(1,|J|)+0.5⌋, respectively. If no regular workers are assigned to this stage, a different period is again selected randomly and the process is repeated until a stage with regular workers is found. Then, one regular worker is reassigned to a different product line and stage in the same period.Figure 3
Generation of a neighborhood solution.


### 4.3. Generation of the Initial Set of the Production

The only requirement for a production plan to be feasible is that the sum of the productions in all periods is equal to the sum of demands in all periods for a specific product; mathematically, we have to have∑t=1TZtp=∑t=1TDtp for product p. As an initial feasible solution, the sum of the demands can be distributed evenly throughout the periods.


### 4.4. Generation of a Neighborhood Solution from the Production Set

In generating a neighborhood solution from the production set, we apply a load transfer operation. For a random period and random product, a random production quantity is transferred and loaded into another period’s production. Assume thatt* and p* are generated randomly; generate RandomQuantity=⌊U(1,Zt*p*)+0.5⌋. Make Zt*p*=Zt*p*-RandomQuantity, generate another t**; and make Zt**p*=Zt**p*+RandomQuantity.


### 4.5. Generation of Inventory and Backorder Sets

The production set determines the inventoryItp and backorder Btp sets. We apply a look-ahead mechanism for computing the inventory and backorder. Any backorder quantity represents an additional demand that is put into a future period, and inventory serves as extended production capacity that will be available in a future period.We apply the following steps to compute the inventory and backorder for a given production set.(1)
Initialization: setp=1, and set inventory and backorder to zero for all products and periods.(2)
Whilep≤P, do
(i)
Initialization:t=T(ii)
Whilet>1, do
(1)
ComputeΔtp=Ztp-Dtp(2)
Check
(a)
IfΔtp<0, set It-1p=|Δtp|(b)
Else ifΔtp>0, set Bt-1p=Δtp(c)
Else, do not changeItp and Btp(3)
Decrementt by 1(iii)
End while
(b) Incrementp by 1.(3)
End while.


### 4.6. Generation of Regular Labor Hours and Temporary Labor Hours

The regular labor hours are determined from the regular labor assignment set, which is determined by the generation steps in regular worker assignment set. The regular labor hours are computed by reversing constraint (3.7), so that we can write that the regular labor hours in time t, product line p, and stage j are Htpj=(κt/βj)Ytpj. Constraint (3.5) defines the relationship between the demand hours, regular worker hours, and temporary labor hours, so we can write Gtpj=max(0,Ztpμpj-Htpj), for all t, p, and j.


### 4.7. Generation of Temporary Worker Utilization Plan Set and Temporary Worker Hiring Set

From the temporary worker hours, we can calculate the number of temporary workers required to meet the production demands. The number of temporary workers needed in periodt, product line p, and stage j is Xtpj=ceiling[αj(Gtpj/κt)].When the temporary worker utilization plan set is determined, the temporary worker hiring set can be determined. In the long-term contract agreement, additional temporary workers are hired only when previously hired temporary workers who are still within the contract validity are not adequate to meet the production demands. Hence, the number of temporary workers that have to be hired in the current periodt is merely the difference between the required temporary workers in period t and the total hired workers in the interval [t-σ+1,t-1]. We can write that Wtpj=max(0,Xtpj-∑τ=t-σ+1t-1Wτpj) for all t, p, and j. It is assumed for convenience that W-1pj=W-2pj=⋯=0.


### 4.8. The Fitness Function

In simulated annealing algorithms, the fitness function is usually defined by the objective function of the underlying model, as in the studies by Chen and Shahandashti [32], He et al. [33], and Sayarshad and Ghoseiri [34]. In our proposed simulated annealing algorithm, the fitness function is defined by the objective function in model TWPS-FTC.


### 4.9. Acceptance of a Solution and Termination of the Algorithm

In simulated annealing, a neighborhood solution is accepted in two conditions: the neighborhood solution is better than the best solution in the current iteration or else it is accepted with some probability. If the neighborhood solution is not accepted, it is discarded and a new neighborhood solution is generated. In our simulated annealing algorithm, there are two independent decision variables: the regular worker assignmentYtpj and production Ztp. This situation causes a difficulty because generating a neighborhood solution that is a combination of two generated neighborhood solutions is intractable; the improvement in the fitness function cannot be attributed to a single neighborhood solution; and the improving neighborhood solution cannot be known. Therefore, we propose a two-stage procedure that will systematically generate a tractable neighborhood solution.The two-stage procedure calls for the arbitrary selection of either regular worker assignment or production to be in the first stage in the procedure. The first stage will generate a neighborhood solution for the first variable and pass it to the second stage where several neighborhood solutions are generated for the second variable before the execution returns to the first stage where a new neighborhood solution for the first variable is generated. How many neighborhood solutions have to be generated in the second stage is a decision variable and only through experimentation can the best value be determined.Simulated annealing was formally introduced in 1983 by Kirkpatrick et al. [35] to solve combinatorial optimization problems. It is motivated by an analogy between combinatorial optimization and physical annealing. Metals are first heated to a temperature that permits many molecules to move freely with respect to each other, then they are cooled slowly until the material freezes into a completely ordered form. In combinatorial optimization, simulated annealing techniques use an analogous cooling operation for transforming a poor, unordered solution into an ordered, desirable solution, so as to optimize the objective function.The outer loop of the simulated annealing algorithm is terminated when a specific number of iterations are consumed. In each iteration of the algorithm, a random neighborhood solution is generated; if its fitness is better than the fitness of the current solution, it is accepted; otherwise it is accepted with a probability that is a function of the annealing temperature.The literature lists many temperature cooling schemes [36]. In our simulated annealing algorithm, we apply the cooling scheme TEMPi+1=TEMPi/(1+γTEMPi), where β is called the cooling rate, which controls the speed at which the temperature falls [31]. The value given to β should be chosen carefully so that the temperature does not drop to zero prematurely; values that are close to zero will make the drop very slow. Again, the choice of β can be determined by experimentation.


### 4.10. The Simulated Annealing Algorithm

Our simulated annealing algorithm starts by randomly generating initial sets of regular workers and production. At the beginning, both the local and the global best solutions are set to the initial solution. A neighborhood solution, based on the outlined procedures in Sections4.2, 4.4, and 4.9, is generated; this solution is temporarily accepted when it is better then the best local solution, or else it is accepted with some probability, which is influenced by the cooling temperature. The mainstream in simulated annealing research talks about updating the temperature in every run of the algorithm whether there has been a successful move. However, we propose that the temperature is updated only when the local solution has been changed; this mechanism will prevent the temperature from being unnecessarily reduced and prematurely too small. The algorithm is terminated when the loop counter exceeds a prespecified limit.DefineYi={Ytpj} to be the assignment set of regular workers in iteration i, Zik={Ztp} to be the production set in step k of the two-step procedure as explained in Section 4.9 in iteration i, OBJik to be the fitness in iteration i, OBJilocal to be the fitness of the local solution in iteration i, OBJglobal to be the fitness of the global solution, Yilocal to be the local assignment set in iteration i, Yglobal to be the global assignment set, Zilocal to be the local production set in iteration i, and Zglobal to be the global production set. The counter limit is set to imax. The steps of the algorithm are explained in the following procedure.Simulated Annealing Algorithm
Step 1.
Initialization step: set the outer loop counteri=1 and cooling temperature T1=T0.Step 2.
Generate initial setsY0 and Z10 as outlined in Sections 4.1 and 4.3. Generate the inventory and backorder sets as in Section 4.5, the regular labor hours and temporary labor hours as in Section 4.6, and the temporary worker utilization plan set and temporary worker hiring set as in Section 4.7. Evaluate the fitness of the initial solution OBJ10; let OBJlocal=OBJglobal=OBJ10; set Yglobal=Ylocal=Y0; set Zglobal=Zlocal=Z10.Step 3.
Do the outer loop.(a)
Set the inner loop counterk=0.(b)
Generate a neighborhood assignment setYi from Ylocal as in Section 4.2.(c)
Whilek<kmax, do the inner loop.
(i)
Setk=k+1.(ii)
Generate a neighborhood production setZik from Zlocal as in Section 4.4.(iii)
Generate the inventory and backorder sets, the regular labor hours and temporary labor hours, and the temporary worker utilization plan set and temporary worker hiring set. Evaluate the fitness of the solutionOBJik. Set δ=OBJlocal-OBJik.(iv)
Check  IfU(0,1)≤e-δ/TEMPi, then accept the solution and set OBJlocal=OBJik, Ylocal=Yi, and Zlocal=Zik. If OBJglobal>OBJlocal, then set OBJglobal=OBJlocal, Yglobal=Ylocal, and Zglobal=Zlocal, reduce the cooling temperature TEMPi+1=TEMPi/(1+γTEMPi).(d)
End while.Step 4.
Seti=i+1.Step 5.
Check(a)
Ifi≤imax, then set Zi0=Zi-1k and go back to Step 3.(b)
Else terminate the algorithm.In Section4.9, we outlined a two-level procedure to overcome the difficulty of the existence of two independent decision variables in the simulated annealing formulation. In the algorithm, we choose the assignment of regular workers in the first level of the procedure and the production in the second level.


## 4.1. Generation of the Initial Assignment Set of Regular Workers

In each period of the planning horizon, the company hasY̅ regular workers to assign to the different product lines and stages. The initial assignment set of the regular workers can best be generated randomly. The following steps illustrate the mechanism for the random generation of the assignment set.(1)
Start with the first period in the planning horizon.(2)
Repeat until all regular workers are assigned:
(a)
randomly choose a product line and a stage,(b)
assign to the chosen product line and stage one regular worker. If regular workers have been assigned to this particular line stage before, add this worker to the existing workers.(3)
Advance to the next period, and repeat step (2) until the last period of the planning horizon is covered.Letp* and j* be the randomly determined values of the product line and stage, respectively. Then, p*=⌊U(1,|P|)+0.5⌋ and j*=⌊U(1,|J|)+0.5⌋, where ⌊·⌋ is the floor function and U(a,b) is a uniform number generator between a and b.


## 4.2. Generation of a Neighborhood Solution from the Assignment Set of Regular Workers

The neighborhood search structure (NSS) generates a new solution from the current candidate solution by slightly modifying its formation. The structure we adopt in this algorithm is of reassignment, or a move operation as in Jin et al. [31]. A neighborhood solution from the assignment set of regular workers is generated from a current set by randomly reassigning a regular worker to a different stage in the same product line or to a different line and stage. The steps involved in generating a neighborhood solution are as follows.(1)
Repeat the following steps until a stage is found with regular workers assigned:
(a)
randomly choose a period in the planning horizon,(b)
randomly choose a product line,(c)
randomly choose a stage.(2)
Reduce the regular workers assigned by one.(3)
Randomly choose a product line and stage in the same period.(4)
Increase the assigned number of regular workers by one.These steps are illustrated in Figure3. The assignment of regular workers can be organized in a matrix; the rows are for the product lines and the columns are for the stages. In this representation, there are matrices equal to the number of periods in the planning horizon. The choice of the period is made randomly by computing t*=⌊U(1,|T|)+0.5⌋. Within this period, random product line and stage are selected by computing p*=⌊U(1,|P|)+0.5⌋ and j*=⌊U(1,|J|)+0.5⌋, respectively. If no regular workers are assigned to this stage, a different period is again selected randomly and the process is repeated until a stage with regular workers is found. Then, one regular worker is reassigned to a different product line and stage in the same period.Figure 3
Generation of a neighborhood solution.


## 4.3. Generation of the Initial Set of the Production

The only requirement for a production plan to be feasible is that the sum of the productions in all periods is equal to the sum of demands in all periods for a specific product; mathematically, we have to have∑t=1TZtp=∑t=1TDtp for product p. As an initial feasible solution, the sum of the demands can be distributed evenly throughout the periods.


## 4.4. Generation of a Neighborhood Solution from the Production Set

In generating a neighborhood solution from the production set, we apply a load transfer operation. For a random period and random product, a random production quantity is transferred and loaded into another period’s production. Assume thatt* and p* are generated randomly; generate RandomQuantity=⌊U(1,Zt*p*)+0.5⌋. Make Zt*p*=Zt*p*-RandomQuantity, generate another t**; and make Zt**p*=Zt**p*+RandomQuantity.


## 4.5. Generation of Inventory and Backorder Sets

The production set determines the inventoryItp and backorder Btp sets. We apply a look-ahead mechanism for computing the inventory and backorder. Any backorder quantity represents an additional demand that is put into a future period, and inventory serves as extended production capacity that will be available in a future period.We apply the following steps to compute the inventory and backorder for a given production set.(1)
Initialization: setp=1, and set inventory and backorder to zero for all products and periods.(2)
Whilep≤P, do
(i)
Initialization:t=T(ii)
Whilet>1, do
(1)
ComputeΔtp=Ztp-Dtp(2)
Check
(a)
IfΔtp<0, set It-1p=|Δtp|(b)
Else ifΔtp>0, set Bt-1p=Δtp(c)
Else, do not changeItp and Btp(3)
Decrementt by 1(iii)
End while
(b) Incrementp by 1.(3)
End while.


## 4.6. Generation of Regular Labor Hours and Temporary Labor Hours

The regular labor hours are determined from the regular labor assignment set, which is determined by the generation steps in regular worker assignment set. The regular labor hours are computed by reversing constraint (3.7), so that we can write that the regular labor hours in time t, product line p, and stage j are Htpj=(κt/βj)Ytpj. Constraint (3.5) defines the relationship between the demand hours, regular worker hours, and temporary labor hours, so we can write Gtpj=max(0,Ztpμpj-Htpj), for all t, p, and j.


## 4.7. Generation of Temporary Worker Utilization Plan Set and Temporary Worker Hiring Set

From the temporary worker hours, we can calculate the number of temporary workers required to meet the production demands. The number of temporary workers needed in periodt, product line p, and stage j is Xtpj=ceiling[αj(Gtpj/κt)].When the temporary worker utilization plan set is determined, the temporary worker hiring set can be determined. In the long-term contract agreement, additional temporary workers are hired only when previously hired temporary workers who are still within the contract validity are not adequate to meet the production demands. Hence, the number of temporary workers that have to be hired in the current periodt is merely the difference between the required temporary workers in period t and the total hired workers in the interval [t-σ+1,t-1]. We can write that Wtpj=max(0,Xtpj-∑τ=t-σ+1t-1Wτpj) for all t, p, and j. It is assumed for convenience that W-1pj=W-2pj=⋯=0.


## 4.8. The Fitness Function

In simulated annealing algorithms, the fitness function is usually defined by the objective function of the underlying model, as in the studies by Chen and Shahandashti [32], He et al. [33], and Sayarshad and Ghoseiri [34]. In our proposed simulated annealing algorithm, the fitness function is defined by the objective function in model TWPS-FTC.


## 4.9. Acceptance of a Solution and Termination of the Algorithm

In simulated annealing, a neighborhood solution is accepted in two conditions: the neighborhood solution is better than the best solution in the current iteration or else it is accepted with some probability. If the neighborhood solution is not accepted, it is discarded and a new neighborhood solution is generated. In our simulated annealing algorithm, there are two independent decision variables: the regular worker assignmentYtpj and production Ztp. This situation causes a difficulty because generating a neighborhood solution that is a combination of two generated neighborhood solutions is intractable; the improvement in the fitness function cannot be attributed to a single neighborhood solution; and the improving neighborhood solution cannot be known. Therefore, we propose a two-stage procedure that will systematically generate a tractable neighborhood solution.The two-stage procedure calls for the arbitrary selection of either regular worker assignment or production to be in the first stage in the procedure. The first stage will generate a neighborhood solution for the first variable and pass it to the second stage where several neighborhood solutions are generated for the second variable before the execution returns to the first stage where a new neighborhood solution for the first variable is generated. How many neighborhood solutions have to be generated in the second stage is a decision variable and only through experimentation can the best value be determined.Simulated annealing was formally introduced in 1983 by Kirkpatrick et al. [35] to solve combinatorial optimization problems. It is motivated by an analogy between combinatorial optimization and physical annealing. Metals are first heated to a temperature that permits many molecules to move freely with respect to each other, then they are cooled slowly until the material freezes into a completely ordered form. In combinatorial optimization, simulated annealing techniques use an analogous cooling operation for transforming a poor, unordered solution into an ordered, desirable solution, so as to optimize the objective function.The outer loop of the simulated annealing algorithm is terminated when a specific number of iterations are consumed. In each iteration of the algorithm, a random neighborhood solution is generated; if its fitness is better than the fitness of the current solution, it is accepted; otherwise it is accepted with a probability that is a function of the annealing temperature.The literature lists many temperature cooling schemes [36]. In our simulated annealing algorithm, we apply the cooling scheme TEMPi+1=TEMPi/(1+γTEMPi), where β is called the cooling rate, which controls the speed at which the temperature falls [31]. The value given to β should be chosen carefully so that the temperature does not drop to zero prematurely; values that are close to zero will make the drop very slow. Again, the choice of β can be determined by experimentation.


## 4.10. The Simulated Annealing Algorithm

Our simulated annealing algorithm starts by randomly generating initial sets of regular workers and production. At the beginning, both the local and the global best solutions are set to the initial solution. A neighborhood solution, based on the outlined procedures in Sections4.2, 4.4, and 4.9, is generated; this solution is temporarily accepted when it is better then the best local solution, or else it is accepted with some probability, which is influenced by the cooling temperature. The mainstream in simulated annealing research talks about updating the temperature in every run of the algorithm whether there has been a successful move. However, we propose that the temperature is updated only when the local solution has been changed; this mechanism will prevent the temperature from being unnecessarily reduced and prematurely too small. The algorithm is terminated when the loop counter exceeds a prespecified limit.DefineYi={Ytpj} to be the assignment set of regular workers in iteration i, Zik={Ztp} to be the production set in step k of the two-step procedure as explained in Section 4.9 in iteration i, OBJik to be the fitness in iteration i, OBJilocal to be the fitness of the local solution in iteration i, OBJglobal to be the fitness of the global solution, Yilocal to be the local assignment set in iteration i, Yglobal to be the global assignment set, Zilocal to be the local production set in iteration i, and Zglobal to be the global production set. The counter limit is set to imax. The steps of the algorithm are explained in the following procedure.Simulated Annealing Algorithm
Step 1.
Initialization step: set the outer loop counteri=1 and cooling temperature T1=T0.Step 2.
Generate initial setsY0 and Z10 as outlined in Sections 4.1 and 4.3. Generate the inventory and backorder sets as in Section 4.5, the regular labor hours and temporary labor hours as in Section 4.6, and the temporary worker utilization plan set and temporary worker hiring set as in Section 4.7. Evaluate the fitness of the initial solution OBJ10; let OBJlocal=OBJglobal=OBJ10; set Yglobal=Ylocal=Y0; set Zglobal=Zlocal=Z10.Step 3.
Do the outer loop.(a)
Set the inner loop counterk=0.(b)
Generate a neighborhood assignment setYi from Ylocal as in Section 4.2.(c)
Whilek<kmax, do the inner loop.
(i)
Setk=k+1.(ii)
Generate a neighborhood production setZik from Zlocal as in Section 4.4.(iii)
Generate the inventory and backorder sets, the regular labor hours and temporary labor hours, and the temporary worker utilization plan set and temporary worker hiring set. Evaluate the fitness of the solutionOBJik. Set δ=OBJlocal-OBJik.(iv)
Check  IfU(0,1)≤e-δ/TEMPi, then accept the solution and set OBJlocal=OBJik, Ylocal=Yi, and Zlocal=Zik. If OBJglobal>OBJlocal, then set OBJglobal=OBJlocal, Yglobal=Ylocal, and Zglobal=Zlocal, reduce the cooling temperature TEMPi+1=TEMPi/(1+γTEMPi).(d)
End while.Step 4.
Seti=i+1.Step 5.
Check(a)
Ifi≤imax, then set Zi0=Zi-1k and go back to Step 3.(b)
Else terminate the algorithm.In Section4.9, we outlined a two-level procedure to overcome the difficulty of the existence of two independent decision variables in the simulated annealing formulation. In the algorithm, we choose the assignment of regular workers in the first level of the procedure and the production in the second level.


## 5. Case Study and Computational Analysis

In this section, a temporary staffing plan for a local PC assembly company will be determined using our modeling approach; while the second purpose of this case study is to illustrate the potential of our simulated annealing heuristic in reducing the solution time with an acceptable solution quality. To protect the company’s confidential information, data have been altered. The PC assembly employs a three-stage process, consisting of hardware assembly, software installation, and testing. It is assumed three models of PC are to be produced, which differ in the hardware and the software specifications as requested by customers. The monthly demands for the three PC models are assumed as shown in Table1.Table 1
Monthly demands.
MonthPC Model123172021064023707905003100054010004230390450576049045068304409807930930900832025036096901000210107504605901136083052012350970580The labor times in minutes for the three stages are shown in Table2.Table 2Hardware assembly11.7 minutesSoftware installation5 minutesPackaging3.5 minutesWorkers operate 7 hours a day for 5 days a week. There are 8,400 total available labor minutes in a month. The worker productivity valuesαj for temporary workers are are shown in Table 3.Table 3StageProductivity11.121.0531.03The regular worker productivityβj is assumed to be 1. Other parameters have the following values are shown in Table 4.Table 4Contract duration3 monthsAvailable regular workers3Inventory limit for every model1000 unitsThe wages of the temporary workers in Saudi riyals (1 euro = 5.2 riyals) are estimated to be as shown in Table5.Table 5StageTemporary labor wageHardware assembly2000Software installation1500Packaging1200The training cost of a temporary worker represents half of the wage of the worker, which accounts for the nonproductive work of the worker during training. The inventory and backorder costs are assumed to be as shown in Table6.Table 6ModelInventory holding costBackorder cost124.5247.2336.3The parameters of the simulated annealing algorithm have been chosen as shown in Table7.Table 7T0100,000imax700,000kmax5γ2×10-7Assessment of the Simulated Annealing Algorithm and Parameter Sensitivity Analysis
The simulated annealing algorithm has been coded in the GAMS environment version 22.6. The model was run under the Windows XP operating system with a 3 GHz processor and 1 GH RAM. For the sole purpose of assessing the quality of the solution that is provided by the simulated annealing algorithm, the model TWPS-FTC with the data given above is solved using the CPLEX solver. The relative and absolute optimality criteria are set to zero and the solution time is set to 5 hours. The node iteration limit is set to 5,000. The solver terminates prematurely with the best cost equal to SR 107,709.70. The lower bound to the solution, which is given by the relaxed problem, is equal to SR 34,033.53. The solution given by the simulated annealing algorithm has a cost value of SR 110,788, which is within 3% of the solution obtained by the prematurely terminated CPLEX. In terms of solution time, the simulated annealing algorithm terminated in exactly 29 minutes. Since the effort in a single iteration of the algorithm is invariable, the simulated annealing algorithm time cannot be influenced by the choice of the seed of the random number generator.One the most influencing parameters of simulated annealing is the choice of the initial temperatureT0. High initial temperatures will allow the algorithm to accept every randomly generated neighborhood solution; hence, the ability of the algorithm to distinguish between a good and a bad solution is dismantled, which will permit the exploration of a large set of solutions. Therefore, we set the T0 to a relatively high value (100,000); other values have been tested as shown in Figure 4.
The effect ofkmax has been tested by varying the values given to it from 1 to 20. When kmax is set to 1, we will allow a simultaneous change in the assignment of regular workers as well as production. The value of kmax=5 gives the best cost value, as shown in Figure 5.Figure 4
The initial temperatureT0 versus optimal cost.Figure 5
Value ofkmax versus optimal cost.


## 6. Conclusion

This paper proposes a more realistic temporary workforce planning model that assumes an extended contract duration. The state of the art in temporary workforce planning proposes a periodic review of the temporary workforce; which is based on the flexibility to hire and lay off temporary workers in any period of the planning horizon when the company faces fluctuations in the demand for the workforce. This research provides a temporary workforce planning tool for the analysis of the workforce requirement when the company can hire workers on contracts that can extend to several months, and when Saudi Arabia’s labor laws prohibit companies from opting out of the signed contracts. The developed tool is an MIP model that has an objective to minimize the training, wage, inventory, and backorder costs. The model has seven sets of constraints. The model has been inspired by a local PC assembly company. It has been observed that the model is not solvable in a reasonable time to arrive at the optimal solution. Hence, a simulated annealing procedure has been developed, which has been found to be relatively as good as the prematurely terminated CPLEX solver.



---

*Source: 209693-2011-03-02.xml*