Mathematical Problems in Engineering

Volume 2014 (2014), Article ID 751563, 8 pages

http://dx.doi.org/10.1155/2014/751563

Research Article

Optimal Work Shift Scheduling with Fatigue Minimization and Day Off Preferences

Ta-Chung Wang and Cheng-Che Liu

Institute of Civil Aviation, National Cheng Kung University, No. 1 University Road, Tainan City 701, Taiwan

Received 26 December 2013; Accepted 10 March 2014; Published 10 April 2014

Academic Editor: Ebrahim Momoniat

Copyright © 2014 Ta-Chung Wang and Cheng-Che Liu. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

Shift work disrupts the sleep-wake cycle, leading to sleepiness, fatigue, and performance impairment, with implications for occupational health and safety. For example, aircraft maintenance crew work a 24-hour shift rotation under the job stress of sustaining the flight punctuality rate. If an error occurs during the aircraft maintenance process, this error may become a potential risk factor for flight safety. This paper focuses on optimal work shift scheduling to reduce the fatigue of shiftworkers. We proposed a conditional exponential mathematical model to represent the fatigue variation of workers. The fatigue model is integrated with the work shift scheduling problem with considerations of workers’ preferences of days off, company or government regulations, and manpower requirements. The combined problem is formulated as a mixed-integer program, in which the shift assignments are described by binary variables. Using the proposed method, we can find a feasible work shift schedule and also have a schedule that minimizes the peak fatigue of shiftworkers while satisfying their days off demands. Several examples are provided to demonstrate the effectiveness of the proposed approach.

1. Introduction

Fatigue-related problems cost America an estimated $18 billion per year in terms of lost productivity, and fatigue-related drowsiness on the highways contributes to more than 1,500 fatalities, 100,000 crashes, and 76,000 injuries annually [1]. As for aviation, 21% of all reported incidents (reported by both pilots and controllers) in the aviation safety reporting system (ASRS) are fatigue related [2]. It is also known that 15% to 20% of all fatal traffic accidents are fatigue related [3]. Fatigued drivers will cause substantial danger to the road safety [4]. Nurses’ work patterns have also attracted much interest for the past 15 years. Most hospital nurses work extended hours, and long work hours are found to be a contributor to poor patient outcomes, such as errors and infections, and poor nurse outcomes, such as musculoskeletal and needle stick injuries [5]. These show the importance of keeping a good working state to reduce accidents. Therefore, it is important to schedule an appropriate shift table that takes the reduction of fatigue into consideration.

The mechanism behind fatigue is complicated. Previous research has shown that fatigue increases along with the length of shift length, with associated increases in the likelihood of accidents occurring. Åkerstedt [6] examined the role of the circadian physiology in sleep and reported that the psychophysiology of shift work is mainly related to circadian rhythmicity and sleep-wake phenomena. This study found that when returning to bed in the morning, night workers fall asleep rapidly but are prematurely awakened by their circadian rhythm and exhibit severe sleepiness and reduced performance capacity. With regard to people working morning shifts, the circadian psychophysiology makes it difficult for them to fall asleep as early as needed. Along with the mismatched sleep/wake and rest/work times, sleepiness and fatigue may increase to dangerous levels, if sufficient recovery during off-duty times does not occur [7]. The two-process model considered the sleep/wake timing as an interaction between two independent processes: sleep (Process S) and circadian (Process C). Process S increases during waking and decreases when sleeping. Various linear and nonlinear interactions between Process S and Process C have been proposed and studied [8]. Dawson and McCulloch [9] stated that fatigue and fatigue-related impairment are influenced by previous sleep quality, time spent at work, and length of time spent awake. Dorrian et al. [10] also investigated fatigue in a large sample of Australian rail industry employees from four companies. The results show that 13% of participants received 5 hours or less sleep in the previous 24 hours prior to work, 16% of participants had been awake for at least 16 hours at the end of shifts, and 7% of participants worked at least 10 hours on shift. The results also indicate that, in addition to sleep length, wakefulness, and work hours, workload significantly influences fatigue. Wang and Chuang [11] found that “adequacy of rest” and “work shift” are two of four important factors affecting maintenance crew’s perception of fatigue. These indicate that work shift and workload are possible causes affecting fatigue.

To automatically arrange a feasible shift table, the scheduling problem is usually formulated as a constraint program. Berrada et al. [12] used both soft and hard constraints to describe the nurse shift-scheduling problem constraints. The hard and soft constraints are defined according to the importance of each constraint. The objective is to find high-quality shift assignments to meet nurses’ preferences. That is, the objective function measures how much the solution deviates from the soft constraints. Two different techniques, the sequential technique and the equivalent weights technique, are proposed to solve the nurse scheduling problem. Using similar formulations, Kundu and Acharyya [13] proposed a satisfiability approach to solve the nurse scheduling problem with comparisons with simulated annealing approach and genetic algorithm approach. Kim and Lee [14] considered the problem of managing work shift for nuclear power plants. The objective function is to minimize the work time differences among all employees, and a heuristic method is proposed to solve the problem. Human factors, such as work and rest time regulations, are considered in the constraints. da Silva et al. [15] used the mixed-integer programming to solve a power system maintenance scheduling problem. The objective was to select the safest plan for a generator’s outage schedule for the purpose of maintenance. The resulting schedule allowed reliable system operation. Silva developed a technique, which considers an optimal linearized set of power flow equations. The results show that representing transmission influence is essential for the establishment of a sound set of scheduled outages for the system’s generators. Leou [16] later added uncertainty considerations into the power system scheduling problem. A fuzzy 0-1 integer programming model is adopted to find the minimum violation solution. Tabari et al. [17] used similar model as Leou’s and solved the problem using enumeration-based 0-1 integer programming. All the above formulations focus on minimizing the violation of constraints or the work time difference of each person or machine. Therefore, the scheduling results may not reflect the fatigue imposed on the workers or machines. We first propose an exponential formulation of the fatigue variation that can be incorporated into an optimization problem [18]. However, the formerly proposed model does not correctly reflect the variation of the fatigue when the workers are working under high fatigued states. Moreover, the previous formulation requires that the workers select their days off, which may render the problem infeasible. In this paper, we propose a revised formulation, which has better accuracy for workers being highly fatigued. Moreover, in the revised formulation, the workers can assign their respective preferences of days off and it allows the solver to select the best possible days off for each worker while satisfying all the government’s and/or companies’ regulations and manpower requirements.

This paper is structured as follows. In Section 2, we present the revised modeling of the fatigue. The days off selection mechanism is also presented. Then, in Section 3, various scheduling results were presented. The paper is then concluded in Section 4.

2. Problem Formulation

2.1. Revised Fatigue Modeling

To support employees being at proper alertness levels when working shifts, we predict the fatigue level of each employee. Fatigue is generally accepted to be under the influence of previous sleep history, time spent at work, and length of time spent awake [9]. The research conducted by [10] also showed that, in addition to sleep length, wakefulness, and work hours, workload significantly influences fatigue. Therefore, in our model, both the effects of workload and work hours are considered. Pruchnicki et al. [19] suggested that mathematical models to predict fatigue can be useful retrospectively in accident analysis, if reliable sleep/wake histories are available for the related personnel. The mathematical model will also be useful prospectively in identifying the fatigue risk associated with different duties and schedules, hence enabling accident prevention through fatigue risk management. Dawson et al. [20] stated that because shift work is a common cause of sleep loss and fatigue, models that enable us to estimate fatigue on the basis of working hours are clearly of value. Biomathematical models of fatigue (BMMF) can be used to predict the effects of different working patterns on subsequent job performance, reflecting scientific data concerning the relations among work hours, sleep, and performance. BMMF could also be integrated into a range of individual monitoring devices, which may enhance the overall ability to detect fatigue. Some of the existing mathematical models are as follows: Fatigue Audit InterDyne (FAID) [21], the US Army’s sleep management system [22], and the three-process model of alertness [23].

To manage fatigue, we need to know how much fatigue people experience. Therefore, a fatigue model to represent and quantify the predicted fatigue levels is required before constructing the optimization problem. Our fatigue model is inspired by the FAID system. The FAID model is constructed by a linear component (length of work period) and a sinusoidal component (circadian timing of work period), which is nonlinear and, hence, is not suitable for constructing constraints in the shift-scheduling problem. The primary concept of FAID is to view a duty schedule as a time-varying function by which an individual is considered in one of the two states: work or nonwork. Each state can be considered as an input, from which a continuously varying fatigue/recovery result is the output. Figure 1 is the simulation for 88 hours of work and rest. In this figure, the worker repeats the schedule of working 12 hours, followed by 12 hours of rest. From the result, we observe that, although the workload of each day is the same, the fatigue level builds up faster when the worker is in a higher fatigue state. It can also be observed that the increment of fatigue at different period during work may be different. This reflects the differences of workload at different period.

Figure 1: The simulation results using FAID [24].

To address the aforementioned findings in the FAID result, in our previous work, we assume that the fatigue state of a worker is formulated as a first-order time-varying system as the following:

where is the coefficient that indicates the fatigue increment or decrement of employee during period , is the fatigue state of the th employee at time , and is the sampling period of the fatigue state. In the following, will be called the workload coefficient of worker at the th period.

Although the fatigue model (1) is capable of exhibiting that fatigue builds up faster when the employee is in a higher fatigued state under the same workload and is able to reflect the workload variation during each shift, this model fails to track the fatigue variation at high fatigued states [18]. To fix this problem, we proposed a revised fatigue dynamics with conditional weighting as the following:

In the revised dynamics, we conditionally modify the increment/decrement rate of fatigue when the fatigue state is higher than some prespecified state . Using this mechanism, the model can more accurately track the fatigue states at very high fatigue states. Figure 2 shows the comparison results with , , and . The workload coefficients are estimated using the least square error method based on the fatigue variation on the first day. The estimated coefficients are as follows:

Figure 2: Comparison of different fatigue models.

Then, the same workload coefficient is used repeatedly in the following days. The data of the original model are generated from (1), and the data of the revised model are based on (2). Clearly, the revised is much better than the original model.

Because the dynamic model shown in (2) is not linear with the workload coefficients, we take logarithms to to obtain

Then, can be expressed as a linear function of the workload coefficients.

2.2. Days Off Preferences

Because of manpower and other requirements, employees usually will not be able to have their desired days off schedule. To make the scheduling problem feasible while trying to satisfy employees’ desired days off schedule, we first find all the possible days off schedule in a week and allow each employee to place the weightings on these days off selections based on their preferences. A lower weighting means that the selection is much preferred by the employee than the selections with higher weightings.

2.3. Optimal Shift-Scheduling Problem

To formulate the optimal shift-scheduling problem, we first estimate the workload coefficients for each employee working for all types off work shifts. This can be done by first using FAID to generate the fatigue variation results and then use the least square error method to estimate these coefficients and construct the work shift coefficient matrix

where is the work shift coefficient matrix for worker . The th row of contains the workload coefficients of worker performing the th shift. We let the last row of be the workload coefficient when the worker has a day off on that day. For the days off schedule selection, let

be the days off combination matrix. The th element of is of value or , which represents whether worker is working or not working on the th day when choosing the th days off schedule.

Consider a weekly scheduling problem with the following notations used in the formulation of the optimal weekly shift-scheduling problem.

The number of employees to be scheduled:The number of days off schedule from which the employee can choose:The total number of shift schedule including days off that can be assigned in one day:The total number of sampling points of fatigue states for each employee:The sampling period of the fatigue state:The least upper bound of the natural log of all employees’ fatigue state:A row vector whose elements all equal :A zero vector:The maximum allowed work hours per week:The hours of work when the employee is assigned the th shift on the th day:The manpower requirement during the work hour of the th shift on the th day:The set of shift assignments that has contribution to the manpower during the work hour of the th shift on the th day: A binary variable indicating whether employee is assigned to the th shift on the th day:A binary variable indicating whether employee is assigned to the th days off schedule:The weighting coefficient ranging from to , indicating how much employee dislikes to be assigned to the th days off schedule:A matrix of binary value. Each column lists one disallowed combination of shifts in a week.

Incorporating the ideas shown in Section 2.1 and Section 2.2 with other work shift-related constraints, we get the following mixed-integer program:

where is a row vector of length , which contains the days off schedule selection result of the th worker, and is the shift-scheduling decision variable matrix. The last shift selection for each employee is picked using , which is generated by through (11). The resultant shift assignment is then constructed by (10). The vector lists the resultant workload coefficient assignment before applying the conditional weighting. Constraints (13) and (14) ensure that only one day off assignment is selected for each employee, and every employee can only be assigned to one shift including the day off schedule. Presuming that adequate manpower is available, the manpower requirement is ensured using (15), and (16) limits the accumulated work hours in a week for each employee. In (17), is a matrix whose column lists the disallowed combination of two different shifts, for example, if the th element in a column indicates a night shift of Monday and the th element in the same column indicates a morning shift in the following day. Because the combination of these shifts is not legit, we set these elements as and set other elements as . An employee cannot be assigned both of these shifts because the summation would be .

The terms , , and in (7), (8), and (9) are used to implement the conditional weighting mechanism. The content of matrix is

The elements of are

where is chosen as some very large number. The constraint (9) is as the following:

Combining with minimizing , we have the following.

(i) If , then , , . (ii) If , then , , . (iii) If , then , . (iv) If , then , .

Therefore, from (22), (23), and (24), we have

3. Simulation Results

In this section, we use two different scenarios to demonstrate the effectiveness of the proposed algorithm. The following examples are run on a personal computer with an Intel Core i5-2400 CPU and 4 GB of RAM. The solver we used is Xpress IVE Version 1.14.36. All the examples can be solved within 5 seconds.

3.1. Air Traffic Controller Shift Scheduling

Air traffic control is the process by which aircraft is directed by air traffic controllers (ATCs) to separate air traffic to prevent collisions. ATCs need to provide information to pilots while aircrafts are taxiing on the ground or flying in the air to keep the air traffic unimpeded and to enhance aviation safety. On the basis of the above requirements, air traffic control must be provided for 24 hours per day in many airports, which leads to controllers working in shifts.

In this simulation, we consider the scenario with the following conditions.

(i)There are eight people to be scheduled.(ii)The simulation period is seven days long.(iii)Every employee has two days off during each week.(iv)The morning shift cannot be scheduled right after a night shift.(v)All employees prefer to have days off during the weekend. If not possible, a consecutive two days off is preferred.(vi)The optimized schedule has the same manpower requirement as the original schedule.(vii)The possible shift times are as follows: (A), (B), (C), (D), (E), (F), (G), (H), and (I), and (J), and day off (O).

It should be noted that, in this scenario, shifts I and J are two allowable shift combinations in which an employee is assigned a morning shift and a night shift in a day. The original shift table is shown in Table 1, and the corresponding fatigue variation is shown in Figure 3. As can be seen in Table 1, because of the manpower limitation, none of the employees can have days off during the weekend. Moreover, only half of the employees can have consecutive days off. Figure 3 also shows that the fatigue states of these employees are not balanced. Some of the employees receive a fatigue state of nearly , whereas some of the employees only have a fatigue state of less than .

Table 1: The original ATC shift table.

ATC
Mon.
Tue.
Wed.
Thu.
Fri.
Sat.
Sun.

1
I
A
O
C
O
C
I

2
C
F
C
I
O
O
I

3
J
O
O
A
F
C
I

4
C
G
F
I
O
O
C

5
O
E
E
O
A
A
J

6
O
J
O
J
H
H
E

7
J
O
A
G
O
J
J

8
I
O
B
H
O
I
I

Figure 3: The fatigue states using the original ATC shift table.

We then apply the proposed algorithm to reschedule the shift table. The optimized shift table is shown in Table 2. The optimized shift also satisfies the same manpower requirement as in Table 1. However, in the optimized shift table, all the workers are assigned consecutive days off. Figure 4 shows the fatigue state of all the employees using the optimized schedule. It can be seen that the fatigue states aremore evenly distributed among all employees.

Table 2: The optimized ATC shift table.

ATC
Mon.
Tue.
Wed.
Thu.
Fri.
Sat.
Sun.

1
J
O
O
I
F
C
I

2
A
I
E
O
O
C
I

3
A
B
A
J
O
O
I

4
J
O
O
G
A
J
I

5
C
G
B
I
O
O
J

6
H
F
F
O
O
I
J

7
C
E
C
C
O
O
C

8
H
O
O
I
H
I
E

Figure 4: The fatigue states using the optimized ATC shift table.

3.2. Work-Study Students Shift Scheduling

In this simulation, we extract a work-study student shift table from the Internet and test the proposed method with the existing shift table. The following contains the settings of the simulation.

(i)There are eight students to be scheduled.(ii)The simulation period is seven days long.(iii)Every student has two days off during each week.(iv)All students desire to have consecutive days off during the week.(v)The optimized schedule has the same manpower requirement as the original schedule.(vi)The possible shift times are as follows: (A), (B), (C), (D), and (E), (F), (G), and day off (O).

Table 3 lists the original schedule of these eight students, and Figure 5 shows the fatigue variation of students using the original shift schedule. As can be seen in Figure 5, these students are not properly scheduled because the fatigue states are not evenly distributed among all students. We then apply the proposed algorithm to this schedule and give each student an assumed preferred two-day consecutive days off. The resultant shift table is shown in Table 4. The most desired days off of each student is marked with parentheses. As can be seen in Table 4, not all students can have their preferred days off because of the manpower requirements. However, seven of eight students do have consecutive two days off during the week. Figure 6 shows the fatigue states of these students. Clearly, using the optimized schedule, the workload is much evenly distributed among students.

Table 3: The original work-study student shift table.

Student
Mon.
Tue.
Wed.
Thu.
Fri.
Sat.
Sun.

1
G
G
E
O
A
O
E

2
F
E
G
G
G
O
O

3
O
G
E
A
G
B
O

4
E
O
E
G
G
O
G

5
A
O
E
G
G
O
G

6
G
G
G
E
F
O
O

7
G
A
E
O
C
G
O

8
G
O
O
E
F
A
A

Table 4: The optimized work-study student shift table.

Student
Mon.
Tue.
Wed.
Thu.
Fri.
Sat.
Sun.

1
G
A
E
E
G
(O)
(O)

2
E
G
C
G
C
(O)
(O)

3
A
G
E
A
(G)
(O)
O

4
G
F
E
E
(G)
(O)
O

5
F
G
E
(G)
(F)
O
O

6
G
E
O
(O)
(A)
A
G

7
G
O
(G)
(O)
G
G
A

8
O
O
(G)
(G)
F
B
B

Figure 5: The fatigue states using the original work-study student shift table.

Figure 6: The fatigue states using the optimized work-study student shift table.

4. Conclusions

In this paper, we proposed a modified fatigue model, which is shown to be much accurate than the model used in the previous work. We also demonstrated how to incorporate the proposed fatigue model with an optimal scheduling problem. The proposed formulation also allows employees to choose the weightings of their preferred days off schedules so that the solver can select the most appropriate days off arrangement to the employees’ likings. Other constraints, such as manpower requirements and government/company regulations, are also considered in our formulation so that the scheduling problem being considered is closer to the applications in the real world.

There are some issues not being considered in the proposed fatigue model. We did not consider the case in which the employee may work in different time zones. The circadian rhythm change effect is also not present in the current formulation. How to combine these effects in the fatigue model while making it possible to be integrated in the optimization problem formulation will be pursued in the future.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgment

This work was supported by the National Science Council of Taiwan under Grant NSC-99-2221-E-006-057.

References

J. A. Caldwell, “The impact of fatigue in air medical and other types of operations: a review of fatigue facts and potential countermeasures,” Air Medical Journal, vol. 20, no. 1, pp. 25–32, 2001.

R. Roske-Hofstrand, “Raising awareness for fatigue among air trac controllers,” in Proceedings of the International Symposium on Aviation Psychology, pp. 985–991, 1995.

Y.-C. Liu and T.-J. Wu, “Fatigued driver's driving behavior and cognitive task performance: effects of road environments and road environment changes,” Safety Science, vol. 47, no. 8, pp. 1083–1089, 2009.

X. Liu, J. Liu, X.-Y. Wang, and J. Zhang, “Effects of prolonged truck driving on drive safety based on real road driving,” in Proceedings of the 18th IEEE International Conference on Industrial Engineering and Engineering Management (IEEM '11), pp. 1241–1244, September 2011.

A. W. Stimpfel and L. H. Aiken, “Hospital sta nurses' shift length associated with safety and quality of care,” Journal of Nursing Care Quality, vol. 28, no. 2, 2013.

T. Åkerstedt, “The three-process model of alertness and its extension to performance, sleep latency and sleep length,” Scandinavian Journal of Work Environment and Health, vol. 16, supplement 1, pp. 67–73, 1990.

D. A. Dean II, A. Fletcher, S. R. Hursh, and E. B. Klerman, “Developing mathematical models of neurobehavioral performance for the ‘real world’,” Journal of Biological Rhythms, vol. 22, no. 3, pp. 246–258, 2007.

P. Achermann, “The two-process model of sleep regulation revisited,” Aviation, Space, and Environmental Medicine, vol. 75, no. 3, pp. A37–A43, 2004.

D. Dawson and K. McCulloch, “Managing fatigue: it's about sleep,” Sleep Medicine Reviews, vol. 9, no. 5, pp. 365–380, 2005.

J. Dorrian, S. D. Baulk, and D. Dawson, “Work hours, workload, sleep and fatigue in Australian Rail Industry employees,” Applied Ergonomics, vol. 42, no. 2, pp. 202–209, 2011.

T. C. Wang and L. H. Chuang, “Psychological and physiological fatigue variation and fatigue factors in aircraft line maintenance crews,” International Journal of Industrial Ergonomics, vol. 44, pp. 107–113, 2014.

I. Berrada, J. A. Ferland, and P. Michelon, “A multi-objective approach to nurse scheduling with both hard and soft constraints,” Socio-Economic Planning Sciences, vol. 30, no. 3, pp. 183–193, 1996.

S. Kundu and S. Acharyya, “A SAT approach for solving the nurse scheduling problem,” in Proceedings of the 10th IEEE Region Conference (TENCON '08), pp. 1–6, IEEE, November 2008.

D. Kim and Y. Lee, “An algorithm for management of the shift schedule in nuclear power plants with a consideration for human factors,” in Proceedings of the 8th IEEE Conference on Human Factor and Power Plants and 13th Annual Meeting on Human Performance, Root Cause, Trending, Operating Experience, Self Assessment, pp. 297–301, August 2007.

E. L. da Silva, M. T. Schilling, and M. C. Rafaël, “Generation maintenance scheduling considering transmission constraints,” IEEE Transactions on Power Systems, vol. 15, no. 2, pp. 838–843, 2000.

R.-C. Leou, “A flexible unit maintenance scheduling considering uncertainties,” IEEE Transactions on Power Systems, vol. 16, no. 3, pp. 552–559, 2001.

N. M. Tabari, M. Pirmoradian, and S. B. Hassanpour, “Implicit enumeration based 0-1 integer programming for generation maintenance scheduling,” in Proceedings of the 8th IEEE Region International Conference on Computational Technologies in Electrical and Electronics Engineering (SIBIRCON '08), pp. 151–154, July 2008.

T. C. Wang and G. C. Ke, “Fatigue minimization workshift scheduling for air trac controllers,” International Journal of Automation and Smart Technology, vol. 3, no. 2, 2013.

S. A. Pruchnicki, L. J. Wu, and G. Belenky, “An exploration of the utility of mathematical modeling predicting fatigue from sleep/wake history and circadian phase applied in accident analysis and prevention: the crash of Comair Flight 5191,” Accident Analysis & Prevention, vol. 43, no. 3, pp. 1056–1061, 2011.

D. Dawson, Y. I. Noy, M. Härmä, T. Åkerstedt, and G. Belenky, “Modelling fatigue and the use of fatigue models in work settings,” Accident Analysis & Prevention, vol. 43, no. 2, pp. 549–564, 2011.

A. Fletcher and D. Dawson, “A quantitative model of work-related fatigue: empirical evaluations,” Ergonomics, vol. 44, no. 5, pp. 475–488, 2001.

G. Belenky, T. J. Balkin, D. Redmond et al., “Sustained performance during continuous operations: the US army's sleep management system,” in Proceedings of the 3rd International Conference on Fatigue and Transportation, Fremantle, Australia, 1998.

T. Åkerstedt and S. Folkard, “The three-process model of alertness and its extension to performance, sleep latency, and sleep length,” Chronobiology International, vol. 14, no. 2, pp. 115–123, 1997.

G. D. Roach, A. Fletcher, and D. Dawson, “A model to predict work-related fatigue based on hours of work,” Aviation, Space, and Environmental Medicine, vol. 75, no. 3, pp. A61–A69, 2004.